14Room

みんな泣きながらオトナになったんだ。

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したりして確認しましょう。