Oracle Cloud Infrastructureドキュメント

Load Balancing開始

Load Balancingサービスを使用すると、VCN内で可用性の高いロード・バランサを作成できます。 すべてのロード・バランサにはプロビジョニングされた帯域幅があります。 パブリックまたはプライベートIPアドレスのいずれかを使用してロード・バランサを作成することができます。 ロード・バランサは、着信トラフィックとアプリケーション・サーバーのトラフィックの両方に対してSSL処理をサポートします。

パブリックIPアドレスを持つロード・バランサを作成するときに、2つのサブネットを指定します。それぞれ異なる「可用性ドメイン」に、ロード・バランサが実行できます。 2つのサブネットは、ロード・バランサの高可用性を保証します。 プライベート・ロード・バランサに必要なサブネットは1つだけです。

このチュートリアルはLoad Balancingの概要です。 パブリック・ロード・バランサを作成し、基本的なWebサーバー・アプリケーションで検証するには、ここのステップに従います。 サービスとそのコンポーネントの詳細については、Load Balancingの概要」を参照してください。

始める前に

このチュートリアルのLoad Balancingサービスを試すには、まずこれらのことを設定する必要があります:

  • 2つのサブネット(それぞれ異なる「可用性ドメイン」内にある)とインターネット・ゲートウェイを持つ仮想クラウド・ネットワーク(VCN)
  • 実行中の2つのインスタンス(異なるサブネット内)
  • 各インスタンスで実行されているWebアプリケーション(Apache HTTP Serverなど)

これらのアイテムをまだ設定していない場合は、ここに示すステップに従います。

ヒント

VCNとインスタンスの紹介が必要な場合は、まず「チュートリアル - 最初のLinuxインスタンスの起動」を試してみてください。

VCNとインスタンス設定

次の図は、前提条件のVCNとインスタンスを示しています:

VCNと前提条件インスタンスの図

VCNを作成
2つのインスタンスを起動
各インスタンスでWebアプリケーションを起動

チュートリアルの概要

このチュートリアルでは、パブリック・ロード・バランサを作成して検証します。 ロード・バランサは、複数のコンポーネントを機能させるための構成を必要とします。このチュートリアルでは、これらのコンポーネントを理解するのに役立つステップを順を追って説明します。

ロード・バランサを作成してテストするには、次のステップを実行します:

  1. VCNに2つのサブネットを追加して、ロード・バランサをホストします。
  2. ロード・バランサを作成します。
  3. ヘルス・チェック付きのバックエンド・セットを作成します。
  4. バックエンド・サーバーをバックエンド・セットに追加します。
  5. リスナーを作成します。
  6. ロード・バランサのサブネット・セキュリティ・リストを更新し、リスナーへのインターネット・トラフィックを許可します。
  7. ロード・バランサを確認します。
  8. バックエンド・サーバーを保護するためのルールを更新します。
  9. ロード・バランサを終了します。

ロード・バランサをホストする2つのサブネットをVCNに追加

ロード・バランサは、アプリケーション・インスタンスとは異なるサブネットに存在する必要があります。 この構成では、アプリケーション・インスタンスをより厳密なアクセス・ルールを使用してサブネットに保護し、パブリック・サブネット内のロード・バランサへのパブリック・インターネット・トラフィックを許可することができます。

VCNにパブリック・サブネットを追加するには:

セキュリティ・リストを追加
ルート表を追加
最初のサブネットを作成
2番目のサブネットを作成

次の図は、VCNに追加された新しいコンポーネントを示しています:

カスタム・セキュリティ・リストとルーティング可能な2つのサブネットが追加されました

ロード・バランサの作成

パブリック・ロード・バランサを作成するときは、そのシェイプ(サイズ)を選択し、それぞれ異なる「可用性ドメイン」内の2つのサブネットを選択します。 この構成では、ロード・バランサの可用性が高くなります。 一度に1つのサブネットでのみアクティブになります。 このロード・バランサには、選択したシェイプに対応するパブリックIPアドレスとプロビジョニングされた帯域幅が付属しています。

ヒント

