AWS認定資格 WEB問題集&徹底解説
CloudOpsエンジニア -アソシエイト
問題文と選択肢
これらの要件を満たすには、どうすればよいですか。
- Elastic IP アドレスを Lambda 関数にアタッチする。VPC のインターネットゲートウェイへのルートを構成する。
- Lambda 関数を、VPC の仮想プライベートゲートウェイへのルートを持つプライベートサブネットに接続する。
- Lambda 関数を、VPC のインターネットゲートウェイへのルートを持つパブリックサブネットに接続する。
- Lambda 関数を、VPC のパブリックサブネット内の NAT ゲートウェイへのルートを持つプライベートサブネットに接続する。
A. Elastic IP アドレスを Lambda 関数にアタッチする。VPC のインターネットゲートウェイへのルートを構成する。
Lambda 関数に Elastic IP アドレスを直接アタッチすることはできません。Lambda が VPC 接続時に作成する ENI は AWS が管理し、パブリック IP は割り当てられません。
そもそも存在しない操作を前提とした選択肢であり、実装不可能です。
B. Lambda 関数を、VPC の仮想プライベートゲートウェイへのルートを持つプライベートサブネットに接続する。
仮想プライベートゲートウェイ(VGW)は VPN / Direct Connect でオンプレミス環境と接続するためのゲートウェイです。
VPC 内リソースへのアクセスは満たせますが、インターネットへの出口にはならないため、インターネット経由でのみ到達できるサードパーティ API を呼び出せず、要件を半分しか満たしません。
C. Lambda 関数を、VPC のインターネットゲートウェイへのルートを持つパブリックサブネットに接続する。
直感に反しますが、VPC 接続した Lambda をパブリックサブネットに置いてもインターネットには出られません。Lambda の ENI にはパブリック IP(や Elastic IP)が付与されないため、インターネットゲートウェイへのルートがあっても送信元が戻りの通信を受け取れないからです。
インターネットゲートウェイは「パブリック IP を持つリソース」のための出口であり、Lambda には NAT が必須です。この問題の最大のひっかけです。
D. Lambda 関数を、VPC のパブリックサブネット内の NAT ゲートウェイへのルートを持つプライベートサブネットに接続する。
Lambda 関数をプライベートサブネットに接続すれば ENI 経由で VPC 内リソース(RDS 等)にアクセスでき、そのサブネットのルートテーブルで 0.0.0.0/0 をパブリックサブネット内の NAT ゲートウェイに向けることで、NAT のパブリック IP を使ってサードパーティ API にもアウトバウンド通信できます。
「VPC 内リソース」と「インターネット」の両方の要件を同時に満たす唯一の構成であり、これが正解です。
構成図
AWS Lambda(VPC 接続・プライベートサブネットの ENI)
├──────────────▶ VPC 内リソース(RDS / ElastiCache 等)
└─ 0.0.0.0/0 ─▶ NAT ゲートウェイ(パブリックサブネット)
└─▶ インターネットゲートウェイ ─▶ サードパーティ API
VPC Lambda は必ずプライベートサブネット + NAT。パブリックサブネットに置いてもパブリック IP は付かず、外に出られない。
正解への思考ルート
問題文から要件を抽出し、選択肢の適否を判断するのがポイントです。| 要件 | 判断ポイント |
|---|---|
| Lambda から VPC 内のリソースにアクセスしたい | Lambda を VPC のサブネットに接続(ENI 作成)する必要がある →選択肢(B・C・D)は候補 |
| インターネット経由でのみアクセス可能な外部 API を呼びたい | VPC 接続した Lambda の ENI にはパブリック IP が付かないため、外部へ出るには NAT ゲートウェイが必須 →選択肢(C)を消す |
| 出口が VPN / Direct Connect ではなくインターネット | 仮想プライベートゲートウェイはオンプレミス接続用で、インターネットの出口にならない →選択肢(B)を消す |
| Lambda 自体に IP を割り当てられるか | Lambda に Elastic IP を直接アタッチする機能は存在しない →選択肢(A)を消す |
| 2 つの要件を同時に満たす構成 | プライベートサブネットの Lambda + パブリックサブネットの NAT ゲートウェイが定石 →選択肢(D)が正解 |
ひっかけポイント
- 「インターネットに出たいのだからパブリックサブネットへ」は最も引っかかりやすい誤り。VPC Lambda の ENI にはパブリック IP が付かないため、IGW があっても通信は成立しない
- 選択肢 B の仮想プライベートゲートウェイは「プライベート」の語感で安全に見えるが、用途は VPN / Direct Connect。インターネットの出口という要件に無関係
- Elastic IP は EC2 / NAT ゲートウェイ / NLB に付けるもので、Lambda 関数にはアタッチできない。存在しない操作を選ばせる典型パターン
- 「Lambda を VPC に入れると VPC 外の AWS サービス(S3・DynamoDB 等)にも出られなくなる」点も頻出。NAT か VPC エンドポイントのどちらかが必要になる
出題バリエーション
同じ知識が本番では条件を変えて出題されます。| 問題文がこう変わったら | 正解はこう変わる |
|---|---|
| 「VPC 内から Amazon S3 / DynamoDB にアクセスしたい(外部 API は不要)」 | NAT ではなく ゲートウェイ型 VPC エンドポイントが正解軸に(データ転送料も抑えられる)。 |
| 「NAT ゲートウェイのデータ処理料金を削減したい」 | 対象が AWS サービスなら VPC エンドポイント(PrivateLink)への置き換えが正解に。 |
| 「Lambda が VPC 内リソースにアクセスする必要がない」 | そもそも VPC 接続しないのが正解。Lambda はデフォルトで AWS 管理の NW からインターネットに出られる。 |
| 「外部 API 側で送信元 IP をホワイトリスト登録したい」 | NAT ゲートウェイの Elastic IP(固定 IP)を送信元として申告する構成が問われる。 |
これらの要件を満たすには、どうすればよいですか。
- Elastic IP アドレスを Lambda 関数にアタッチする。VPC のインターネットゲートウェイへのルートを構成する。
- Lambda 関数を、VPC の仮想プライベートゲートウェイへのルートを持つプライベートサブネットに接続する。
- Lambda 関数を、VPC のインターネットゲートウェイへのルートを持つパブリックサブネットに接続する。
- Lambda 関数を、VPC のパブリックサブネット内の NAT ゲートウェイへのルートを持つプライベートサブネットに接続する。