ネットワーク・ロード・バランサーとセキュリティー・グループの統合
IBM Cloud® Network Load Balancer for VPC (NLB) を使用すると、 セキュリティー・グループ を接続してアプリケーションのセキュリティーを強化できます。
以下の情報は、プライベート パス ネットワーク ロード バランサーには適用されません。
セキュリティグループは、NLBインスタンスを保護する便利な方法です。 ロードバランサーにセキュリティグループを追加すると、ロードバランサーのリスナーとターゲットへのインバウンドおよびアウトバウンドのトラフィックを完全に制御することができます。 IPアドレスやCIDR範囲を使用してロードバランサーを特定する代わりに、ターゲットはロードバランサーのセキュリティグループを自身のセキュリティグループ定義のソースとして使用することができます。 これにより、すべてのロードバランサーアプライアンスからのトラフィックが、IPアドレスに関係なく自動的に許可されるようになります。
ネットワーク・ロード・バランサーにセキュリティー・グループが関連付けられていない場合、セキュリティー・グループ・ルールはすべてのトラフィックを許可し、フィルタリングは ( iptables
ルールに従って) VSI レベルで行われます。
ネットワーク・トラフィック・ルール
以下の表は、パブリックおよびプライベートネットワークのロードバランサーにおけるインバウンドおよびアウトバウンドトラフィックのベストプラクティスを記載しています。
パブリック・ネットワーク・ロード・バランサー
インバウンド・ルール
パブリックロードバランサーのリスナーポートには、すべてのソースからのインバウンドトラフィックを許可するのが一般的です。 以下に例を示します。
プロトコル | ソース・タイプ | ソース | 値 |
---|---|---|---|
TCP | IP アドレス | 0.0.0.0/0 |
Listener port |
ただし、受信トラフィックを制限する必要がある場合は、 209.173.53.167/20
のようなソースCIDRを指定することができます。 これにより、IP範囲内のすべてのパブリックIPアドレスがパブリックロードバランサーに到達できるようになります。 以下に例を示します。
プロトコル | ソース・タイプ | ソース | 値 |
---|---|---|---|
TCP | IP アドレス | 209.173.53.167/20 |
Listener port |
アウトバウンド・ルール
対象がセキュリティグループに属しており、送信先として設定されていることを確認してください。 詳しくは、『セキュリティー・グループの概要』を参照してください。
プロトコル | 宛先タイプ | 接続先 | 値 |
---|---|---|---|
TCP | セキュリティー・グループ | target |
target port |
TCP | セキュリティー・グループ | target |
Health check port |
表示されているよりも緩やかな送信ルールを設定することができます(例えば、すべての宛先へのすべてのトラフィックを許可することができます)。 ただし、セキュリティー上の理由から、これは推奨されません。
プライベート・ネットワーク・ロード・バランサー
インバウンド・ルール
プロトコル | ソース・タイプ | ソース | 値 |
---|---|---|---|
TCP | IP アドレス | Subnet CIDR or VPC security group |
Listener port |
プライベートロードバランサーの受信ルールを自身のワークロードに限定することは一般的な慣行です。 特定のサブネット CIDR からのソースまたはソース・デバイスが属するセキュリティー・グループを必ず指定してください。 特定のCIDRを使用することが推奨されますが、個別のIPアドレスでも動作します。 詳しくは、『セキュリティー・グループの概要』を参照してください。
アウトバウンド・ルール
プロトコル | 宛先タイプ | 接続先 | 値 |
---|---|---|---|
TCP | セキュリティー・グループ | Target security group |
Target port |
TCP | セキュリティー・グループ | Target security group |
Health check port (ターゲット・ポートと異なる場合) |
ターゲットがセキュリティグループに属しており、送信ルールで送信先として設定されていることを確認してください。 詳しくは、『セキュリティー・グループの概要』を参照してください。
さらに、ロードバランサーの名前を解決するには、ターゲットがDNSリゾルバーに接続できる必要があります。 これは、ロード・バランサーへのアクセスが DNS 名を使用して行われるためです。
ロード・バランサーのプロビジョニング時のセキュリティー・グループの関連付け
ネットワークロードバランサーを作成する際に、最大5つのセキュリティグループをアタッチすることができます。 ロード・バランサーの作成時にセキュリティー・グループを指定しない場合は、VPC のデフォルトのセキュリティー・グループが使用されます。
セキュリティー・グループを 1 つも選択しない場合は、デフォルトのセキュリティー・グループ・ルールを更新して、新しく作成したネットワーク・ロード・バランサーでのトラフィックの中断を最小限にする必要があります。
前提条件: セキュリティー・グループおよびルールの構成
NLB に接続するセキュリティー・グループが作成済みであることを確認します。 また、そのルールがロード・バランサー・トラフィックに対して構成されていることも確認します。 セキュリティー・グループを作成する必要がある場合は、以下の手順を実行します。
あるいは IBM Cloud VPC を使用してセキュリティグループを作成することもできます。
UI を使用してセキュリティー・グループを作成するには、以下のようにします。
-
ブラウザから、 IBM Cloudを開き、アカウントにログインしてください。
-
Navigation Menu(ナビゲーションメニュー
を選択し、Infrastructure(インフラストラクチャー) > Network(ネットワーク) > Security groups(セキュリティグループ)の順にクリックします。
-
「作成」 をクリックします。
-
セキュリティー・グループに固有の名前を指定します。
-
セキュリティー・グループの VPC を選択します。 セキュリティー・グループは、ロード・バランサーと同じ VPC 内に作成する必要があります。
-
**「追加」**をクリックして、セキュリティー・グループへのまたはセキュリティー・グループからのどのようなタイプのトラフィックが許可されるかを定義する、インバウンド・ルールとアウトバウンド・ルールを構成します。 ルールごとに、以下の情報を入力します。
- トラフィックが許可される CIDR ブロックまたは IP アドレスを指定します。 あるいは、同じ VPC 内のセキュリティー・グループを指定して、その選択されたセキュリティー・グループに関連付けるすべてのソースとの間のトラフィックを許可することができます。
- ルールが適用されるプロトコルおよびポートを選択します。 ネットワーク・ルールに関するベスト・プラクティスについては、ネットワーク・トラフィック・ルールを参照してください。
ヒント:
- 追加された順序に関係なく、すべてのルールが評価されます。
- ルールはステートフルです。つまり、許可されたトラフィックに応答して返されるトラフィックは自動的に許可されます。 例えば、ポート 80 のインバウンド TCP トラフィックを許可するルールを作成すると、そのルールで、発信元ホストに対する応答であるポート 80 のアウトバウンド TCP トラフィックも許可されるので、ルールをもう 1 つ作成する必要はありません。
-
オプション: このセキュリティー・グループを他のインスタンスに適用する予定の場合は、インターフェースを編集します。 セキュリティー・グループの関連付けは、ロード・バランサー・セクションで行います。
-
ルールの作成が終了したら、**「セキュリティー・グループの作成」**をクリックします。
セキュリティー・グループの例
例えば、TCPリスナー(TCPポート80)のポート80のすべてのトラフィックを許可する以下の受信規則を設定します。
プロトコル | ソース・タイプ | ソース | 値 |
---|---|---|---|
TCP | 任意 | 0.0.0.0/0 |
ポート 80 |
次に、対象への TCP トラフィックを許可する送信ルールを設定します
プロトコル | 宛先タイプ | 接続先 | 値 |
---|---|---|---|
TCP | 任意 | 10.11.12.13/32 (ターゲットIPアドレス) |
80 (ターゲットポート) |
TCP | 任意 | 10.11.12.14/32 (ターゲットIPアドレス) |
80 (ターゲットヘルスチェックポート) |
手順:NLB作成時のセキュリティグループの追加
ネットワーク・ロード・バランサーの作成 時にセキュリティー・グループを接続するには、以下の手順を実行します。
- ブラウザから、 IBM Cloudを開き、アカウントにログインしてください。
- ナビゲーションメニュー「
選択し、「インフラ > ネットワーク > ロードバランサークリックする。
- 「作成」 をクリックします。
- 必要に応じて、名前、VPC、タイプ、サブネット、リスナーおよびプールを構成します。
- セキュリティグループの表から、追加したいセキュリティグループのチェックボックスを選択します。
- **「作成」**をクリックして、ロード・バランサーをプロビジョンします。
セキュリティー・グループ・ルールで、ロード・バランサー・トラフィックが許可されていることを確認します。 セキュリティー・グループで、リスナー、プール、ヘルス・チェックの各ポートが許可されていることを確認します。
セキュリティー・グループの関連付けおよび切り離し
既存のロード・バランサーにセキュリティー・グループを関連付けるには、以下の手順を実行します。
07 August 2023
より前に作成されたロードバランサーにはセキュリティグループが関連付けられておらず、すべてのインバウンドおよびアウトバウンドトラフィックを許可します。 セキュリティー・グループが存在しないロード・バランサーにセキュリティー・グループを接続した場合、そのセキュリティー・グループを削除することはできません。 以前の「すべてのインバウンド・トラフィックとアウトバウンド・トラフィックを許可する」動作に戻すには、すべてのインバウンド・トラフィックとアウトバウンド・トラフィックを許可するためのルールに、セキュリティー・グループを関連付けます。
ただし、この規則は本質的に安全ではないため、推奨されません。
- ブラウザから、 IBM Cloudを開き、アカウントにログインしてください。
- ナビゲーションメニュー「
選択し、「インフラ > ネットワーク > ロードバランサークリックする。
- ロード・バランサーのリストから、ロード・バランサーを選択してその詳細ページを表示します。
- **「接続されたセキュリティー・グループ」**タブをクリックして、関連付けられたセキュリティー・グループを表示します。
- 1 つ以上のセキュリティー・グループを関連付けるには、**「アタッチ」**をクリックします。 NLBにアタッチするセキュリティグループは、最大5つまで選択できます。
- 関連付けるセキュリティー・グループを選択します。
- **「アタッチ」**をクリックします。
ロード・バランサーからセキュリティー・グループを切り離すには、以下の手順を実行します。
- ブラウザから、 IBM Cloudを開き、アカウントにログインしてください。
- ナビゲーションメニュー「
選択し、「インフラ > ネットワーク > ロードバランサークリックする。
- ロード・バランサーのリストから、ロード・バランサーを選択してその詳細ページを表示します。
- **「接続されたセキュリティー・グループ」**タブをクリックして、関連付けられたセキュリティー・グループを表示します。
- セキュリティー・グループを切り離すには、セキュリティー・グループの「アクション」メニュー
をクリックします。
- **「デタッチ」**をクリックします。