新規VPC内のEC2をインターネットに繋ぐ
これまでデフォルトVPCを利用したり、既にインフラエンジニアが作成してくれたVPCを利用してきており、 新しくVPC作ってインターネットに繋がるように設定したことがなかったので、自分で手を動かしてやっておく。
今まではこのようなチュートリアル的な内容はやるだけやって満足していたが、世に似たような記事が溢れているので記事を書くことをためらっていたが、 やるだけだと数ヶ月離れると全て忘れてしまうので、自分のために記事に起こして、思い出し工数を少しでも下げてみようという試みから残しておくことにする。
デフォルトVPCを使わず、新規VPCからインターネットに繋がるEC2を立てる手順
ちなみにデフォルトVPCは、AWSアカウントに付いてくるいい感じの設定のVPCであり、新しくVPCをデフォルト設定のまま作成したものとは別物。
① VPCおよびサブネット作成.
② インターネットゲートウェイ(IG)作成.
③ 作成したIGをサブネットに紐付け.
④ IGをサブネットに紐づけるだけではインターネットに繋がらず、以下のどちらかでルートテーブルに追加する必要がある.
④ -A 作成したVPCにデフォルトで付いてくるメインルートテーブル の設定を編集して作成したインターネットゲートウェイ用のレコードを追加する.
④ -B ルートテーブルを新規で作成して、 作成したVPCに紐づけ & ルートテーブルの設定を編集してレコード追加.
⑤ EC2インスタンスを作成したVPC上、 自動割り当てパブリック IP: 有効
として作成.
作成したEC2にsshできればOK。EC2の中からcurlでgoogleとかを叩けば繋がることも確認できる。
メインルートテーブル
VPCを作成すると自動的に作成されるもので、明示的にルートテーブルに紐づけていないサブネットは、このメインルートテーブルに自動的に紐づけられる。