SLB は、ドメイン名ベースまたは URL ベースの転送ルールの設定をサポートしています。 サーバーリソースを適切に割り当てるために転送ルールを追加することで、さまざまなドメイン名または URL のリクエストをさまざまなバックエンドサーバーに転送できます。

転送ルールの設定をサポートしているのは、レイヤー 7 リスナー (HTTPS/HTTP プロトコル) だけです。

ドメイン名ベースまたは URL ベースの転送ルールの概要

レイヤー 7 リスナーは、ドメイン名ベースまたは URL ベースの転送ルールを設定して、異なるドメイン名または URL のリクエストを異なる ECS インスタンスに配信することをサポートします。

URL ベースの転送ルールは文字列のマッチングをサポートし、/admin、/bbs、/test などのシーケンシャルマッチングを採用しています。

ドメイン名ベースの転送ルールは完全一致とワイルドカードをサポートしています。
  • 完全一致ドメイン名: www.aliyun.com
  • ワイルドカードドメイン名 (汎用ドメイン名): *.aliyun.com、*.market.aliyun.com

    リクエストが複数の転送ルールに一致する場合、完全一致が小規模なワイルドカード一致より優先され、小規模なワイルドカードの一致の方が大規模なワイルドカードの一致よりも優先されます。詳しくは次の表を参照してください。

    タイプ リクエスト URL 転送ルールに基づいたドメイン名
    www.aliyun.com *.aliyun.com *.market.aliyun.com
    完全一致 www.aliyun.com × ×
    ワイルドカード Market.aliyun.com × ×
    ワイルドカード info.market.aliyun.com × ×

さまざまな VServer グループに関連付けられたさまざまな転送ルールをレイヤー 7 リスナーに追加できます (VServer グループは複数の ECS インスタンスで構成されています)。 たとえば、リソース使用を最適化するために、すべての読み取りリクエストをバックエンドサーバーのグループに転送し、すべての書き込みリクエストをバックエンドサーバーの別のグループに転送することができます。

転送ルールが設定された後のリクエスト転送のシーケンスは以下のとおりです。

  • リクエストが転送ルールと一致する場合、このルールに関連付けられた VServer グループに配信されます。
  • そうでない場合、リスナーが VServer グループに関連付けられていると、リクエストはリスナーに設定されている VServer グループに配信されます。
  • 上記のいずれの条件も満たされない場合、リクエストはデフォルトのサーバーグループ内の ECS インスタンスに転送されます。

ドメイン名ベースまたは URL ベースの転送ルールの追加

転送ルールを追加する前に、以下の条件が満たされていることを確認してください。

