Q32 — AWS SAA-C03 第3章
第 32/65 問 | ← 第3章
Q162. ある会社が、Amazon EC2インスタンスからAmazon S3バケットへデータを移動する必要があります。この際、API呼び出しやデータのいずれもパブリックインターネット経由でルーティングされてはなりません。また、S3バケットへのデータアップロードを許可されるのは、そのEC2インスタンスのみである必要があります。これらの要件を満たすソリューションはどれですか?
- A. EC2インスタンスが配置されているサブネット内に、Amazon S3用のインターフェイスVPCエンドポイントを作成します。S3バケットにはリソースポリシーをアタッチし、EC2インスタンスのIAMロールのみがアクセスできるように設定します。
- B. EC2インスタンスが配置されている可用性ゾーンに、Amazon S3用のゲートウェイVPCエンドポイントを作成します。エンドポイントには適切なセキュリティグループをアタッチします。また、S3バケットにはリソースポリシーをアタッチし、EC2インスタンスのIAMロールのみがアクセスできるように設定します。 ✓
- C. EC2インスタンス内でnslookupコマンドを実行して、S3バケットのサービスAPIエンドポイントのプライベートIPアドレスを取得します。その後、VPCのルートテーブルにルートを追加し、EC2インスタンスがS3バケットにアクセスできるようにします。さらに、S3バケットにはリソースポリシーをアタッチし、EC2インスタンスのIAMロールのみがアクセスできるように設定します。
- D. AWSが提供するパブリックなip-ranges.jsonファイルを用いて、S3バケットのサービスAPIエンドポイントのプライベートIPアドレスを取得します。その後、VPCのルートテーブルにルートを追加し、EC2インスタンスがS3バケットにアクセスできるようにします。さらに、S3バケットにはリソースポリシーをアタッチし、EC2インスタンスのIAMロールのみがアクセスできるように設定します。
正解: B. EC2インスタンスが配置されている可用性ゾーンに、Amazon S3用のゲートウェイVPCエンドポイントを作成します。エンドポイントには適切なセキュリティグループをアタッチします。また、S3バケットにはリソースポリシーをアタッチし、EC2インスタンスのIAMロールのみがアクセスできるように設定します。
解説
Amazon EC2インスタンスからAmazon S3バケットへデータを転送する際に、API呼び出しおよびデータのいずれもパブリックインターネット経由でルーティングされないよう保証し、かつアップロード権限を当該EC2インスタンスのみに限定するには、EC2インスタンスが配置されている可用性ゾーンにAmazon S3用のゲートウェイVPCエンドポイントを作成する必要があります。このエンドポイントには適切なセキュリティグループをアタッチし、S3バケットにはEC2インスタンスのIAMロールのみを許可するリソースポリシーを適用します。したがって、正解はオプションBです。オプションAでは、Amazon S3用のインターフェイスVPCエンドポイントの作成を提案していますが、これは機能する可能性がありますが、エンドポイントのセキュリティ確保やEC2インスタンスのみへのアクセス制限のために追加の設定が必要になる場合があります。オプションCでは、nslookupコマンドを用いてS3サービスAPIエンドポイントのプライベートIPアドレスを取得しようとしていますが、これは推奨されません。プライベートIPアドレスは頻繁に変更される可能性があり、信頼性の高いソリューションとはなりません。オプションDでは、パブリックなip-ranges.jsonファイルを用いてプライベートIPアドレスを取得しようとしていますが、これもIPアドレスの頻繁な変更という点で同様に推奨されません。Amazon S3用のゲートウェイVPCエンドポイントを作成することで、EC2インスタンスとS3バケット間の通信はAWSネットワーク内に留まり、API呼び出しおよびデータのいずれもパブリックインターネットを経由しません。また、エンドポイントに適切なセキュリティグループをアタッチすることで、アクセスをEC2インスタンスに限定できます。さらに、S3バケットのリソースポリシーを活用すれば、EC2インスタンスのIAMロールのみにアクセスを許可する安全で厳密に制御されたデータ転送ソリューションを実現できます。