400-AWS SAP AWS 「理論・実践・一問道場」Amazon Neptune

 

理論

1. VPC内でのリソース配置と通信

  • AWS LambdaAmazon Neptune などのデータベースを連携させるには、Lambda 関数と Neptune DB クラスターが 同じ VPC 内 に配置されている必要があります。これにより、Lambda 関数がプライベート IP アドレスを使用して Neptune へアクセスできます。

2. VPC内でのLambdaのアクセス方法

  • Lambda 関数は VPC 内のサブネットにホストされることで、VPC 内の他のリソース(例えば Neptune DB)と通信できます。これには、Lambda 関数がサブネット内に配置され、必要な セキュリティグループ が設定されていることが前提となります。

3. セキュリティグループとネットワーク設定

  • Neptune DB クラスターや Lambda 関数にアクセスするためには、それぞれに適切な セキュリティグループ を設定する必要があります。セキュリティグループで インバウンド/アウトバウンドのルール を設定することで、特定の IP アドレスやポートに対するアクセスを許可します。

4. VPC エンドポイント

  • VPC エンドポイントを使用することで、VPC 内のリソースがインターネットを介さずに他の AWS サービス(例:DynamoDB)と通信することができます。これにより、プライベートな通信経路を確保することができます。

5. サブネットの選択

  • Lambda 関数を配置するサブネットは、プライベートサブネットである必要があります。これにより、Lambda 関数がインターネットにアクセスしない場合でも、VPC 内のリソース(Neptune DB)に安全にアクセスできます。

6. NAT ゲートウェイ

  • Lambda 関数が プライベートサブネットにホストされている場合、外部のリソース(インターネットなど)へのアクセスが必要な場合は、NAT ゲートウェイを使用します。これにより、プライベートサブネットからインターネット経由でアクセスできるようになります。

まとめ

  • Lambda 関数と Neptune DB は同じ VPC 内で配置し、適切なセキュリティグループとサブネット設定を行うことで、安全かつ効率的にデータベースにアクセスできます。

実践

一問道場

問題 #400
ある企業が、いくつかの AWS Lambda 関数と Amazon DynamoDB テーブルから構成されるサーバーレスアプリケーションを運用しています。企業は、新しい機能を作成し、その機能では Lambda 関数が Amazon Neptune DB クラスターにアクセスする必要があります。Neptune DB クラスターは VPC 内の 3 つのサブネットに配置されています。
どのソリューションが Lambda 関数が Neptune DB クラスターと DynamoDB テーブルにアクセスできるようにしますか?(2つ選択してください。)
A. Neptune VPC 内に 3 つのパブリックサブネットを作成し、インターネットゲートウェイを介してトラフィックをルーティングします。Lambda 関数を 3 つの新しいパブリックサブネットにホストします。
B. Neptune VPC 内に 3 つのプライベートサブネットを作成し、インターネットトラフィックを NAT ゲートウェイを介してルーティングします。Lambda 関数を 3 つの新しいプライベートサブネットにホストします。
C. Lambda 関数を VPC 外にホストします。Neptune のセキュリティグループを更新し、Lambda 関数の IP 範囲からのアクセスを許可します。
D. Lambda 関数を VPC 外にホストします。Neptune データベースの VPC エンドポイントを作成し、Lambda 関数が VPC エンドポイント経由で Neptune にアクセスできるようにします。
E. Neptune VPC 内に 3 つのプライベートサブネットを作成します。Lambda 関数を 3 つの新しい隔離されたサブネットにホストします。DynamoDB の VPC エンドポイントを作成し、DynamoDB トラフィックを VPC エンドポイントにルーティングします。

解説

この問題では、AWS Lambda 関数が Amazon Neptune DB クラスターと DynamoDB テーブルにアクセスできるようにするための最適なソリューションを選択する必要があります。以下は、選択肢ごとの解説です。

A. Neptune VPC 内に 3 つのパブリックサブネットを作成し、インターネットゲートウェイを介してトラフィックをルーティングします。Lambda 関数を 3 つの新しいパブリックサブネットにホストします。

  • 不正解: パブリックサブネットを作成することでインターネットアクセスが可能になりますが、Lambda 関数をインターネットに直接公開することは推奨されません。セキュリティ上の理由で、Lambda 関数は通常プライベートサブネット内で実行され、必要なリソースには VPC エンドポイントや NAT ゲートウェイを通じてアクセスします。

B. Neptune VPC 内に 3 つのプライベートサブネットを作成し、インターネットトラフィックを NAT ゲートウェイを介してルーティングします。Lambda 関数を 3 つの新しいプライベートサブネットにホストします。

  • 正解: このアプローチは、Lambda 関数を VPC 内のプライベートサブネットでホストし、必要なリソースにアクセスするために NAT ゲートウェイを使用します。これにより、Lambda 関数はインターネットにアクセスすることなく Neptune DB クラスターにアクセスできます。プライベートサブネット内で実行されるため、セキュリティが強化されます。

C. Lambda 関数を VPC 外にホストします。Neptune のセキュリティグループを更新し、Lambda 関数の IP 範囲からのアクセスを許可します。

  • 不正解: Lambda 関数を VPC 外にホストすることはできません。Lambda 関数は、VPC 内のリソースにアクセスするために VPC に接続する必要があります。セキュリティグループでアクセスを制限することはできますが、Lambda 関数が VPC 外にある場合、Neptune クラスターには接続できません。

D. Lambda 関数を VPC 外にホストします。Neptune データベースの VPC エンドポイントを作成し、Lambda 関数が VPC エンドポイント経由で Neptune にアクセスできるようにします。

  • 不正解: VPC エンドポイントは、VPC 内からのリソースへのアクセスを提供しますが、Lambda 関数を VPC 外にホストする場合、VPC エンドポイントを使用してもアクセスできません。Lambda 関数が VPC に接続されている必要があります。

E. Neptune VPC 内に 3 つのプライベートサブネットを作成します。Lambda 関数を 3 つの新しい隔離されたサブネットにホストします。DynamoDB の VPC エンドポイントを作成し、DynamoDB トラフィックを VPC エンドポイントにルーティングします。

  • 正解: Lambda 関数を VPC 内のプライベートサブネットでホストし、DynamoDB の VPC エンドポイントを作成することで、Lambda 関数がセキュアに Neptune と DynamoDB にアクセスできます。このソリューションは、セキュリティと可用性を確保しつつ、リソースに効率的にアクセスする方法です。

結論

最適な解決策は BE です。両者は、Lambda 関数をプライベートサブネットにホストし、セキュアなアクセスを提供するために VPC エンドポイントを使用する方法です。これにより、Lambda 関数が Neptune と DynamoDB にアクセスでき、セキュリティとスケーラビリティが確保されます。
402-AWS SAP AWS 「理論・実践・一問道場」Amazon WorkSpaces399-AWS SAP AWS 「理論・実践・一問道場」bridge モード
Loading...
Catalog
0%
minami
minami
みなみの成長 🐝
Announcement

🎉 ブログへようこそ 🎉

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

📚 発信内容

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

 
Catalog
0%