Cloud Load Balancer(CLB)を作成すると、CLBのセキュリティグループを設定してパブリックネットワークのトラフィックを分離することができるようになります。ここではさまざまな方式のCLBセキュリティグループの設定方法についてご説明します。
使用制限
各CLBにつき、最大5つまでのセキュリティグループをバインドできます。
CLBの各セキュリティグループのルール数は最大512個です。
基幹ネットワークのプライベートネットワークCLBはセキュリティグループのバインドをサポートしていません。プライベートネットワークCLBにAnycast EIPをバインドした場合、プライベートネットワークCLBにバインドしたセキュリティグループは有効になりません。 基幹ネットワークのCLBは、セキュリティグループのデフォルト許可機能をサポートしていません。
背景情報
セキュリティグループとは一種の仮想ファイアウォールであり、ステートフルなデータパケットフィルタリング機能を有し、インスタンスレベルでのアウトバウンドおよびインバウンドトラフィックを制御します。詳細については、セキュリティグループの概要をご参照ください。 CLBセキュリティグループはCLBインスタンスにバインドするセキュリティグループであり、CVMセキュリティグループはCVMにバインドするセキュリティグループです。両者は制限の対象が異なります。CLBのセキュリティグループの設定には主に次の2種類の方式があります。
説明:
デフォルトの状態では、IPv4 CLB、NAT64セキュリティグループのデフォルト許可は無効になっています。コンソールで有効化/無効化を行うことができます。
デフォルトの状態では、IPv6 CLBセキュリティグループのデフォルト許可は有効になっており、無効化はできません。
セキュリティグループのデフォルト許可を有効にする
セキュリティグループのデフォルト許可を有効にすると、次のようになります。
固定のClient IPからのアクセスを指定したい場合、CLBセキュリティグループはClient IPとリスニングポートを許可する必要があり、バックエンドCVMのセキュリティグループはClient IPとサービスポートを許可する必要はありません。CLBからのアクセストラフィックはCLBのセキュリティグループのみを通過させればよく、バックエンドCVMはCLBからのトラフィックをデフォルトで許可します。バックエンドCVMはポートを外部に公開する必要はありません。
パブリックIP(一般的なパブリックIPとEIPを含む)からのトラフィックは、CVMのセキュリティグループを通過する必要があります。
CLBインスタンスにセキュリティグループを設定しない場合は、すべてのトラフィックが許可されます。CLBインスタンスのVIP上では、リスナーを設定したポートのみがアクセス可能なため、リスニングポートはすべてのIPのトラフィックを許可します。
あるClient IPからのトラフィックを拒否したい場合は、CLBのセキュリティグループでアクセスを拒否する必要があります。あるIPからのアクセスをCVMのセキュリティグループで拒否しても、CLBからのトラフィックに対しては有効にならず、パブリックIP(一般的なパブリックIPとEIPを含む)からのトラフィックに対してのみ有効になります。
セキュリティグループのデフォルト許可を無効にする
セキュリティグループのデフォルト許可を無効にすると、次のようになります。
固定のClient IPからのアクセスを指定したい場合、CLBセキュリティグループはClient IPとリスニングポートを許可する必要があり、バックエンドCVMのセキュリティグループもClient IPとサービスポートを許可する必要があります。すなわち、CLBを通過する業務トラフィックはCLBセキュリティグループとCVMセキュリティグループによる二重のチェックを受けることになります。
パブリックIP(一般的なパブリックIPとEIPを含む)からのトラフィックは、CVMのセキュリティグループを通過する必要があります。
CLBインスタンスにセキュリティグループを設定しない場合は、CVMセキュリティグループを通過したトラフィックのみを許可します。
あるClient IPからのトラフィックを拒否したい場合は、CLBかCVMのいずれかのセキュリティグループでアクセスを拒否することができます。
セキュリティグループのデフォルト許可を無効にしている場合は、ヘルスチェック機能を保障するため、CVMセキュリティグループに次の設定を行う必要があります。
1. パブリックネットワークCLBの設定
バックエンドCVMのセキュリティグループでCLBのVIPを許可する必要がある場合、CLBはVIPを使用してバックエンドCVMのヘルスステータスをチェックします。
2. プライベートネットワークCLBの設定
プライベートネットワークCLB(旧「アプリケーション型プライベートネットワークCLB」)については、CLBがVPCネットワークにある場合、 バックエンドCVMのセキュリティグループ上でCLBのVIP(ヘルスチェック用)を開放する必要があります。CLBが基幹ネットワークにある場合は、バックエンドCVMのセキュリティグループ上で設定を行う必要はなく、ヘルスチェックIPがデフォルトで開放されています。
操作手順
パブリックネットワークCLBのセキュリティグループ設定の例を次に示します。CLBではあらかじめ80番ポートからのインバウンド業務トラフィックのみを許可し、CVMの8080番ポートからサービスを提供するようにし、なおかつClient IPは制限せず、任意のIPからのアクセスをサポートしています。
ご注意:
この例ではパブリックネットワークCLBを使用しており、バックエンドCVMのセキュリティグループでCLBのVIPを許可してヘルスチェックを行う必要があります。現在の0.0.0.0/0は任意のIPを意味し、CLBのVIPも含まれます。
ステップ1:CLBおよびリスナーの作成とCVMのバインド
詳細については、CLBクイックスタートをご参照ください。今回はHTTP:80リスナーを作成し、バックエンドCVMにバインドします。バックエンドCVMのサービスポートは8080です。
ステップ2:CLBセキュリティグループの設定
1. CLBセキュリティグループルールの設定 セキュリティグループコンソール 上でセキュリティグループルールを設定します。インバウンドルールですべてのIP(すなわち0.0.0.0/0)の80番ポートを許可し、その他のポートからのトラフィックを拒否します。 説明:
セキュリティグループルールは上から下の順にフィルタリングされて有効になるため、以前に設定した許可ルールが適用されると、その他のルールはデフォルトで拒否されますので、設定の順序に注意してください。詳細については、セキュリティグループルールの説明 をご参照ください。 セキュリティグループにはインバウンドルールとアウトバウンドルールがあり、上記の設定によって制限されるのはインバウンドトラフィックです。このため、設定はすべてインバウンドルールの設定であり、アウトバウンドルールは特に設定する必要はありません。
2. セキュリティグループのCLBへのバインド
2.1 CLBコンソールにログインします。
2.2 「インスタンス管理」ページで目的のCLBインスタンスを見つけ、インスタンスIDをクリックします。
2.3 インスタンス詳細ページで、【セキュリティグループ】タブをクリックし、「バインド済みのセキュリティグループ」モジュールで【バインド】をクリックします。
2.4 ポップアップした「セキュリティグループの設定」ウィンドウで、CLB上にバインドするセキュリティグループを選択し、【OK】をクリックします。 CLBセキュリティグループの設定が完了しました。CLBにアクセスするトラフィックは、80番ポートからのアクセスのみ許可されます。
ステップ3:セキュリティグループのデフォルト許可の設定
セキュリティグループのデフォルト許可は有効か無効かを選択することができます。それぞれを選択した場合の設定は次のようになります。
方法1:セキュリティグループのデフォルト許可を有効にした場合、バックエンドCVMはポートを外部に公開する必要はありません。
説明:
基幹ネットワークのCLBは、セキュリティグループのデフォルト許可機能をサポートしていません。
方法2:セキュリティグループのデフォルト許可を無効にした場合は、CVMのセキュリティグループでもClient IPを開放する必要があります(この例では0.0.0.0/0)。
方法1:セキュリティグループのデフォルト許可を有効にする
2. 「インスタンス管理」ページで目的のCLBインスタンスを見つけ、インスタンスIDをクリックします。
3. インスタンス詳細ページで【セキュリティグループ】タブをクリックします。
4. 「セキュリティグループ」ページでをクリックし、デフォルト許可を有効化します。 5. デフォルト許可機能を有効化すると、次のルールプレビューにあるセキュリティグループルールのみを検証します。
方法2:セキュリティグループのデフォルト許可を無効にする
デフォルト許可を無効化する場合は、CVMのセキュリティグループ上でもClient IPを許可する必要があります。CLBを介してCVMにアクセスする業務トラフィックは、CLBの80番ポートからのインバウンドのみを許可し、サービスはCVMの8080番ポートから提供されます。
説明:
あるClient IPからのトラフィックを許可するには、CLBとCVMの両方のセキュリティグループで許可する必要があります。CLBにセキュリティグループを設定していない場合は、CVM上のセキュリティグループの許可だけが必要です。
1. CVMセキュリティグループルールの設定
バックエンドCVMへのアクセストラフィックについて、CVMセキュリティグループを設定することで、サービスポートからのアクセスのみを許可するよう制限します。
セキュリティグループコンソール上でセキュリティグループポリシーを設定し、インバウンドルールですべてのIPの8080番ポートを許可します。リモートログインホストおよびPingサービスを保障するため、セキュリティグループでは22、3389およびICMPサービスを許可する必要があります。 2. セキュリティグループのCVMへのバインド
2.1 CVMコンソールで、CLBにバインドされたCVMのIDをクリックし、詳細ページに進みます。
2.2 【セキュリティグループ】タブを選択し、「バインド済みのセキュリティグループ」モジュールで【バインド】をクリックします。
2.3 ポップアップした「セキュリティグループの設定」ウィンドウで、CVM上にバインドするセキュリティグループを選択し、【OK】をクリックします。