ロード・バランサはサブネット内に存在しますが、VCN内のサブネットのいずれかに存在するバックエンド・セットにトラフィックを誘導できます。

  1. 「ナビゲーション・メニュー」を開きます。 コア・インフラグループの下で、Networkingに行き、「ロード・バランサ」をクリックします。

    サンドボックス・コンパートメント(または指定されたコンパートメント)が左側で選択されていることを確認します。

  2. 「ロード・バランサの作成」をクリックします。
  3. 次のように入力します。
    • 名:ロード・バランサの名前を入力します。
    • シェイプ: 100 Mbpsを選択します。 シェイプは、ロード・バランサの帯域幅を指定します。 チュートリアルでは、最小のシェイプを使用します。 後でシェイプを変更することはできません。
    • Virtual Cloud Network:ロード・バランサの仮想クラウド・ネットワークを選択します。
    • 可視性: パブリック・ロード・バランサの作成を選択します。
    • サブネット(1/2): LB Subnet 1を選択します。
    • サブネット(2/2): LB Subnet 2を選択します。 2番目のサブネットは、選択した最初のサブネットとは異なる「可用性ドメイン」になければなりません。
  4. 作成をクリックします

ロード・バランサが作成されると、パブリックIPアドレスが取得されます。 着信トラフィックをすべてこのIPアドレスにルーティングします。 IPアドレスは、指定した両方のサブネットから使用できますが、一度に1つのサブネットでのみ有効です。

ロード・バランサをロード・バランサ・サブネットに追加しました。

バックエンド・セットを作成

バックエンド・セットは、ロード・バランサがトラフィックを誘導するバックエンド・サーバーの集まりです。 バックエンド・サーバー、Load Balancingポリシー、およびヘルス・チェック・スクリプトのリストは、各バックエンド・セットを定義します。 ロード・バランサは複数のバックエンド・セットを持つことができますが、このチュートリアルでは、両方のWebサーバーを含むバックエンド・セットを1つだけ作成します。

このステップでは、バックエンド・セット・ポリシーとヘルス・チェックを定義します。 別のステップでサーバーを追加します。

バックエンド・セットを作成するには:

  1. ロード・バランサの名前をクリックし、その詳細を表示します。
  2. 「バックエンド・セットの作成」をクリックします。
  3. ダイアログ・ボックスで、次のように入力します:
    1. 名:ロード・バランサのバックエンドに名前を設定します。 名前に空白を含めることはできません。
    2. ポリシー:加重ラウンドロビンを選択します。
    ポリシーとは何ですか?
  4. ヘルス・チェックの詳細を入力します。

    Load Balancingは、ロード・バランサのインスタンスのヘルスを自動的にチェックします。 正常でないインスタンスを検出すると、インスタンスへのトラフィックの送信を停止し、正常なインスタンスにトラフィックを再ルーティングします。 このステップでは、バックエンド・セット内のサーバーの健全性をチェックし、データ・トラフィックを確実に受信するために必要な情報を提供します。

    • プロトコル: HTTPを選択します。
    • ポート: 80を入力
    • URLパス(URI): /を入力

    残りのフィールドはオプションで、このチュートリアルでは空白のままにすることができます。

  5. 作成をクリックします

    バックエンド・セットが作成されると、作業リクエストには成功というステータスが表示されます。 Work「リクエスト」ダイアログ・ボックスを閉じます。

バックエンド・セットにバックエンド(サーバー)を追加

バックエンド・セットが作成されたら、コンピュート・インスタンス(バックエンド・サーバー)を追加することができます。 バックエンド・サーバーを追加するには、各インスタンスとアプリケーション・ポートのOCIDを入力します。 OCIDにより、コンソールは、ロード・バランサ・サブネットとインスタンス・サブネット間のトラフィックを有効にするために必要なセキュリティ・リスト・ルールを作成できます。

ヒント

セキュリティ・リストは、サブネット内外で許可されるトラフィックのタイプを指定するためのイングレス・ルールとエグレス・ルールを提供するVCNの仮想ファイアウォール・ルールです。
VCNセキュリティ・リストのルールを更新して、ロード・バランサ・サブネットとバックエンド・サーバー・サブネット間のトラフィック・フローを許可します。 このステップでは、インスタンスOCIDを提供することによってセキュリティ・リストを自動的に更新することができます。

