GCEでNATインスタンスを作ってみる
概要
GCPではexternal IPを持たないインスタンスはインターネットと通信できません。しかしDBサーバのようにセキュリティ的にexternal IPを持たせたくないけど、時々apt-getなどでソフトウェアを更新したい場合もあります。 そこで、NATインスタンスをdefault GWにして外からは直接アクセスできないけど、中からはインターネットにアクセスできる環境を作ります。
NATインスタンス構築
GUI
インスタンス内での作業
パケットフォワーディングを有効にする
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
NATの設定をする
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
ルーティング設定
GUI
Routesで新しいルーティングルールを作成
Destination IP range:0.0.0.0/0 Priority:1000 Instance tags:no-ip next-hop:specify an instance Next hop instance:gw
ファイアウォール設定
no-ipのタグ付きインスタンスからgwタグ付きのインスタンス(NATインスタンス)への通信を許可する。
GUI
Firewall rulesで新しいファイアウォールルールを作成
Source filter:instance tagsを選択 Source tags:no-ip Allowed protocols and ports:tcp:1-65535;udp:1-65535;icmp Target tags:gw
確認
no-ipのタグがついたインスタンスからinternetに向けてpingを打ったり、apt-get updateしたりして確認しましょう。