AWSでWEBサービス等を構築する際に、セキュリティ要件にのっとってWEBアプリのあるEC2やRDSを外部からアクセスできないプライベートサブネットに配置しなければいけない、という事がよくあります。
パブリックサブネットにALBを配置してWEBアプリのあるEC2と繋げればWEBサービスとしてアクセスすることは出来るようになります。

ですがこの状態だとWEBアクセス以外で外部からのアクセスは完全にできない状態になりますが、EC2から外に出る経路もないため、外部からライブラリをダウンロードしたいような時などには困ってしまいます。
そんなときに役立つのがNATゲートウェイというサービスです。
今回はNATゲートウェイを使った構成を説明してみたいと思います。
NATゲートウェイとは
NATゲートウェイとはネットワークアドレス変換 (NAT) サービスです。
NATゲートウェイを経由すると、プライベートサブネットに配置されたEC2がグローバルIPを借りてインターネットに出ることができるようになります。
NATゲートウェイを使った構成
このようにパブリックサブネットにNATゲートウェイを配置して、プライベートから外に出るときはこのNATゲートウェイを通るようにします。

NATゲートウェイの作成
VPCの左メニューから「NATゲートウェイ」をクリックし、右上の「NATゲートウェイを作成」をクリック。

NATゲートウェイの作成画面が開くので各項目を埋めていきます。
「名前」はわかりやすい名前を付けましょう
「サブネット」はこのNATゲートウェイを配置するサブネットになるので、パブリックサブネットを指定します。
「接続タイプ」にパブリックを指定します。
「Elastic IP 割り当てID」では特に指定のElastic IPがなければ「Elastic IP 割り当て」ボタンをクリックして自動で割り当てます。
全て埋めたら「NATゲートウェイを作成」をクリック

NATゲートウェイが作成出来たら、次は、プライベートサブネットから外に出るときはこのNATゲートウェイを通るようにルートテーブルに追記します。
外へ出るルートが今はルートテーブルに書かれていません。

ここに、先ほど作成したNATゲートウェイへのルートを追加します。
「ルートの編集」から編集画面に行き、「ルートの追加」で送信先0.0.0.0/0に対してNATゲートウェイを選択します。
すると先ほど作成したNATゲートウェイが選択できると思いますので、選択し、「変更を保存」

これでプライベートサブネットから外に出るときは、このNATゲートウェイを通るようになるので、プライベートサブネットからも外に出ることができるようになります。
コメント