LoginSignup
1
0

More than 5 years have passed since last update.

AWSでEC2インスタンスを利用してNATを構築方法

Last updated at Posted at 2016-12-01

背景

既存のAWSのNAT Gateway がない時代にNATを利用したネットワーク環境が欲しいとのことなので、
構築した内容を記載します。

短くいうと

準備するもの

公式の図を参考にしつつ値を決めていく。

nat-instance-diagram.png
 

設定値を準備する

項目 備考
VPCのアドレス 10.0.0.0/16 10.0.0.1 ~ 10.0.255.255のVPC
AZ用のサブネット(a) 10.0.0.0/24 publicIPを付与するサブネ
AZ用のサブネット(a) 10.0.1.0/24 privateIPを付与するサブネ

※AZはavailabilityzoneの略称です。

VPCを作る

とりあえず適当に設定する。

vpcを作成するの内容を参考にポチポチポチっとVPCを作成する

Subnetを作る

AZ用のサブネット(a)の値を参考にしてサブネットを作成します。
今回はpublicとprivateをそれぞれ作成します。

  • publicは紐づけられたGlobalIPを使用した通信をします。
  • privateはNAT経由で外部との通信をします。

サブネットを作成する

IGWを作る

新しくIGWを作成します。
特段気にする事が無いので、ただただ作ります。

インターネットゲートウェイをアタッチする

カスタムテーブルを設定する。

作成したVPCのサブネット(public)と作成したIGWを紐付けます。
これにより、
private-subnetからの通信をpublic-subnet経由で外部と通信ができる一番外側の設定が完了します。
設定はまだまだ続きます。

パブリックサブネットにする カスタムテーブルを設定する。

NATのセキュリティグループを作成する。

NATSGと表記されている部分です。
NATのセキュリティグループを作成します。
後から変更も可能なのでとりあえず作ってみましょう。

NATSG セキュリティグループを作成する

NATインスタンスを作成する。

ドキュメントではNAT用のAMIを使用しています。
今回は標準のamazonOSから作成します。

  • EC2からamazonOSを選択肢立ち上げます。
  • ElasticIPを付与します。(GlobalIPを付与する。)
  • SSHでログイン後以下のコマンドを実行します。
### [NAT Instance]

$ /sbin/iptables -t nat -A POSTROUTING -o eth0 -s 0.0.0.0/0 -j MASQUERADE
$ /sbin/iptables-save > /etc/sysconfig/iptables
$ echo 1 > /proc/sys/net/ipv4/ip_forward && echo 0 > % /proc/sys/net/ipv4/conf/eth0/send_redirects
mkdir -p /etc/sysctl.d
$ cat <<EOF > /etc/sysctl.d/nat.conf
net.ipv4.ip_forward = 1
net.ipv4.conf.eth0.send_redirects = 0
EOF
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0