ドメイン名ベースまたは URL ベースの転送ルールを追加するには、次のステップを実行します。

  1. SLB コンソールにログインします。
  2. リージョンを選択すると、このリージョン内に存在するすべての SLB インスタンスが表示されます。
  3. 対象となる SLB インスタンスの ID をクリックします。
  4. [リスナー] タブをクリックします。
  5. 対象となる HTTP/HTTPS リスナーを検索して、[転送ルールの追加] オプションをクリックします。
  6. [転送ルールの追加] ページで、[転送ルールの追加] をクリックします。
  7. [転送ルールの追加] ページで、次の情報に従って転送ルールを設定します。
    1. ドメイン名: リクエストのドメイン名を入力します。 文字、数字、ハイフン、ドットのみを使用できます。
    2. URL: リクエストのパスを入力します。 URL はスラッシュ (/) で始める必要があり、文字、数字、および以下の特殊文字のみを含めることができます (-. /%? #&)。
      ドメイン名に基づく転送ルールのみを設定したい場合は、URL オプションを空白のままにしてください。
    3. VServer グループ: 関連付けられている VServer グループを選択します。
    4. 説明 (オプション): 説明を入力します。
    5. [確認] をクリックします。
  8. [ドメインの追加] または [ルールの追加] をクリックして、別のドメイン名ベースまたは URL ベースの転送ルールを追加します。

    詳しくは、「制限」をご参照ください。

転送ルールの編集

転送ルールに関連付けられているバックエンドサーバーを変更できます。

転送ルールを編集するには、次のステップを実行します:
  1. SLB コンソールにログインします。
  2. リージョンを選択すると、このリージョン内に存在するすべての SLB インスタンスが表示されます。
  3. 目的の SLB インスタンスの ID をクリックします。
  4. [リスナー] タブをクリックします。
  5. 対象となるレイヤー 7 リスナーを検索して、[転送ルールの追加] オプションをクリックします。
  6. [転送ルール] 領域で対象となるの転送ルールを検索して、[編集] オプションをクリックします。
  7. 転送ルールを編集します。 以下の情報に従って、スケジューリングアルゴリズム、セッション維持、ヘルスチェックなどの転送ルールをカスタマイズします。
    現在、転送ルールの詳細設定のカスタマイズは、次のリージョンでのみサポートされています。
    • 中国 (北京)
    • 中国 (杭州)
    • 中国 (上海)
    • 中国 (張家口)
    • 中国 (フフホト)
    • 中国 (香港)
    • シンガポール
    • 日本 (東京)
    詳細設定 説明
    スケジューリングアルゴリズム Server Load Balancer は 3 つのスケジューリングアルゴリズムに対応しています。ラウンドロビン、重み付きラウンドロビン (WRR)、重み付け最小接続数 (WLC) です。
    • [重み付きラウンドロビン (WRR)]: 重みの大きなバックエンドサーバーは、重みの小さなバックエンドサーバーより、多くのリクエストを受信できます。
    • [ラウンドロビン (RR)]: リクエストは、バックエンドサーバーへ均等かつ順次に配信されます。
    • [重み付け最小接続数 (WLC)]: 重みの大きいサーバーは、一度に受信できる接続数の割合が高くなります。 重みの値が同じ場合、接続数の少ないバックエンドサーバーの方が、より頻繁に (そして高い確率で) アクセスされます。
    セッション維持の有効化

    セッション維持を有効にするかしないかを選択します。

    セッション維持を有効にした場合、同一のクライアントからのセッションリクエストはすべて、同一のバックエンドサーバーに送信されます。

    HTTP セッション維持は Cookie に基づいています。 次の 2 つの方法がサポートされています。

    • cookie の挿入: Cookie のタイムアウト時間を指定するだけです。

      SLB はバックエンドサーバーからの最初のレスポンスに Cookie を追加します (HTTP/HTTPS レスポンスパケットに SERVERID を挿入します)。 次のリクエストには Cookie が含まれ、リスナーはリクエストを同じバックエンドサーバーに配信します。

    • cookie の上書き:必要に応じて HTTP/HTTPS レスポンスに挿入される Cookieを設定できます。 バックエンドサーバー上の Cookie のタイムアウト時間とライフサイクルを維持する必要があります。

      SLB は新しい Cookie が設定されたことを検出すると元の Cookie を上書きします。 次回クライアントが新しい Cookie で SLB にアクセスすると、リスナーはそのリクエストを前回記録されたバックエンドサーバーに配信します。 詳しくは「セッション維持」をご参照ください。

    ヘルスチェックの有効化
    • ヘルスチェックポート: ヘルスチェックでバックエンドサーバーにアクセスするために使用されるポート。

      デフォルトでは、リスナーで設定されたバックエンドポートが使用されます。

    • ヘルスチェックパス: ヘルスチェックページの URI。 静的ページを確認することを推奨します。
    • ヘルスチェックドメイン名 (オプション) : バックエンドサーバーのイントラネット IP は、デフォルトでドメイン名として使用されます。
    • 通常のステータスコード: 正常なサーバーを示す HTTP ステータスコード。

      デフォルト値は http_2xx と http_3xx。

    • レスポンスタイムアウト: ヘルスチェックからのレスポンスを待つ時間。 ECS インスタンスが指定されたタイムアウト期間内にレスポンスしないと、ヘルスチェックは失敗です。
    • ヘルスチェック間隔: 2 つの連続したヘルスチェック間の時間。

      デフォルト値は 2 秒です。

    • 異常しきい値: ECS インスタンスが異常と判断される前に、同じ ECS インスタンス上の同じ LVS ノードサーバーで (成功から失敗まで) 実行されたヘルスチェックの連続失敗数。

      有効値: 2-10。 デフォルト値: 3。

    • 正常しきい値: ECS インスタンスが正常と判断される前に、同じ ECS インスタンス上の同じ LVS ノードサーバーで (失敗から成功まで) 実行されたヘルスチェックの連続成功数。

      有効値: 2-10。 デフォルト値: 3。

  8. [確認] をクリックします。

転送ルールの削除

転送ルールを削除するには、以下のステップを実行します。
  1. SLB コンソールにログインします。
  2. リージョンを選択すると、そのリージョン内のすべての SLB インスタンスが表示されます。
  3. SLB インスタンスの ID をクリックします。
  4. [リスナー] タブをクリックします。
  5. 対象となるレイヤー 7 リスナーを検索して、[転送ルールの追加] オプションをクリックします。
  6. [転送ルール] 領域で対象となる転送ルールを検索して、[削除] オプションをクリックします。