366-AWS SAP AWS 「理論・実践・一問道場」API GatewayのインターフェースVPCエンドポイント

 

理論

1. インターフェースVPCエンドポイント

  • インターフェースVPCエンドポイントは、VPC内からAWSサービス(API Gatewayを含む)に対してプライベートな接続を提供します。これを利用することで、インターネットを経由せず、VPC内のインスタンスから直接API Gatewayへアクセスすることが可能になります。
  • VPC内のリソースが、インターネットゲートウェイやNATゲートウェイを使わずに、AWSサービスにアクセスできるため、セキュリティを強化できます。

2. API GatewayのプライベートAPI

  • API GatewayのプライベートAPIは、特定のVPCからしかアクセスできないAPIです。通常、API Gatewayはインターネット経由でアクセスされますが、プライベートAPIでは、VPC内からのアクセスに限定されます。
  • プライベートAPIの設定には、VPCエンドポイントや、APIリソースポリシーの設定が重要です。

3. エンドポイントポリシー

  • エンドポイントポリシーは、インターフェースVPCエンドポイントにアクセスする際に使用されるIAMポリシーです。このポリシーを使って、VPCエンドポイントからアクセス可能なAWSサービスや操作を制御します。execute-api:Invokeなど、API Gatewayへのアクセスに必要なアクションを許可するポリシーを設定します。

4. プライベートDNS

  • プライベートDNSを有効にすると、VPC内からDNS名を使用してAPI Gatewayにアクセスすることができます。これにより、インターネットを経由せず、VPC内のリソースから安全にAPIにアクセスできます。
  • プライベートDNSを無効にすると、VPC内からDNS名でAPIにアクセスすることができなくなり、IPアドレスを使用して接続する必要が生じます。

5. APIリソースポリシー

  • APIリソースポリシーは、API Gatewayで設定できるアクセス制御ポリシーで、どのVPCやIPアドレス、エンドポイントからAPIにアクセスできるかを制御します。VPCからのアクセスを許可するために、適切なリソースポリシーを設定することが必要です。

6. VPCリンクとALB/NLB

  • VPCリンクは、API GatewayとVPC内のサービス(例えば、ALBやNLB)とのプライベート統合を可能にします。API Gatewayを介してVPC内のサービスにアクセスする際には、ALBやNLBを使う場合もありますが、通常、API GatewayへのアクセスはインターフェースVPCエンドポイントで行うことが推奨されます。

結論

この問題のように、VPC内からのAPI Gatewayへのプライベートアクセスを設定する際、インターフェースVPCエンドポイントの作成と、適切なAPIリソースポリシーの設定、プライベートDNSの有効化が重要です。この構成により、インターネットを経由せずにVPC内のインスタンスからAPI Gatewayへの安全なアクセスが実現できます。

実践

一問道場

問題 #366
ある会社がAmazon API Gatewayを使用して、機密データへのアクセスを提供するプライベートREST APIをデプロイしています。このAPIは、VPCにデプロイされたアプリケーションからのみアクセスできる必要があります。会社はAPIを正常にデプロイしましたが、VPCにデプロイされたAmazon EC2インスタンスからAPIにアクセスできません。
EC2インスタンスとAPI間の接続を提供するためには、どのソリューションを使用すべきでしょうか?
A. API GatewayのインターフェースVPCエンドポイントを作成します。エンドポイントポリシーを追加して、apigateway:*アクションを許可します。VPCエンドポイントに対してプライベートDNS名を無効にします。VPCからアクセスを許可するAPIリソースポリシーを設定します。VPCエンドポイントのDNS名を使用してAPIにアクセスします。
B. API GatewayのインターフェースVPCエンドポイントを作成します。エンドポイントポリシーを追加して、execute-api:Invokeアクションを許可します。VPCエンドポイントに対してプライベートDNS名を有効にします。VPCエンドポイントからアクセスを許可するAPIリソースポリシーを設定します。APIエンドポイントのDNS名を使用してAPIにアクセスします。
C. ネットワークロードバランサー(NLB)とVPCリンクを作成します。API GatewayとNLB間でプライベート統合を構成します。APIエンドポイントのDNS名を使用してAPIにアクセスします。
D. アプリケーションロードバランサー(ALB)とVPCリンクを作成します。API GatewayとALB間でプライベート統合を構成します。ALBエンドポイントのDNS名を使用してAPIにアクセスします。

解説

この問題における解説は、Amazon API GatewayとVPC間で安全に通信を行う方法についてです。要点は、EC2インスタンスからAPI GatewayのプライベートREST APIにアクセスする方法に関するものです。

解決方法: インターフェースVPCエンドポイントを使用

API GatewayのプライベートREST APIは、インターネット経由ではなく、特定のVPC内からアクセスすることが求められています。そのため、インターフェースVPCエンドポイントを使って、VPC内のリソースからAPI Gatewayにアクセスできるようにします。

各選択肢の解説:

A. インターフェースVPCエンドポイントの作成 (不正解)

  • 理由: エンドポイントポリシーでapigateway:*アクションを許可するのは、過剰に広い権限を与えることになり、セキュリティ上好ましくありません。API Gatewayへのアクセスを制限するために、より細かいポリシーを使用するべきです。
  • また、プライベートDNSを無効にすると、VPC内からAPI Gatewayのアクセスが困難になり、推奨されない方法です。

B. インターフェースVPCエンドポイントの作成 (正解)

  • 理由: execute-api:Invokeアクションを許可するエンドポイントポリシーは、API Gatewayへの正しいアクセス制御を提供します。さらに、プライベートDNSを有効にすることで、VPC内のインスタンスからAPI GatewayのDNS名で直接アクセスできるようになります。これは、APIをプライベートに安全にアクセスできる最適な方法です。
  • APIリソースポリシーで、VPCからのアクセスを許可する設定を行うことで、APIのセキュリティが確保されます。

C. ネットワークロードバランサー(NLB)とVPCリンク (不正解)

  • 理由: NLBはAPI Gatewayとの統合には適していません。NLBは通常、インスタンスやコンテナベースのサービスに対して利用されますが、API Gatewayとの統合に使用することは非推奨です。API GatewayはVPCエンドポイントを使ったアクセスをサポートしており、NLBを使う必要はありません。

D. アプリケーションロードバランサー(ALB)とVPCリンク (不正解)

  • 理由: ALBも、API GatewayのプライベートAPIにアクセスするための推奨方法ではありません。API Gatewayは、VPCエンドポイントと組み合わせて利用することが一般的です。ALBを使ってAPI Gatewayと統合するのは不適切です。

結論

正解はBです。インターフェースVPCエンドポイントを作成し、execute-api:Invokeアクションを許可し、プライベートDNSを有効にすることで、VPC内のEC2インスタンスからAPI GatewayのプライベートREST APIに安全にアクセスできるようになります。
367-AWS SAP AWS 「理論・実践・一問道場」クロスアカウントアクセス365-AWS SAP AWS 「理論・実践・一問道場」エグレス専用インターネットゲートウェイ
Loading...
minami
minami
みなみの成長 🐝
Announcement

🎉 ブログへようこそ 🎉

名前: みなみ一人会社
性別:
国籍: China 🇨🇳
政治スタンス: 民主主義支持者
完全独学で基本情報技術者をはじめ、32個の資格を仕事をしながら取得。
現在はIT会社で技術担当として働きながら、ブログ執筆や学習支援にも取り組んでいます。
独学で合格できる学習法や勉強法、試験対策を発信中!

📚 発信内容

  • 💻 IT・システム開発
  • 🏠 不動産 × 宅建士
  • 🎓 MBA 学習記録