アプリケーション・ロード・バランサー・プールの操作

IBM Cloud® Application Load Balancer for VPC (ALB)プールとは、ロードバランサーからの着信トラフィックを受け取り、発信トラフィックによる応答を返すバックエンドターゲットのグループのことです。 このプールには、プロトコル、負荷分散アルゴリズム、バックエンドターゲット(VPCインスタンス)、バックエンドターゲットのヘルスチェック、およびセッションスティッキネスが含まれています。

ロードバランサーの設定では、リスナーは親リソースとみなされます。 プールを直接または間接的に参照することで、2つの方法でそのリスナーに関連付けることができる。 直接関連付けるには、プールをリスナーの default_pool として設定する。 間接的な関連付けの場合、 failsafe_policy.target の関係を通して、他のプールからプールを参照し、他のプールがすでにリスナーにリンクされていることを確認する。

次の条件は、すべてのアプリケーションロードバランサープールに適用されます:

  • セカンダリプールが「 failsafe_policy.target 」として設定されている場合、1つのリスナーに複数のプールを関連付けることができます。
  • 各プールはリスナーごとに一意でなければならない。
  • この機能は、 Application ファミリーのロードバランサーでのみ利用可能です。
  • failsafe_policy.target を使用する場合、 protocol はプライマリプールのプロトコルと一致するか、許可された互換プロトコルを使用する必要があります。 現在、互換性があるとみなされているのは、 http および https のみです。

プールの設定は、 アプリケーションロードバランサーの作成 時に行うか、後で以下の手順で行うことができます:

  1. お使いのブラウザで、 IBM Cloud コンソールを開き、 アカウントにログインしてください。

  2. ナビゲーションメニューの メニューアイコンを 選択し、 インフラストラクチャ VPCアイコン > ネットワーク > ロードバランサーをクリックします。

  3. 変更したいアプリケーション・ロードバランサーをクリックします。

  4. アプリケーション・ロードバランサーの詳細ページで、[ バックエンドプール ] タブをクリックし、編集したいプールを選択します。

  5. プールに対して、以下のオプションを設定してください:

    • プール名: プールの名前。 このプールが実行する機能を説明する名前にすることが理想的です。
    • プロトコル: このプール内のインスタンスのプロトコルを選択します。 プールのプロトコルは、その関連リスナーのプロトコルと一致している必要があります。 たとえば、リスナーが HTTP を使用している場合、プールも HTTP を使用する必要があります。 同様に、リスナーが TCP を使用する場合、プールも TCP を使用する必要があります。

    HTTP はデータをプレーンテキストとして送信するため、傍受される可能性があり、安全でないと考えられている。 プロトコルは http ではなく、 https を選択することを推奨する。 詳細はこちらを参照: https://www.cloudflare.com/learning/ssl/why-is-http-not-secure/

    • 方法 :ロードバランサーがプール内のインスタンス間でトラフィックをどのように分散させるかを選択します:
      • ラウンドロビン: 各インスタンスに要求を順番に転送します。 すべてのインスタンスが、ほぼ同数のクライアント接続を受信します。
      • 重みづけしたラウンドロビン: 割り当てられた重みに比例して各インスタンスに要求を転送します。 例えば、インスタンス A、B、および C があり、それらの重みが 60、60、および 30に設定されているとします。 インスタンス A と B は等しい数の接続を受信し、インスタンス C はその半数の接続を受信します。
      • 最小接続数: 現時点で接続数が最小のインスタンスに要求を転送します。
    • セッション維持率: ユーザー・セッション中にすべての要求が同じインスタンスに送信されるかどうかを選択します。
    • ヘルス・チェック: ロード・バランサーがインスタンスの正常性を検査する方法を構成します。 ヘルスチェックの設定については、「 ヘルスチェックの操作 」を参照してください。
  6. ヘルスチェックの「 リクエスト設定」(オプション) を選択します。 値を指定しない場合は、デフォルトのヘルスチェック設定が使用されます。 使用可能なオプションは次のとおりです。

    • リクエストメソッド : GET または POST のいずれかを選択してください。 どちらのメソッドについても、リクエストヘッダーをカスタマイズできます。 POST メソッドを使用する際、必要に応じてリクエスト本文をカスタマイズすることができます。
    • リクエスト本文 :ヘルスチェックに使用する HTTP のリクエスト本文を指定します。 値が指定されていない場合、ヘルスチェックのリクエストにはリクエスト本文が含まれません。
    • ホストヘッダー :リクエストが HTTP/1.1 プロトコルを使用するように、ホストヘッダーを含めます。 それ以外の場合は、システムはデフォルトで HTTP/1.0 を使用します。
    • その他のリクエストヘッダーを追加する :1つ以上のリクエストヘッダーを追加します。
      • ヘッダー名 : GET リクエストメソッドの場合、 content-type、 accept、 authorization、 cookie、 origin、 referrer、または user-agent のいずれかを選択してください。 POST のリクエストメソッドについては、 content-type、 content-length、 application-json、または accept-encoding のいずれかを選択してください。
      • 値 :指定されたヘッダー名に対応する値を入力してください。
  7. ヘルスチェックの「 応答設定」(オプション) を選択します。 ヘルス・チェックにおける正常に完了した応答の値をカスタマイズします。 値を指定しない場合は、デフォルトのヘルスチェック設定が使用されます。 使用可能なオプションは次のとおりです。

    • レスポンス本文 :レスポンス本文を入力してください。
    • 応答コード : 100 ~ 599 の範囲内で、カンマ区切りで複数の値を指定できます。範囲を指定するには、 XX を使用してください。 たとえば、 2XX は、 200 から 299 までの範囲にある「response」という文字列に一致します。
  8. 既存のプールにバックアッププールを追加するには、 failsafe policy を設定します。 ロードバランサー内に、少なくとももう1つのプールがすでに存在していることを確認してください。

    • アクション :プライマリプールが正常でない状態になった際に実行するアクション。 ロードバランサーのバックエンドプールを編集する際、以下の failsafe policy アクションのいずれかを指定できます:
      • 転送 :- ロードバランサーは、リクエストを指定されたバックアッププールにルーティングします。 この処理により、別のアプリケーションサーバー群へのスムーズなフェイルオーバー経路が確保されます。 トラフィックを受け入れる準備が整ったバックアッププールが、あらかじめ設定されている必要があります。
      • ドロップ :- ロードバランサーはすべての着信リクエストをドロップし、クライアントには応答が返されません。
      • 失敗 :- ロードバランサーは、ステータスコード「 HTTP 503(「サービス利用不可」)」を返してリクエストを拒否し、クライアントに対してサービスが一時的に利用できないことを通知します。
    • ターゲット :バックアッププールの選択はここで行う。 ターゲットプールを指定する場合は、 action の値を forward