バックエンド・セットにサーバーを追加するには:

  1. ロード・バランサの詳細ページで、「バックエンド・セット」をクリックします。 作成したバックエンド・セットが表示されます。
  2. バックエンド・セットの名前をクリックし、その詳細を表示します。
  3. 「バックエンドの編集」をクリックします。

ダイアログで:

  1. 「適切なセキュリティ・リスト・ルールを作成するのに役立ちます」がチェックされていることを確認します。

    私のセキュリティ・リストにはどのようなルールが追加されていますか?
  2. OCID: 最初のインスタンス(Webserver1)のOCIDを貼り付けます。

    インスタンスのOCIDを取得するにはどうすればよいですか?

  3. ポート: 80を入力します。
  4. 重み: 空白のままにして、サーバーの負荷を均等にします。

  5. ステップ2〜4を繰り返して、2番目のインスタンス(Webserver2)のOCIDに貼り付けます。
  6. ルールの作成をクリックします。

次の図に、このタスクで作成されたコンポーネントを示します:

バックエンド・セットと更新されたセキュリティ・リストを強調表示するロード・バランサ設定

ロード・バランサのリスナーの作成

リスナーは、接続リクエストをチェックするエンティティです。 ロード・バランサ・リスナーは、リスナー内で指定したポートとロード・バランサのパブリックIPを使用して、イングレス・クライアント・トラフィックをリッスンします。

このチュートリアルでは、ポート80でHTTPリクエストを受け入れるリスナーを定義します。

ノート

複数のポートでのリッスン

リスナーは1つのポートで待機することができます。 より多くのポート(SSLの場合は443など)で待機するには、別のリスナーを作成します。 ロード・バランサでSSLを有効にする方法については、「SSL証明書の管理」を参照してください。

リスナーを作成するには:

  1. 「ロード・バランサの詳細」ページで、「リスナー」をクリックします。
  2. 「リスナーを作成」をクリックします。
  3. 次のように入力します。
    • 名:フレンドリな名前を入力してください。
    • プロトコル: HTTPを選択します。
    • ポート:着信トラフィックをリッスンするポートとして80を入力します。
    • バックエンド・セット:作成したバックエンド・セットを選択します。
  4. 作成をクリックします

ロード・バランサのセキュリティ・リストを更新し、リスナーにインターネット・トラフィックを許可

リスナーを作成するときは、そのリスナーへのトラフィックを許可するようにVCNセキュリティ・リストも更新する必要があります。

リスナーがトラフィックを受け入れるようにします

ロード・バランサが存在するサブネットでは、リスナーがトラフィックを受け入れることができなければなりません。 トラフィックがリスナーに到達できるようにするには、ロード・バランサ・サブネット・セキュリティ・リストを更新します。

リスナーがトラフィックを受け入れるようにセキュリティ・リストを更新するには:

  1. 「ナビゲーション・メニュー」を開きます。 コア・インフラの下で、Networkingに行き、Virtual Cloud Networksをクリックします。

    現在のコンパートメントにあるVCNのリストが表示されます。

  2. 「セキュリティ・リスト」をクリックします。
    クラウド・ネットワーク内のセキュリティ・リストのリストが表示されます。
  3. LB Security Listをクリックします。
    詳細が表示されます。
  4. 「すべてのルールを編集」をクリックします。
  5. イングレス・ルールの許可で、「ルールを追加」をクリックします。
  6. 次のイングレス・ルールを入力します:
    • ソースのタイプ: CIDRを選択
    • ソースCIDR: 0.0.0.0/0を入力してください
    • IPプロトコル: TCPを選択
    • 宛先ポート範囲: 80 (リスナー・ポート)を入力します。
  7. 「セキュリティ・リスト・ルールを保存」をクリックします。

