NAT Gatewayの基本的な使い方を確認してみます。
ほぼ下記の記事の通りですが、自分で試したメモになります。
Amazon VPCにNAT Gatewayが追加されたので試してみた

構成図

構成は以下の通りです。

diagram-natgateway

AWS構成

VPC

サブネットなどの構成やCIDRは構成図の通りです。Route Tableはそれぞれサブネット毎に分けます。

  • Public Subnet
    • Route Table-1
      • 192.168.0.0/16 local
      • 0.0.0.0/0 Internet Gataway
  • Private Subnet
    • Route Table-2
      • 192.168.0.0/16 local
      • 0.0.0.0/0 NAT Gateway
  • NAT Gateway
    • Public Subnetに作成
    • EIPを付与

EC2

  • Public Subnetの踏み台インスンタンスにEIPを付与
    • セキュリティグループでSSHするIPだけアクセス許可
  • Private Subnet
    • プライベートIPのみ
    • セキュリティグループで踏み台インスタンスからのSSHアクセスを許可

手順

VPCやサブネットの作成は省略します。

NAT Gatewayの作成

VPCの画面から作成します。

01-makenatgw

サブネットはPublic用のSubnetを指定します。EIPは新規に割り当てました。

02-sabneteip

これで下記のように作成できます。プライベートIPがPublic Subnet(192.168.1.0/24)のものになっていますね。

03-natgw

NAT Gateway作成時の注意点

NAT Gatewayをマネジメントコンソールから作成する時は、事前にInternet Gatewayを対象VPCに作成しておきます。
もしInternet Gatewayが無いと、NAT Gatewayの作成が失敗します。

08-failmakenatgw

ルートテーブルの設定

次にルートテーブルを作成します。サブネット毎にルーティングが変わるので、ルートテーブルはPrivate Subnet(NAT Gateway)用とPublic Subnet(踏み台アクセス)用の2つに分けます。

まず、Private Subnet用のルートテーブルを作成します。ルートは下記の通り、0.0.0.0/0をNAT Gatewayに向けるようにします。

04-privateroute

関連付けるサブネットはPrivate Subnet(192.168.2.0/24)になります。

05-associateprivatesub

次に、Public Subnet用のルートテーブルを作成します。ルートは今度は0.0.0.0/0をInternet Gatewayに向けます。

06-publicroute

関連付けるサブネットはPublic Subnet(192.168.1.0/24)になります。

07-associatepublicsub

確認

踏み台サーバ経由でPrivate Subnetのサーバにログインして確認してみます。
下記のように、NAT GatewayのEIPが返ってくることを確認します。

[ec2-user@ip-192-168-2-188 ~]$ curl ifconfig.io
13.112.xx.xxx

最後に

NATインスタンスを別途作成する必要がなくなったので、NATサーバを運用する必要がなくなって便利ですね。
普通のNATインスタンスと同様、プライベートIPしか持っていないサーバでもyumコマンドなどが使えます。

関連記事:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です