#多分日刊IT問題
— 𝔈𝔩𝔞𝔰𝔱𝔦𝔠 𝔎𝔞𝔧𝔦 𝔖𝔢𝔯𝔳𝔦𝔠𝔢@魔人ママチャリライダー (@Anorlondo448) 2018年6月20日
VPC内に図のような構成を作り、EC2(bastion)経由でEC2(application)にSSHログインし、yum installを行ったところインターネットとの通信ができませんでした。
EC2(application)からインターネットに通信するために修正が必要な箇所はどれか?!
(つづく)
#多分日刊IT問題
— 𝔈𝔩𝔞𝔰𝔱𝔦𝔠 𝔎𝔞𝔧𝔦 𝔖𝔢𝔯𝔳𝔦𝔠𝔢@魔人ママチャリライダー (@Anorlondo448) 2018年6月21日
ご回答頂き有難う御座いました!
修正が必要な箇所は「4.NatGateway」になります。 https://t.co/JMqQKU4Zxu
問題
- VPC内に図のような構成を作り、EC2(bastion)経由でEC2(application)にSSHログインし、yum installを行ったところインターネットとの通信ができませんでした。
- EC2(application)からインターネットに通信するために修正が必要な箇所はどれか?!
構成図
選択肢
- InternetGateway
- EC2(bastion)
- ELB(CLB)
- NatGateway
解答
- 修正が必要な箇所は「4.NatGateway」になります。
解説
- 正解の構成は「NatGatewayをPublic Subnetに配置する」形になります。
- VPCの外(インターネット)と通信するためにはInternetGatewayを経由する必要があります。
- 構成図を見ると、EC2(application)はPrivate Subnetにいるため、InternetGatewayと直接通信することができません。
- (Route Tableの通信先にInternetGatewayが指定されているSubnetをPublic Subnetと呼びます)
- そのためPrivate Subnet外に通信する方法としてNatGatewayを経由する必要があります。
- ですが、この構成図だとNatGateway自体もPrivate SubnetにいるためPrivate Subnetから外にでれません。
- NatGatewayをPublic Subnetに配置し、Private SubnetのRoute TableにNatGatewayへの経路を指定するとEC2(application)→NatGateway→InternetGatewayという経路でインターネットへアクセスすることが可能になります。
- (NatGatewayはPublic SunetのRoute Tableを見てInternetGatewayを外部への通信先として認識する)
- NatGatewayをつい通信元と同じPrivate Subnetに置いてしまいがちですが、NatGatewayはPublic Subnetに配置しましょう!
構成図(正解)
まとめ
- ということで、今回も俺(とチームメンバーほぼ全員)がハマったポイントを問題にさせて頂きました。
- みなさん俺達と同じ落とし穴にはこれでもう落ちませんね!
参考リンク
- [補足]AWSのネットワーク周りは以下のスライドがわかりやすいので紹介