ソロソロ来るゾ! Google Cloud Platform!

第3回 Google Compute Engineのファイアウォール,ロードバランサとCloud DNS

この記事を読むのに必要な時間:およそ 2 分

Google Compute Engineのファイアウォール

Google Compute Engineのファイアウォールでは各インスタンスに対して許可するINBOUNDトラフィックを設定します。ファイアウォールは明示的に許可しない限り外部から接続できないようになっています。

デフォルトのネットワーク(プロジェクト作成時にあらかじめ用意されているdefaultという名前の10.240.0.0/16のネットワーク)のファイアウォールルールは以下のとおりです。

デフォルトのネットワークのファイアウォールルール

名前 ソースタグまたはIP範囲 許可対象プロトコルまたはポート ターゲットタグ
default-allow-icmp 0.0.0.0/0 icmp すべてのターゲットに適用
default-allow-internal 10.240.0.0/16 tcp:1-65535; udp:1-65535; icmp すべてのターゲットに適用
default-allow-rdp 0.0.0.0/0 tcp:3389 すべてのターゲットに適用
default-allow-ssh 0.0.0.0/0 tcp:22 すべてのターゲットに適用

ファイアウォールとして特徴的なのはターゲットタグによる指定が可能な点です。

Google Compute Engineのファイアウォールはネットワーク単位ではなくインスタンス単位で適用されるものなので,インスタンス間の内部通信を明示的に許可しています。

ターゲットタグの使い方,使われ方

Developers Consoleでのインスタンス作成時に,ファイアウォール設定でHTTPトラフィックを許可するチェックを付けるとインスタンスにhttp-serverタグが付与されますHTTPSトラフィックを許可するにチェックを付けるとhttps-serverタグが付与されます)⁠

同時にファイアウォールにhttp-serverhttps-serverタグをターゲットタグとした許可ルールが自動的に設定されます。

図1 インスタンス作成画面

図1 インスタンス作成画面

図2 インスタンスにタグが付与されている様子

図2 インスタンスにタグが付与されている様子

自動的に追加されるファイアウォールルールは以下のとおりです。

自動的に追加されるファイアウォールルール

名前 ソースタグまたはIP範囲 許可対象プロトコルまたはポート ターゲットタグ
default-allow-http 0.0.0.0/0 tcp:80 http-server
default-allow-https 0.0.0.0/0 tcp:443 https-server

ターゲットタグを活用することで,管理サーバ,バッチサーバ,など意味単位でのファイアウォールルール設定ができるようになりとても便利ですね。

利用上の注意事項

明示的に通信できないトラフィックがあります。

  • Port 25(SMTP)
  • Port 465 or 587(SMTP over SSL)(Googleの特定のIPアドレス宛を除く)
  • AH,ESP,SCTP,TCP,UDP以外のプロトコル

このためインスタンスからメールを送信したい場合はSendgridなどの外部サービスを併用することになります。

また通信が確立して10分間無通信状態が継続するとファイアウォールが自動的に接続を切断します。この挙動で問題がある場合はTCPキープアライブを利用する必要があります。Linuxのインスタンスで設定する場合は以下のように設定します。

$ sudo sysctl -w net.ipv4.tcp_keepalive_time=60
$ sudo sysctl -w net.ipv4.tcp_keepalive_intvl=60
$ sudo sysctl -w net.ipv4.tcp_keepalive_probes=5

著者プロフィール

馬場俊彰(ばばとしあき)

株式会社ハートビーツ 技術統括責任者。

電気通信大学の学生時代に運用管理から業界入り。MSPベンチャーの立ち上げを手伝った後に,中堅SIerにて大手カード会社向けJavaプログラマーを経て現職。現在インフラエンジニアとして活動中。インフラエンジニア勉強会hbstudy主催。最近の興味は写真とPythonプログラミングとクラウドの活用。大好物はカレー。静岡県の清水出身。

URLhttp://heartbeats.jp/
Twitter@netmarkjp

コメント

コメントの記入