NAT Gatewayは、プライベートサブネットからインターネットへの通信を実現する仕組み。
プライベートサブネット(VPC内での通信許可のみ)に作成したEC2インスタンスにて、 外側にPingを飛ばせることを確認する。
・NATゲートウェイの作成
VPCダッシュボードから、[NAT ゲートウェイ] > [NATゲートウェイの作成]
パブリックサブネット(VPC外での通信許可あり)の指定、
[新しいEIPの作成]を押して、Elastic IP を割り当てる
・ルートテーブルに送信先の追加
プライベートサブネットに関連付いているルートテーブルに送信先[0.0.0.0/0]を追加、 ターゲットは先ほど作成したNATゲートウェイを割り当て[ルートの保存]
・プライベートサブネット内にあるEC2インスタンスにて外側へpingを飛ばす
プライベートサブネット内にあるEC2インスタンスにログイン
8.8.8.8(グーグルさんのDNSサーバ)にpingが飛ぶことを確認
[ec2-user@ip-10-0-2-36 ~]$ ping 8.8.8.8 PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. 64 bytes from 8.8.8.8: icmp_seq=1 ttl=40 time=3.15 ms 64 bytes from 8.8.8.8: icmp_seq=2 ttl=40 time=2.82 ms 64 bytes from 8.8.8.8: icmp_seq=3 ttl=40 time=2.82 ms 64 bytes from 8.8.8.8: icmp_seq=4 ttl=40 time=2.79 ms 64 bytes from 8.8.8.8: icmp_seq=5 ttl=40 time=2.85 ms ^C --- 8.8.8.8 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4007ms rtt min/avg/max/mdev = 2.790/2.887/3.151/0.149 ms [ec2-user@ip-10-0-2-36 ~]$
合わせてNATゲートウェイ削除後、Pingが飛ばないことも確認
[ec2-user@ip-10-0-2-36 ~]$ ping 8.8.8.8 PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. ^C --- 8.8.8.8 ping statistics --- 7 packets transmitted, 0 received, 100% packet loss, time 6140ms [ec2-user@ip-10-0-2-36 ~]$
・NATゲートウェイ削除後はEIPの開放も行う
VPCダッシュボードから、[Elastic IP] > [アクション] > [アドレスの解放] > [解放]
EIPが残っていないことを確認、料金発生してしまうところなので要注意
AWSドキュメント(インスタンスがすべて終了しているのに Elastic IP アドレスの料金を請求されるのはなぜですか?)
NATゲートウェイ復習完了。