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

Alibaba Cloud Service Mesh:VPC をまたがるコントロール プレーンとデータ プレーン クラスタ間のネットワーク接続を PrivateLink を使用して管理する

最終更新日:Mar 25, 2025

Service Mesh(ASM)インスタンスとデータ プレーン上の Container Service for Kubernetes(ACK)クラスタが同じリージョン内の異なる仮想プライベート クラウド(VPC)にある場合、PrivateLink を使用して ASM インスタンスをデータ プレーン上の ACK クラスタに接続できます。ASM では、CustomResourceDefinitions(CRD)を使用してネットワーク接続を簡素化できます。

前提条件

  • ASM インスタンスが作成されていること。詳細については、「ASM インスタンスの作成」をご参照ください。

  • ASM インスタンスと同じリージョン内の異なる VPC に ACK クラスタが作成されていること。詳細については、「クラスタの作成」をご参照ください。

  • PrivateLink サービスがアクティブ化されていること。詳細については、「PrivateLink とは」をご参照ください。

手順

  1. ASM インスタンスに ACK クラスタを追加します。詳細については、「ASM インスタンスへのクラスタの追加」をご参照ください。

    ACK クラスタを ASM インスタンスに追加すると、クラスタは「接続済み」状態になります。接続を確保するには、次の手順を実行する必要があります。

  2. 以下の内容を使用して、asmpvlconfig.yaml という名前のファイルを作成します。

    apiVersion: istio.alibabacloud.com/v1beta1
    kind: ASMPvlConfig
    metadata:
      name: default
    spec:
      ackVpcEndpoint:
      - clusterId: cab9ace222210457a83f09fcd42e9****
        vSwitches:
        - vSwitchId: vsw-bp1jsgsanpvxpj32yai50
          zoneId: cn-hangzhou-j
      asmVpcEndpoint:
        vSwitches:
        - vSwitchId: vsw-bp1l5hini55sstnwd2skf
          zoneId: cn-hangzhou-i

    次の表に、このファイルの一部のフィールドを示します。

    フィールド

    説明

    metadata

    name

    リソースオブジェクトの name フィールドは、default に設定する必要があります。他の名前は無効です。

    spec

    ackVpcEndpoint

    以下の設定を含む配列。

    • clusterId:ASM インスタンスに追加される ACK クラスタの ID。たとえば、値 cab9ace222210457a83f09fcd42e9**** は、特定の ACK クラスタの ID を示します。

    • vSwitches:ACK クラスタの VPC で使用可能な vSwitch のリストを含む配列。

      • vSwitchId:特定の vSwitch の ID。たとえば、vsw-bp1jsgsanpvxpj32yai50 は vSwitch の ID を示します。

      • zoneId:vSwitchId フィールドで指定された vSwitch が存在するゾーンの ID。たとえば、cn-hangzhou-j は、中国 (杭州) リージョンのゾーンを示します。

        説明

        PrivateLink を使用してクロス VPC 接続を実装するには、このフィールドを ASM インスタンスの vSwitch が存在するゾーンの ID に設定する必要があります。

    asmVpcEndpoint

    vSwitches:vSwitch の設定を指定する配列のリスト。以下の内容が含まれます。

    • vSwitchId:ASM インスタンスの VPC 内の特定の vSwitch の ID。

    • zoneIdvSwitchId フィールドで指定された vSwitch が存在するゾーンの ID。vSwitch は ASM インスタンスに関連付けられています。

      説明

      PrivateLink を使用してクロス VPC 接続を実装するには、このフィールドを ACK クラスタの vSwitch が存在するゾーンの ID に設定する必要があります。

  3. kubectl を使用して、kubeconfig ファイルの情報に基づいて ASM インスタンスに接続し、次のコマンドを実行して ASMPvlConfig リソースをデプロイします。

    kubectl apply -f asmpvlconfig.yaml
  4. 数分待ってから、次のコマンドを実行して ASMPvlConfig リソースオブジェクトの実行ステータスを確認します。

    kubectl get asmpvlconfig default -o yaml

    期待される出力:

    apiVersion: istio.alibabacloud.com/v1beta1
    kind: ASMPvlConfig
    metadata:
      name: default
    spec:
      ackVpcEndpoint:
      - clusterId: cab9ace222210457a83f09fcd42****
        vSwitches:
        - vSwitchId: vsw-bp1jsgsanpvxpj32yai50
          zoneId: cn-hangzhou-j
      asmVpcEndpoint:
        vSwitches:
        - vSwitchId: vsw-bp1l5hini55sstnwd2skf
          zoneId: cn-hangzhou-i
    status:
      clusters:
      - clusterId: cab9ace222210457a83f09fcd42****
        pvlEndpoint:
          connectionStatus: Connected
          domainName: ep-bp1i06bad79eb60c60cc.epsrv-bp1gqb8g1b8d7uactd.cn-hangzhou.privatelink.aliyuncs.com
          id: ep-bp1i06bad79eb60c60
          status: Active
        pvlEndpointService:
          id: epsrv-bp1gqb8g1b8d7uactd
          name: com.aliyuncs.privatelink.cn-hangzhou.epsrv-bp1gqb8g1b8d7uactd
          status: Active
      pilot:
        clusters:
        - clusterId: cab9ace222210457a83f09fcd42****
          pvlEndpoint:
            connectionStatus: Connected
            domainName: ep-bp1i52311b91a5a25e.epsrv-bp1cl4qwzkf747ug6tmy.cn-hangzhou.privatelink.aliyuncs.com
            id: ep-bp1i52311b91a5a25e
            status: Active
        pvlEndpointService:
          id: epsrv-bp1cl4qwzkf747ug6t
          name: com.aliyuncs.privatelink.cn-hangzhou.epsrv-bp1cl4qwzkf747ug6tmy
          status: Active
      status: Available      

    出力は、status フィールドが追加されたことを示しています。次の表に、status フィールド以下のフィールドを示します。

    フィールド

    説明

    clusters

    clusters:ACK クラスタに関するステータス情報を含むリスト。

    • clusterId:ACK クラスタの ID。

    • pvlEndpoint:特定の PrivateLink エンドポイントに関する詳細。

      • connectionStatus:ASM インスタンスと ACK クラスタを相互接続する PrivateLink 接続の状態。

      • domainName:ASM インスタンスと ACK クラスタを相互接続する PrivateLink エンドポイントのドメイン名。

      • id:ASM インスタンスと ACK クラスタを相互接続する PrivateLink エンドポイントの ID。

      • status:ASM インスタンスと ACK クラスタを相互接続する PrivateLink エンドポイントの状態。

    • pvlEndpointService:PrivateLink エンドポイントサービスリソースに関する情報。

      • id:ACK クラスタの API サーバーを公開するために使用される Server Load Balancer(SLB)インスタンスの PrivateLink エンドポイントサービスの ID。

      • name:ACK クラスタの API サーバーを公開するために使用される SLB インスタンスの PrivateLink エンドポイントサービスの名前。

      • status:ACK クラスタの API サーバーを公開するために使用される SLB インスタンスの PrivateLink エンドポイントサービスの状態。

    pilot

    pilot:ASM のコントロール プレーンによって管理されるサービスのステータス情報のリスト。

    • clusters:ACK クラスタに関するステータス情報のリスト。

      • clusterId:ACK クラスタの ID。

      • pvlEndpoint:特定の PrivateLink エンドポイントに関する詳細。

        • connectionStatus:ASM インスタンスと ACK クラスタを相互接続する PrivateLink 接続の状態。

        • domainName:ASM インスタンスと ACK クラスタを相互接続する PrivateLink エンドポイントのドメイン名。

        • id:ASM インスタンスと ACK クラスタを相互接続する PrivateLink エンドポイントの ID。

        • status:ASM インスタンスと ACK クラスタを相互接続する PrivateLink エンドポイントの状態。

    • pvlEndpointService:エンドポイントサービスリソースに関する情報を提供します。

      • id:ASM インスタンスの Istio Pilot を公開するために使用される SLB インスタンスの PrivateLink エンドポイントサービスの ID。

      • name:ASM インスタンスの Istio Pilot を公開するために使用される SLB インスタンスの PrivateLink エンドポイントサービスの名前。

      • status:ASM インスタンスの Istio Pilot を公開するために使用される SLB インスタンスの PrivateLink エンドポイントサービスの状態。

    status

    全体的な可用性ステータスを示します。Available は、接続が正常に設定されたことを示します。他の状態は、接続設定が失敗したことを示します。

  5. VPC コンソールにログインして、目的のエンドポイントサービスとエンドポイントのステータスを表示します。

    1. VPC コンソール にログインします。左側のナビゲーション ペインで、[エンドポイント サービス] をクリックします。

    2. 上部のナビゲーション バーで、目的のエンドポイントサービスが存在するリージョンを選択します。

    3. [エンドポイント サービス] ページで、目的のエンドポイントサービスのインスタンス ID をクリックして、エンドポイントサービスの詳細を表示します。

    4. 左側のナビゲーション ペインで、[エンドポイント] をクリックします。[エンドポイント] ページで、目的のエンドポイントのインスタンス ID をクリックして、エンドポイントの詳細を表示します。

  6. 手順 4 で説明されている clusters フィールドの clusterId で指定された ACK クラスタの pvlEndpoint.domainName を、ACK クラスタの API サーバー証明書の SAN カスタムフィールドに追加します。この例では、ドメイン名 ep-bp1i06bad79eb60c60cc.epsrv-bp1gqb8g1b8d7uactdab.cn-hangzhou.privatelink.aliyuncs.com が使用されています。詳細については、「ACK クラスタの作成時に API サーバー証明書の SAN をカスタマイズする」をご参照ください。

  7. ACK クラスタのステータスを確認します。

    ACK クラスタが「実行中」状態の場合、クロス VPC 接続は PrivateLink を使用して実装されます。