すべてのプロダクト
Search
ドキュメントセンター

Alibaba Cloud Service Mesh:複数のイングレスゲートウェイに対して Istio ゲートウェイを設定する

最終更新日:Jan 15, 2025

イングレスゲートウェイは、レイヤー 7 でのインバウンドトラフィックをルーティングするための統一された入り口を提供します。 同じ TCP ベースのポートからの HTTP リクエストを、リクエストの内容に基づいて異なる Kubernetes サービスにルーティングします。 このトピックでは、Service Mesh(ASM)インスタンスで複数のイングレスゲートウェイに対して Istio ゲートウェイを設定する方法について説明します。

前提条件

背景情報

この例では、xxx.xxx.cn ドメイン名に対して 2 つの A レコードが設定されています。 2 つの A レコードは、2 つのクラシックロードバランサー(CLB)インスタンスにマッピングされます。 2 つの CLB インスタンスは、それぞれ ASM インスタンス内の 2 つのイングレスゲートウェイに関連付けられています。 2 つのイングレスゲートウェイには、同じ Istio ゲートウェイが必要です。 2 つのイングレスゲートウェイが同じ Istio ゲートウェイを共有するようにするには、Istio ゲートウェイを両方のイングレスゲートウェイに 1 つずつ関連付ける必要があります。 ASM では、いくつかの簡単な手順で、複数のイングレスゲートウェイに対して Istio ゲートウェイを設定できます。 これにより、Istio ゲートウェイの設定が簡素化されます。 イングレスゲートウェイと Istio ゲートウェイのフィールドの詳細については、「ASM ゲートウェイの CRD フィールド」および「Gateway」をご参照ください。

手順

Istio ゲートウェイを複数のイングレスゲートウェイにマッピングできます。 Gateway リソースの spec.selector フィールドは、Istio ゲートウェイを関連付けるイングレスゲートウェイを選択するために使用されます。 セレクターに一致するラベルを持つイングレスゲートウェイが選択されます。 この例では、ラベル key1: value1 がセレクターとして指定されています。

  1. ASM コンソール にログインします。 左側のナビゲーションペインで、[service Mesh] > [メッシュ管理] を選択します。

  2. [メッシュ管理] ページで、ASM インスタンスの名前をクリックします。 左側のナビゲーションペインで、[ASM ゲートウェイ] > [イングレスゲートウェイ] を選択します。

  3. [イングレスゲートウェイ] ページで、Istio ゲートウェイを関連付けるイングレスゲートウェイをそれぞれ見つけ、[YAML] をクリックします。

  4. [編集] ダイアログボックスで、podLabels フィールドを設定し、[OK] をクリックします。

    ...
    spec:
      podLabels:
        key1: value1
    ...
  5. Istio ゲートウェイをイングレスゲートウェイに関連付けます。

    1. ASM インスタンスの詳細ページで、左側のナビゲーションペインの [ASM ゲートウェイ] > [ゲートウェイ] を選択します。

    2. [ゲートウェイ] ページで、イングレスゲートウェイに関連付ける Istio ゲートウェイを見つけ、YAML[アクション] 列の をクリックします。

    3. [編集] ダイアログボックスで、selector フィールドを設定し、[OK] をクリックします。

      apiVersion: networking.istio.io/v1beta1
      kind: Gateway
      metadata:
        name: bookinfo-gateway
        namespace: default
      spec:
        selector:
          key1: value1
        servers:
          - hosts:
              - '*'
            port:
              name: http
              number: 80
              protocol: HTTP                         

次のステップ

Istio ゲートウェイは、プロキシがポートをリッスンするように設定するためにのみ使用されます。 トラフィック転送ルールを指定するには、仮想サービスも設定する必要があります。 仮想サービスのフィールドの詳細については、「Virtual Service」をご参照ください。 仮想サービスの作成方法の詳細については、「仮想サービスを管理する」をご参照ください。