Google Compute Engineのファイアウォール
Google Compute Engineのファイアウォールでは各インスタンスに対して許可するINBOUNDトラフィックを設定します。ファイアウォールは明示的に許可しない限り外部から接続できないようになっています。
デフォルトのネットワーク
名前 | ソースタグまたはIP範囲 | 許可対象プロトコルまたはポート | ターゲットタグ |
---|---|---|---|
default-allow-icmp | 0. |
icmp | すべてのターゲットに適用 |
default-allow-internal | 10. |
tcp:1-65535; udp:1-65535; icmp | すべてのターゲットに適用 |
default-allow-rdp | 0. |
tcp:3389 | すべてのターゲットに適用 |
default-allow-ssh | 0. |
tcp:22 | すべてのターゲットに適用 |
ファイアウォールとして特徴的なのはターゲットタグによる指定が可能な点です。
Google Compute Engineのファイアウォールはネットワーク単位ではなくインスタンス単位で適用されるものなので、
ターゲットタグの使い方、使われ方
Developers Consoleでのインスタンス作成時に、
同時にファイアウォールにhttp-serverやhttps-serverタグをターゲットタグとした許可ルールが自動的に設定されます。
自動的に追加されるファイアウォールルールは以下のとおりです。
名前 | ソースタグまたはIP範囲 | 許可対象プロトコルまたはポート | ターゲットタグ |
---|---|---|---|
default-allow-http | 0. |
tcp:80 | http-server |
default-allow-https | 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のインスタンスで設定する場合は以下のように設定します。
Google Compute Engineのロードバランサ
Google Compute EngineのロードバランサにはHTTP負荷分散
HTTP負荷分散(HTTP Load Balancing)
HTTP負荷分散
分散方式はRPS
仕様上の特徴としてはロードバランサに対してFQDNではなくIPアドレスが設定されます。そのため特別なDNSを使わなくてもZone Apexでのアクセスにも対応することができます。
HTTPロードバランサの凄いところは、
機能面ではURLマップ機能が特徴的です。この機能を使うことで、
ネットワーク負荷分散(Network Load Balancing)
ネットワーク負荷分散
こちらもロードバランサに対してFQDNではなくIPアドレスが設定されます。URLマップ機能のような気の利いたものはないのですが、
Cloud DNS
Cloud DNSはDNSホスティングサービスです。Developers Consoleやgcloudコマンドを使ってDNSを管理できます。
以下のレコードタイプが利用できます。またワイルドカードでの指定
- A
- AAAA
- CNAME
- MX
- NAPTR
- NS
- PTR
- SOA
- SPF
- SRV
- TXT
APIベースで操作できるDNSホスティングサービスはまだ数が少ないので重宝しそうです。AWSのRoute53のようなヘルスチェックを組み合わせたGSLB
公式ブログができました!
今までGoogle for Work公式ブログ内のコンテンツとしてGoogle Cloud Platformのニュースが配信されていましたが、
ニュース、
次回は
次回はデータベース系のサービスを紹介します。MySQLサービスであるCloud SQLと、