AWS: NAT Instance2

NAT Instanceを作成してPrivateなサブネットのEC2インスタンスからhttp(s)の通信を行ってみる。

まずはPublic(172.31.0.0/24)とPrivate(172.31.1.0/24)のサブネットを作成する。

Publicサブネットの作成
Privateサブネットの作成

この時点ではどちらもルーティングテーブルがデフォルトなのであとで変更をする。

続いてネットワークACLを作成する。ステートレスなのでsshやrdpを制御しておけば良いと思うが、今回は試験的な面もあり細かめに設定する。まずはPublic用の設定から。

PublicのサブネットはPrivateのサブネットから通信が来ることを意識しておく。また、EC2インスタンスコネクトでssh接続ができるようにしておく
アウトバウンドもインバウンドと同様にPrivateのサブネットとの通信やEC2インスタンスコネクトの設定を忘れずに行っておく

続いてPrivate用の設定を行う。

privateはpublicからssh接続が行えるようにしておく
アウトバウンドの設定も同様に行う。細かな制御はSecurityGroupで行うので全許可でも良いと思う

セキュリティグループも同様に設定する。こちらはステートフルなのでネットワークACLよりも設定しやすい。インスタンスの通信要件に合わせて設定する。通信ソースにそれぞれのセキュリティグループを使用するので交互に設定が必要。次はPublicなセグメントに配置するNAT Instance向けのもの。

EC2インスタンスコネクトでのssh接続とPrivateに配置するインスタンスからの通信転送用を設定する
Privateに配置するインスタンスへのssh接続とinternetへのhttp(s), DNSを設定する

続いてPrivateに配置するインスタンス用のセキュリティグループ

インバウンドはpublicのNAT Instanceからssh接続ができるように設定する。先にNAT Instance用のSGを作ってから設定が必要。
internetにhttp(s)とDNSで通信できるようにしておく

作成したネットワークACLをサブネットに関連付けておく。

publicのサブネットにpublic用のネットワークACLを設定する
privateのサブネットにprivate用のネットワークACLを設定する

次回はEC2インスタンスの作成・設定とルートテーブルの作成、設定になる予定