NATgatewayをやめて踏み台兼NATインスタンスにした話

どの資料見てもよくわからなかったので自分なりに試行錯誤していた。

ポイントは恐らくVPCの設定でNATが乗っているpublic以外のsubnetをnatインスタンスにすることだと思った。

 

  •  EC2
    • インスタンスの作成
    • ステップ1
      • コミュニティAMIからamzn-ami-vpc-natを検索
      • 一番上にあるAMIを選択
    • ステップ2
      • 適当に2.nanoとかを選択
    • ステップ3
      • public subnetを選択
    • ステップ4
      • そのままでOK
    • ステップ 5
      • そのままでOK
    • ステップ6
      • セキュリティのために
        • SSH 10.0.0.0/16だけ許可(適宜自分の環境に読み替えること)
        • 自宅のIPを許可
    • ステップ7
    • そのまま作成
    • キーペアを選択してインスタンスを作成
  • EC2の画面に戻る
    • メニューのインスタンスからnameにnat-awsとかわかり易い名前を入れる
    • メニューからElasticIPを選択
      • 新しいIPの割当
      • 作成したIPを選択
      • アドレスの関連付でnat-awsを選択
      • あとでわかりやすいようにnat-instance等名前を選択
  • 再びインスタンスメニューに戻る
    • nat-awsを選択してアクションを選択
      • ネットワーキングを選択
      • 送信元/送信先のチェック
      • はい、無効化する
  • セキュリティグループメニュー
    •  nat-awsに設定されているセキュリティグループを選択
      • http,httpsの10.0.0.0/16を許可(privateネットワークのIPレンジを適当に)
  • VPC画面に戻る
    • ルートテーブルを選択
    • subnetに対してチェックを入れ、ルートで0.0.0.0/0のnat-awsを追加
    • この時、踏み台をおいているpublic subnetはdefault-gwを選択していないとネットワークに繋がらなくなる
  • ansible回すためにNATに入って
    • sudo yum install python
  • 適宜ansibleを実行して初期構築する
  • 各インスタンスでcurl inet-ip.infoとか打ってIPがNATのものになっていることを確認
  • 注意点としてはnatが乗っているpublic subnetのルートテーブルをnatインスタンスにするとネットワークが全滅した。
  • なのでnatが乗っているpublic subnetはdefault gatewayのままにしておく

コメントを残す