Q60 — AWS SAP-C02 第2章
第 60/75 問 | ← 第2章
Q210. ある会社がAWSクラウド上でアプリケーションを実行しています。このアプリケーションは、複数の可用性ゾーンにまたがるAmazon EC2インスタンスのフリート上で動作するマイクロサービスで構成されており、それらはApplication Load Balancerの後ろに配置されています。同社は最近、Amazon API Gatewayで実装された新しいREST APIを追加しました。この新しいAPIを、EC2インスタンス上で実行される従来のマイクロサービスの一部から呼び出す必要があります。ただし、同社はこのAPIをパブリックインターネットからアクセス可能にしたくなく、機密データがパブリックインターネットを経由して送信されることも望んでいません。
- A. VPCとAPI Gatewayの間にAWS Site-to-Site VPN接続を作成し、API Gatewayで各マイクロサービスごとに一意のAPIキーを生成します。APIメソッドを設定して、このキーの使用を必須とします。
- B. API Gateway向けのインターフェースVPCエンドポイントを作成し、特定のAPIへのアクセスのみを許可するエンドポイントポリシーを設定します。さらに、API GatewayにVPCエンドポイントからのみアクセスを許可するリソースポリシーを追加し、API Gatewayのエンドポイントタイプを「プライベート」に変更します。 ✓
- C. API GatewayをIAM認証を使用するように変更し、EC2インスタンスに割り当てられたIAMロールのIAMポリシーを更新してAPI Gatewayへのアクセスを許可します。API Gatewayを新しいVPC内に移動させ、Transit GatewayをデプロイしてVPC間を接続します。
- D. AWS Global Acceleratorでアクセラレータを作成し、そのアクセラレータをAPI Gatewayに接続します。すべてのVPCサブネットのルートテーブルを更新し、作成されたGlobal AcceleratorエンドポイントのIPアドレスへのルートを追加します。各サービスが認証に使用するAPIキーを追加します。
正解: B. API Gateway向けのインターフェースVPCエンドポイントを作成し、特定のAPIへのアクセスのみを許可するエンドポイントポリシーを設定します。さらに、API GatewayにVPCエンドポイントからのみアクセスを許可するリソースポリシーを追加し、API Gatewayのエンドポイントタイプを「プライベート」に変更します。
解説
選択肢Aは、VPCとAPI Gateway間にAWS Site-to-Site VPN接続を確立し、各マイクロサービスに対して一意のAPIキーを生成するという提案ですが、これは過剰な複雑さとオーバーヘッドを伴い、各マイクロサービスに個別のキーを管理する必要があるため非効率です。 選択肢Cは、API GatewayをIAM認証に対応させ、EC2インスタンスに割り当てられたIAMロールのポリシーを更新するという提案ですが、これにはIAMロールおよびポリシーの追加管理が必要であり、またAPIをパブリックインターネットから完全に隔離するという要件には対応していません。 選択肢Dは、AWS Global Acceleratorでアクセラレータを作成し、各サービスにAPIキーを設定するという提案ですが、これではAPIがパブリックインターネットからアクセス可能になるリスクを排除できず、要件を満たしません。 したがって、選択肢Bが最も適切な解決策です。API Gateway向けのインターフェースVPCエンドポイントを作成することで、EC2インスタンスはパブリックインターネットやNATゲートウェイを経由することなく、安全に新しいREST APIにアクセスできます。エンドポイントポリシーにより特定のAPIへのアクセスのみを許可し、API GatewayのリソースポリシーでVPCエンドポイントからのアクセスのみを制限することで、セキュリティを強化できます。さらに、API Gatewayのエンドポイントタイプを「プライベート」に変更すれば、パブリックインターネットからのアクセスを完全に防止できます。これらの措置により、EC2上で実行されるマイクロサービスが、安全かつ効率的にAmazon API Gatewayで実装された新しいREST APIを利用できるようになります。