IBM Cloud Docs
ネットワーク・ロード・バランサーとセキュリティー・グループの統合

ネットワーク・ロード・バランサーとセキュリティー・グループの統合

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アドレスがパブリックロードバランサーに到達できるようになります。 以下に例を示します。

特定の CIDR からのパブリックロードバランサーのインバウンドルールの設定情報
プロトコル ソース・タイプ ソース
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 APIを使って セキュリティ・グループを作成することもできる。

UI を使用してセキュリティー・グループを作成するには、以下のようにします。

  1. ブラウザから、 IBM Cloud コンソールを開き、アカウントにログインします。

  2. ナビゲーションメニューの 「Menu」アイコンを 選択し、「 Infrastructure VPC」アイコン > 「 Network」 > 「 Security groups 」の順にクリックします。

  3. 「作成」 をクリックします。

  4. セキュリティー・グループに固有の名前を指定します。

  5. セキュリティー・グループの VPC を選択します。 セキュリティー・グループは、ロード・バランサーと同じ VPC 内に作成する必要があります。

  6. **「追加」**をクリックして、セキュリティー・グループへのまたはセキュリティー・グループからのどのようなタイプのトラフィックが許可されるかを定義する、インバウンド・ルールとアウトバウンド・ルールを構成します。 ルールごとに、以下の情報を入力します。

    • トラフィックが許可される CIDR ブロックまたは IP アドレスを指定します。 あるいは、同じ VPC 内のセキュリティー・グループを指定して、その選択されたセキュリティー・グループに関連付けるすべてのソースとの間のトラフィックを許可することができます。
    • ルールが適用されるプロトコルおよびポートを選択します。 ネットワーク・ルールに関するベスト・プラクティスについては、ネットワーク・トラフィック・ルールを参照してください。

    ヒント:

    • 追加された順番に関係なく、すべてのルールが評価される。
    • ルールはステートフルです。つまり、許可されたトラフィックに応答して返されるトラフィックは自動的に許可されます。 例えば、ポート 80 のインバウンド TCP トラフィックを許可するルールを作成すると、そのルールで、発信元ホストに対する応答であるポート 80 のアウトバウンド TCP トラフィックも許可されるので、ルールをもう 1 つ作成する必要はありません。
  7. オプション: このセキュリティー・グループを他のインスタンスに適用する予定の場合は、インターフェースを編集します。 セキュリティー・グループの関連付けは、ロード・バランサー・セクションで行います。

  8. ルールの作成が終了したら、**「セキュリティー・グループの作成」**をクリックします。

セキュリティー・グループの例

例えば、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作成時にセキュリティグループを付ける

ネットワーク・ロード・バランサーの作成 時にセキュリティー・グループを接続するには、以下の手順を実行します。

  1. ブラウザから、 IBM Cloud コンソールを開き、アカウントにログインします。
  2. ナビゲーションメニューの メニューアイコンを 選択し、 インフラストラクチャ VPCアイコンネットワークロードバランサーをクリックします。
  3. 「作成」 をクリックします。
  4. 必要に応じて、名前、VPC、タイプ、サブネット、リスナーおよびプールを構成します。
  5. セキュリティグループ表から、アタッチするセキュリティグループのチェックボックスを選択します。
  6. **「作成」**をクリックして、ロード・バランサーをプロビジョンします。

セキュリティー・グループ・ルールで、ロード・バランサー・トラフィックが許可されていることを確認します。 セキュリティー・グループで、リスナー、プール、ヘルス・チェックの各ポートが許可されていることを確認します。

セキュリティー・グループの関連付けおよび切り離し

既存のロード・バランサーにセキュリティー・グループを関連付けるには、以下の手順を実行します。

07 August 2023 より前に作成されたロードバランサーは、セキュリティグループがアタッチされておらず、すべてのインバウンドおよびアウトバウンドトラフィックを許可します。 セキュリティー・グループが存在しないロード・バランサーにセキュリティー・グループを接続した場合、そのセキュリティー・グループを削除することはできません。 以前の「すべてのインバウンド・トラフィックとアウトバウンド・トラフィックを許可する」動作に戻すには、すべてのインバウンド・トラフィックとアウトバウンド・トラフィックを許可するためのルールに、セキュリティー・グループを関連付けます。 ただし、この規則は本質的に安全ではないため、推奨されません。

  1. ブラウザから、 IBM Cloud コンソールを開き、アカウントにログインします。
  2. ナビゲーションメニューの メニューアイコンを 選択し、 インフラストラクチャ VPCアイコンネットワークロードバランサーをクリックします。
  3. ロード・バランサーのリストから、ロード・バランサーを選択してその詳細ページを表示します。
  4. **「接続されたセキュリティー・グループ」**タブをクリックして、関連付けられたセキュリティー・グループを表示します。
  5. 1 つ以上のセキュリティー・グループを関連付けるには、**「アタッチ」**をクリックします。 NLBにアタッチするセキュリティグループは、最大5つまで選択できます。
  6. 関連付けるセキュリティー・グループを選択します。
  7. **「アタッチ」**をクリックします。

ロード・バランサーからセキュリティー・グループを切り離すには、以下の手順を実行します。

  1. ブラウザから、 IBM Cloud コンソールを開き、アカウントにログインします。
  2. ナビゲーションメニューの メニューアイコンを 選択し、 インフラストラクチャ VPCアイコンネットワークロードバランサーをクリックします。
  3. ロード・バランサーのリストから、ロード・バランサーを選択してその詳細ページを表示します。
  4. **「接続されたセキュリティー・グループ」**タブをクリックして、関連付けられたセキュリティー・グループを表示します。
  5. セキュリティー・グループを切り離すには、セキュリティー・グループの「アクション」メニュー 「アクション」アイコン をクリックします。
  6. **「デタッチ」**をクリックします。