Q61 — AWS SAA-C03 第17章
第 61/89 問 | ← 第17章
Q1361. ある企業が、AWS Lambda関数を使用するデータ処理アプリケーションを構築しています。このアプリケーションのLambda関数は、同一AWSアカウント内のVPCにデプロイされたAmazon RDS DBインスタンスと通信する必要があります。これらの要件を、最も安全な方法で満たす解決策はどれですか?
- A. DBインスタンスをパブリックアクセスを許可するように設定します。DBインスタンスのセキュリティグループを更新し、該当AWSリージョンのLambdaのパブリックIPアドレス範囲からのアクセスを許可します。
- B. Lambda関数をVPC内にデプロイします。Lambda関数が配置されるサブネットにネットワークACL(NACL)をアタッチし、アウトバウンドルールでVPCのCIDR範囲のみへのアクセスを許可します。DBインスタンスのセキュリティグループを更新し、0.0.0.0/0からのトラフィックを許可します。
- C. Lambda関数をVPC内にデプロイします。Lambda関数にセキュリティグループをアタッチし、アウトバウンドルールでVPCのCIDR範囲へのアクセスのみを許可します。DBインスタンスのセキュリティグループを更新し、Lambda関数のセキュリティグループからのトラフィックのみを許可します。 ✓
- D. LambdaのデフォルトVPCとDBインスタンスをホストするVPCをピアリングして、セキュリティグループを必要とせずに直接ネットワークアクセスを可能にします。
正解: C. Lambda関数をVPC内にデプロイします。Lambda関数にセキュリティグループをアタッチし、アウトバウンドルールでVPCのCIDR範囲へのアクセスのみを許可します。DBインスタンスのセキュリティグループを更新し、Lambda関数のセキュリティグループからのトラフィックのみを許可します。
解説
正解はCです。Lambda関数をVPC内にデプロイし、Lambda関数にセキュリティグループをアタッチしてアウトバウンドアクセスをVPCのCIDR範囲に限定し、DBインスタンスのセキュリティグループを更新してLambda関数のセキュリティグループからのみトラフィックを受け入れるようにします。 解説: 企業は、VPC内に配置されたAmazon RDS DBインスタンスと通信するAWS Lambda関数を安全に実行する必要があります。この解決策は以下の条件を満たさなければなりません: ・RDSインスタンスへのアクセスを制限し(インターネットへの公開を回避)、 ・最小権限の原則に従い(必要なトラフィックのみを許可)、 ・VPCのセキュリティ機構(セキュリティグループ、サブネットなど)を活用すること。 なぜ選択肢Cが最適か: ・Lambda関数をVPC内にデプロイすることで、RDSへのプライベートネットワーク経由のアクセスが可能になり、インターネットを介した通信を回避できます。また、DBインスタンスのインターネット公開も不要になります。 ・Lambda関数にセキュリティグループを割り当て、アウトバウンドトラフィックをRDSが存在するVPCのCIDR範囲に限定することで、最小権限の原則が適用されます(不必要な広範なアクセスを防ぎます)。 ・RDSインスタンスのセキュリティグループを、Lambda関数のセキュリティグループからのみのインバウンドトラフィックを許可するように設定することで、認証済みのLambda関数からのみDBへのアクセスが可能となり、セキュリティが強化されます。 他の選択肢が不適切な理由: A:RDSをパブリックアクセス可能にし、LambdaのパブリックIP範囲からのアクセスを許可する方法は、極めて危険です。RDSインスタンスがインターネットに公開され、不正アクセスや侵害のリスクが高まります。また、VPC内のリソースへアクセスする際にLambdaがパブリックIPを利用する必要はありません。 B:LambdaをVPC内にデプロイするのは適切ですが、ネットワークACL(NACL)はステートレスであり、細かい制御が困難です。セキュリティグループの方が粒度の細かいアクセス制御に適しています。さらに、RDSのセキュリティグループを0.0.0.0/0に開放するのは重大なセキュリティリスクであり、あらゆるIPアドレスからの接続を許可することになります。 D:Lambdaには「デフォルトVPC」という概念は存在しません。Lambda関数は状態を持たず、明示的に設定しない限りVPC外で実行されます。また、VPCピアリングは不要です。Lambda関数を同じVPC内にデプロイすれば、RDSに直接アクセスできます。 比較表: | 選択肢 | RDSの公開状態(セキュリティ) | 最小権限によるアクセス制御 | 適用場面 | |--------|-----------------------------|--------------------------|----------| | C | プライベートアクセス | セキュリティグループ+CIDR制限 | 安全なLambda-RDS連携 | | A | パブリックアクセス | LambdaのパブリックIP範囲開放 | 絶対に推奨されない | | B | プライベートアクセス | NACL+RDSが世界に開放 | 不適切に広範なアクセス許可 | | D | 設定ミスによるVPCピアリング | 適切なセキュリティ制御なし | 適用不可 | 結論: 選択肢Cは、以下の点から最も安全かつコンプライアンスに適合した解決策です: ・Lambda関数がVPC内で実行されるため、インターネットへの露出がありません; ・セキュリティグループにより最小権限が実現され、許可されたトラフィックのみが通過します; ・不要なVPCピアリングやNACLの使用を避け、シンプルかつ堅牢な構成となります。 選択肢A、B、Dはいずれもセキュリティリスクや誤った構成を含むため、避けるべきです。 最終的な正解:C