他のリスナーを作成した場合は、各リスナー・ポートごとにイングレス・ルールを追加して、リスナーへのトラフィックを許可します。 たとえば、ポート443でリスナーを作成した場合は、前のステップを宛先ポート範囲を使用して繰り返します: 443。

次の図は、このタスクで作成されたコンポーネントを示しています:

バックエンド・セットへの分散のためにロード・バランサへのインターネット・トラフィックを許可

ロード・バランサを確認

ロード・バランサの機能をテストするには、Webブラウザを開き、パブリックIPアドレス(ロード・バランサの詳細ページに表示されている)に移動します。 ロード・バランサが正しく構成されている場合、Webサーバー・インスタンスの1つの名前が表示されます:

  1. Webブラウザを開きます。
  2. ロード・バランサのパブリックIPアドレスを入力します。

    いずれかのWebサーバーのindex.htmページが表示されます。

    このイメージは、ブラウザに表示されたWebServer1ページを示しています

  3. Webページを更新します。

    他のWebサーバーのindex.htmページが表示されます。

    このイメージは、ブラウザに表示されたWebserver2ページを示しています

ロード・バランサのバックエンド・セット・ポリシーをラウンド・ロビンとして構成したため、ページを更新すると2つのWebサーバーが交互に切り替わります。

トラフィックをバックエンド・サーバーに限定するためのルールの更新

デフォルトのセキュリティ・リストとデフォルトのルート表を更新して、バックエンド・サーバーへのトラフィックを制限します。 「Virtual Cloud Network Plusの作成関連リソース」オプションを使用してVCNを作成し、このロード・バランサをただちに終了させない場合、これらのアクションは重要です。

デフォルト・ルート表ルールを削除するには、次の手順を実行します:

  1. 「ナビゲーション・メニュー」を開きます。 コア・インフラの下で、Networkingに行き、Virtual Cloud Networksをクリックします。

  2. VCNの名前をクリックし、その詳細を確認します。
  3. 「リソース」の下で、「ルート表」をクリックします。
  4. VCNのDefault Route Tableをクリックします。
  5. 「ルート・ルールの編集」をクリックします。
  6. ルート・ルールの横にあるXをクリックし、「保存」をクリックします。

現在、デフォルト・ルート表のルート・ルールはありません。

デフォルトのセキュリティ・リスト・ルールを編集するには:

  1. 「Virtual Cloud Network詳細」ページに行きます。

  2. 「リソース」の下で、「セキュリティ・リスト」をクリックします。
  3. VCNのデフォルト・セキュリティ・リストをクリックします。
  4. 「すべてのルールを編集」をクリックします。
  5. 「イングレスのルールを許可」の下で、次のルールを削除します:

    アクション ソースCIDR IPプロトコル 宛先ポート範囲
    削除 0.0.0.0/0 TCP 22
    削除 0.0.0.0/0 ICMP 3,4
    削除 10.0.0.0/16 ICMP 3
  6. 「エグレスのルールを許可」の下でルールを削除します。 エグレス・ルールはありません。

これで、インスタンスはロード・バランサ・サブネットからのデータ・トラフィックを受信し、ロード・バランサ・サブネットのみにトラフィックを送信できます。 インスタンスのパブリックIPアドレスに直接接続することはできません。

ロード・バランサを削除

ロード・バランサが使用可能になると、実行している時間ごとに料金が請求されます。 ロード・バランサが不要になったら、削除することができます。 ロード・バランサが削除されると、ロード・バランサの負荷がなくなります。 ロード・バランサを削除しても、ロード・バランサが使用するバックエンド・サーバーまたはサブネットには影響しません。

ロード・バランサを削除するには:

  1. 「ナビゲーション・メニュー」を開きます。 コア・インフラグループの下で、Networkingに行き、「ロード・バランサ」をクリックします。

  2. ロード・バランサが含まれている「コンパートメント」を選択します。

  3. ロード・バランサの横にあるアクション・アイコン(3つの点)をクリックし、「終了」をクリックします。

  4. プロンプトが表示されたら確認します。

このチュートリアルで作成したインスタンスとVCNを削除する場合は、「チュートリアルからのリソースのクリーンアップ」の指示に従ってください。