GCE VMインスタンスの「ネットワークタグ」は何を設定するの?

Google Cloud
スポンサーリンク

Google CloudのCompute Engine(GCE)のVMインスタンスには「ネットワークタグ」という設定項目があります。これは、VPCファイアウォールルール(またはネットワークルート)を特定のVMインスタンスに限定するときに使います。そのような要件がなければ設定しなくてもOKです。以下、詳しく解説していきます。

疑問

GCEのVMインスタンスで、下の「ネットワークタグ」って何だ?

設定しないとまずいのだろうか?

説明

ネットワークタグは、VPCファイアウォールルール(またはネットワークルート)を、特定のVMインスタンスに限定するときに使います。下の図は、その具体例です。

この例では、VMインスタンス1は外部向けにタイムサービスを公開していて、インターネット側からNTPトラフィック(UDP ポート123の通信)を受け付ける必要があるとします。

大前提として、外部からの通信は基本的にファイアウォールにより拒否されます。そのためファイアウォールで「UDP ポート123の受信を許可する」ルールを追加します。しかし、他のVMインスタンス(VMインスタンス2)では許可する必要はなく、セキュリティ上不要な通信は通したくありません。

これを実現するために、ファイアウォールルールでは「 ntp-server タグが付いたインスタンスにのみ」と指定します。そしてVMインスタンス1にのみ、ネットワークタグ ntp-server を付加します。タグの名称は、任意の文字列を指定可能です。

こうすることでインターネット側からのUDP ポート123の通信は、VMインスタンス1では許可、VMインスタンス2では拒否することができます。ちなみにネットワークタグはこのような用途の他、ネットワークルートの制御でも使われますが、本記事では触れません。

このような外部からの受信許可が必要なければ、ネットワークタグを空欄としてOKです。後で必要になった場合、VMインスタンスを起動したままネットワークタグを追加できます

HTTP/HTTPSは専用のチェックボックスをONにするだけ

ここではNTPトラフィックの例で説明しましたが、よく使われるHTTP/HTTPSトラフィック(TCP ポート80,443)の場合はもっと簡単です。下の赤枠のチェックボックスをONにするだけで実現できます。詳細は後述します。

使用例

前項の例(NTPトラフィック受信)を、実際にGoogle Cloudのコンソールで設定してみましょう。

必要なVMインスタンスやVPCネットワークは既に作成済みとします。ここでは先にファイアウォールルールを定義し、次にVMインスタンスに対してネットワークタグを設定します。この順番は逆でも問題ありません。

ファイアウォールルールの設定

Cloud Consoleのメニューで[VPCネットワーク]>[ファイアウォール]を開き、「ファイアウォールルールの作成」を選択します。

下の赤枠部分のように、「ターゲット」は「指定されたターゲットタグ」とし、「ターゲットタグ」にはネットワークタグとして任意の文字列を入力します。ここでは「ntp-server」とします。ところで、「ターゲットタグ」と「ネットワークタグ」、紛らわしいので呼称を統一して欲しいですね。

他には、受信許可するポート番号として、ここではUDPのポート123を指定します。送信元IPv4範囲は、今回は「0.0.0.0/0」(全てのIPアドレス範囲)を指定します。

適用すると、ファイアウォールの設定画面に次のルールが追加されたことが確認できます。

GCE VMインスタンスの設定

VMインスタンスに対し、前項で設定したターゲットタグ(ネットワークタグ)を設定します。Cloud Consoleのメニューで[Compute Engine]>[VMインスタンス]から、対象のVMインスタンス(NTPトラフィックを受信許可するVM)を選択し、「編集」を選択します。

設定項目の「ネットワークタグ」で、前項のファイアウォールルールに対応するネットワークタグ ntp-server を指定します。

他のVMインスタンスではネットワークタグを指定しません。こうすることでVMインスタンス1のみ、外部からのNTPトラフィックが受信可能になります。

「タグ」と「ネットワークタグ」は別物

VMインスタンスの編集画面に、下の「タグ」という設定項目があります。これは「ネットワークタグ」は別物です。

こちらの「タグ」は、リソースの識別や整理をするほか、“ファイアウォールポリシー”の制御に使う用途もあります。名前も用途も似ているため混同しやすいので注意が必要です。本記事では「ネットワークタグ」に限定して解説しています。

こちらの「タグ」の詳細はGoogle Cloud公式ドキュメントを参照して下さい。

HTTP/HTTPSの場合

前項ではNTPの例で紹介しましたが、ケースとしてはWebサービスのHTTP/HTTPSを許可する方が多いと思います。

HTTP/HTTPSの場合は、下の「Allow HTTP traffic」「Allow HTTPS traffic」のチェックボックスをONにするだけで、同様のことが実現できます。

上のようにチェックボックスをONにすると、自動的に対応するネットワークタグ http-server https-server が付加されます。

設定を確定すると、VPC ファイアウォールの設定に以下のルールが自動的に追加されます。

これにより、前述のチェックボックスをONにしたVMインスタンスのみ、外部からのHTTP/HTTPSトラフィックが受信可能になります。

HTTP/HTTPS通信はVMインスタンス個別に許可するケースが多いため、簡単にファイアウォールルールの設定ができるようになっているわけですね。

参考URL

ネットワーク タグを追加する  |  VPC  |  Google Cloud

おわりに

今回の記事は以上です。

当サイトでは、ITインフラ関連の知識やノウハウをメインに紹介しています。下の関連記事にも役立つ情報があるかもしれませんので、ぜひご覧下さい。

また、知識やノウハウを効率的に学ぶ方法として、Udemy の「ながらセミナーもおすすめです。三日坊主にならず、普段の生活の中でスキルアップする方法です。これについては下の記事で紹介していますので、良ければご覧下さい。

もとだて
もとだて

最後まで読んでいただき、ありがとうございました。

フィードバック

コメント

タイトルとURLをコピーしました