プール内のインスタンスの状態が正常でないにもかかわらず、アプリケーションが正常に動作している場合は、ヘルスプロトコルとヘルスパスの値を確認してください。 また、インスタンスに割り当てられているセキュリティグループが、ロードバランサーとインスタンス間のトラフィックを許可しているかどうかも確認してください。

アプリケーション・ロードバランサーのプールにメンバーを追加する

アプリケーション・ロードバランサーを作成した後、以下の手順に従って、アプリケーション・ロードバランサーのプールにメンバーを追加できます

  1. お使いのブラウザで、 IBM Cloud コンソールを開き、 アカウントにログインしてください。
  2. ナビゲーションメニューの メニューアイコンを 選択し、 インフラストラクチャ VPCアイコン > ネットワーク > ロードバランサーをクリックします。
  3. 変更したいアプリケーション・ロードバランサーをクリックします。
  4. アプリケーション・ロードバランサーの詳細ページで、[ バックエンドプール ] タブをクリックし、編集したいプールを選択します。
  5. [ メンバー ] タブを選択し、[ メンバーを追加 + ] をクリックします。
  6. 以下のメンバーオプションを設定してください:
    • 会員種別 :「 Compute server instances 」または「 Other 」のいずれかを選択してください。 コンピューティングデバイスには、選択したVPC内の仮想サーバーインスタンスおよび Bare Metal Servers が含まれます。 PowerVS, など、他のサーバーインスタンスを接続するには、 Other を選択してください。
    • メンバーの詳細を追加 :
      • タイプ : IP address または FQDN のいずれかを選択してください。
      • アドレスの値 : IP address タイプの場合は、IP アドレスを入力します。 FQDN の場合は、ドメイン名を入力します。
      • サーバーポート :サーバーポートの値を入力してください。
  7. 「+ 追加 」をクリックして、新しいメンバーを追加してください。 すべての新規メンバーを追加する前に、上記の手順を繰り返して、必要に応じてさらに新しいメンバーを作成してください。
  8. 「添付 」をクリックして、メンバーを保存・添付してください。