Q13 — AWS DVA-C02 第2章
第 13/100 問 | ← 第2章
ある企業がAWSクラウドにインフラストラクチャを展開しました。開発チームは、Amazon Auroraデータベースからデータを取得するAWS Lambda関数を作成したいと考えています。Amazon Auroraデータベースは、同社のVPC(VPC1)内のプライベートサブネットに配置されています。データは機密性が高く、Lambda関数は安全にデータベースにアクセスする必要があります。この要件を満たす解決策はどれですか?
- A. Lambda関数を作成します。この関数をVPC1に接続するように設定します。セキュリティグループSG1をLambda関数とデータベースの両方にアタッチします。セキュリティグループのインバウンドおよびアウトバウンドルールを設定し、TCPトラフィックをポート3306で許可します。 ✓
- B. 新しいVPC(VPC2)内のパブリックサブネットにLambda関数を作成・起動します。VPC1とVPC2の間にVPCピアリング接続を作成します。
- C. Lambda関数を作成します。この関数をVPC1に接続するように設定します。セキュリティグループSG1をLambda関数に割り当てます。データベースには別のセキュリティグループSG2を割り当てます。SG1に、ポート3306からのTCPトラフィックを許可するインバウンドルールを追加します。
- D. AuroraデータベースからデータをAmazon S3にエクスポートします。VPC1内でLambda関数を作成・起動します。Lambda関数がAmazon S3からデータをクエリするように設定します。
正解: A. Lambda関数を作成します。この関数をVPC1に接続するように設定します。セキュリティグループSG1をLambda関数とデータベースの両方にアタッチします。セキュリティグループのインバウンドおよびアウトバウンドルールを設定し、TCPトラフィックをポート3306で許可します。
解説
Lambda関数をVPC1に関連付ける: Lambda関数は、プライベートサブネット内にあるAmazon Auroraデータベースに安全にアクセスできるよう、同社のVPC1内に配置する必要があります。 セキュリティグループの設定: Lambda関数のセキュリティグループSG1:このセキュリティグループは、データベースのポート3306へのTCPアウトバウンド接続を許可するように設定する必要があります。これにより、Lambda関数がデータベースとの接続を確立し、クエリ要求を送信できます。 データベースのセキュリティグループSG2:データベースのセキュリティグループは、Lambda関数のセキュリティグループSG1からのポート3306へのTCPインバウンド接続を許可するように設定する必要があります。これにより、データベースがLambda関数のクエリ要求に応答できます。 セキュリティおよびアクセス制御: セキュリティグループは、AWSにおける効果的なアクセス制御メカニズムであり、異なるリソース間のトラフィックを制限できます。Lambda関数のアウトバウンドルールは安全なデータ転送を保証し、データベースのインバウンドルールはどのリソースがデータベースにアクセスできるかを制御します。 他の選択肢が不適切な理由: 選択肢A:Lambda関数とデータベースの両方にセキュリティグループSG1を使用していますが、データベースに対するインバウンドルールの設定が欠けており、Lambda関数がデータベースへの接続を確立できない可能性があります。 選択肢C:別のVPC(VPC2)にLambda関数を作成し、VPC1とVPC2の間にピアリング接続を構築するのは複雑であり、通常、データベースへのアクセスにピアリング接続を使用することは推奨されません。これはセキュリティ面および最適化の観点から不適切です。 選択肢D:データをS3にエクスポートしてLambda関数がS3から読み取るという方法は実現可能ですが、データ転送およびストレージコストが増加し、リアルタイムデータアクセスの要件には対応できません。 したがって、総合的に判断すると、選択肢Bが、VPC1内のAmazon Auroraデータベースに安全かつ効率的にアクセスするための最適な解決策です。