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

Alibaba Cloud Service Mesh:IPv6 ゲートウェイの作成

最終更新日:Jun 22, 2026

IPv6 は IPv4 と比較して、より大きなアドレス空間と強化されたセキュリティを提供します。このトピックでは、IPv6 アドレスを持つ Service Mesh (ASM) ゲートウェイを作成する方法と、既存のゲートウェイに IPv6 アドレスを追加する方法について説明します。

前提条件

クラスターが ASM インスタンスに追加されていること。詳細については、「ASM インスタンスへのクラスターの追加」をご参照ください。

方法1:IPv6 ASM ゲートウェイの作成

ASM ゲートウェイを作成する際に、service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ip-version: "ipv6" のアノテーションを追加して IPv6 アドレスを割り当てます。

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

  2. メッシュ管理ページで、対象の ASM インスタンス名をクリックします。左側のナビゲーションウィンドウで、ASM ゲートウェイ > Ingress ゲートウェイを選択します。

  3. Ingress Gatewayページで、Create from YAMLをクリックします。

  4. Createページで、Namespacesを istio-system に設定し、エディターに以下の内容を入力してから、Createをクリックします。

    clusterIds フィールドを、ご利用のデータプレーンクラスターの ID に設定します。

    YAML サンプル

    apiVersion: istio.alibabacloud.com/v1beta1
    kind: IstioGateway
    metadata:
      name: ingressgateway
      namespace: istio-system
    spec:
      gatewayType: ingress
      clusterIds:
        - c808cdd6abd854d5ba6764da5ca2e****          # これをご利用のデータプレーンクラスターの ID に置き換えます。
      ports:
        - name: http-0
          port: 80
          targetPort: 80
          protocol: HTTP
        - name: https-1
          port: 443
          targetPort: 443
          protocol: HTTPS
      serviceAnnotations:
        service.beta.kubernetes.io/alicloud-loadbalancer-address-type: internet
        service.beta.kubernetes.io/alibaba-cloud-loadbalancer-spec: slb.s1.small
        service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ip-version: "ipv6"
      replicaCount: 1
      resources:
        limits:
          cpu: '2'
          memory: 4G
        requests:
          cpu: 200m
          memory: 256Mi
      serviceType: LoadBalancer
      autoCreateGatewayYaml: true                      

    パラメーター

    説明

    service.beta.kubernetes.io/alicloud-loadbalancer-address-type

    Classic Load Balancer (CLB) インスタンスのネットワークタイプ。有効な値は次のとおりです:

    • internet:パブリックネットワーク。

    • intranet:プライベートネットワーク。

    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-spec

    CLB インスタンスの仕様。有効な値は、slb.s1.small、slb.s2.small、slb.s2.medium、slb.s3.small、slb.s3.medium、slb.s3.large です。

    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ip-version

    値を "ipv6" に設定すると、CLB インスタンスに IPv6 アドレスが割り当てられます。

    ゲートウェイが作成されると、Ingress Gatewayページに、ゲートウェイの Service addressとして IPv6 アドレスが表示されます。

方法2:既存の ASM ゲートウェイへの IPv6 の追加

IPv4 アドレスを使用する ASM ゲートウェイがある場合、追加の CLB インスタンスを作成することで IPv6 サポートを追加できます。これにより、ゲートウェイは IPv4 と IPv6 の両方のアドレスを使用できるようになります。

  1. Container Service for Kubernetes (ACK) コンソールにログインします。左側のナビゲーションウィンドウで、クラスターリストをクリックします。

  2. クラスターリストページで、対象のクラスター名をクリックします。左側のナビゲーションウィンドウで、ネットワーク > サービスをクリックします。

  3. サービスページで、ページ上部の 名前空間を istio-system に設定し、右上隅の YAML のリソースの作成をクリックします。

  4. デプロイページで、サンプルテンプレートを カスタムに設定し、テンプレートエディターに以下の内容をコピーしてから、デプロイをクリックします。

    重要

    nodePort の値は、既存のポート番号と競合しないようにする必要があります。

    YAML サンプル

    apiVersion: v1
    kind: Service
    metadata:
      annotations:
        service.beta.kubernetes.io/alicloud-loadbalancer-address-type: internet
        service.beta.kubernetes.io/alibaba-cloud-loadbalancer-spec: slb.s1.small
        service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ip-version: "ipv6"
      labels:
        app: istio-ingressgateway
        asm-system: 'true'
        istio: ingressgateway
      name: istio-ingressgateway-2
      namespace: istio-system
    spec:
      externalTrafficPolicy: Cluster
      ports:
        - name: http-0
          nodePort: 30544
          port: 80
          protocol: TCP
          targetPort: 80
        - name: https-2
          nodePort: 30682
          port: 443
          protocol: TCP
          targetPort: 443
      selector:
        app: istio-ingressgateway
        asm-system: 'true'
        istio: ingressgateway
        provider: asm
      sessionAffinity: None
      type: LoadBalancer
                            

    パラメーター

    説明

    service.beta.kubernetes.io/alicloud-loadbalancer-address-type

    CLB インスタンスのネットワークタイプ。有効な値は次のとおりです:

    • internet:パブリックネットワーク。

    • intranet:プライベートネットワーク。

    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-spec

    CLB インスタンスの仕様。有効な値は、slb.s1.small、slb.s2.small、slb.s2.medium、slb.s3.small、slb.s3.medium、slb.s3.large です。

    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ip-version

    値を "ipv6" に設定すると、CLB インスタンスに IPv6 アドレスが割り当てられます。

    サービスが作成されると、サービスページの 外部 IP 列に、istio-ingressgateway と istio-ingressgateway-2 の IPv4 および IPv6 アドレスがリスト表示されます。これらのアドレスは、ASM ゲートウェイの IPv4 および IPv6 エントリポイントとして機能します。

よくある質問

クライアントの元の IPv6 アドレスの取得

  1. IPv6 アドレスに関連付けられている CLB インスタンスを構成します。ポート 80 と 443 のリスナー構成を変更します。詳細設定セクションで、プロキシプロトコルを有効にします。詳細については、「CLB インスタンスのレイヤー 4 リスナーを使用してクライアントの実際の IP アドレスを取得する」をご参照ください。

  2. EnvoyFilter テンプレートを作成します。

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

    2. メッシュ管理ページで、対象の ASM インスタンス名をクリックします。左側のナビゲーションウィンドウで、プラグイン拡張センター > EnvoyFilter テンプレートを選択します。表示されたページで、EnvoyFilter テンプレートの作成をクリックします。

    3. Createページで、テンプレート名を入力し、Add an EnvoyFilter template for specific adapted istio version.をクリックし、Adapted istio versionを選択して、以下の YAML を構成してから、Createをクリックします。

      apiVersion: networking.istio.io/v1alpha3
      kind: EnvoyFilter
      metadata:
        name: proxy-protocol
        namespace: istio-system
      spec:
        configPatches:
        - applyTo: LISTENER
          patch:
            operation: MERGE
            value:
              listener_filters:
              - name: envoy.listener.proxy_protocol
              - name: envoy.listener.tls_inspector
        workloadSelector:
          labels:
            istio: ingressgateway
  3. EnvoyFilter テンプレートを ASM ゲートウェイに適用して、プロキシプロトコルのサポートを有効にします。

    1. EnvoyFilter Templateページで、対象のテンプレートを見つけ、Actions列の Edit templateをクリックします。

    2. Edit EnvoyFilter Templateページで、Bind template to workloadsタブをクリックし、Bind EnvoyFilter to Workloadsをクリックします。

    3. Bind EnvoyFilter to Workloadsダイアログボックスで、Namespacesを istio-system に、Workload Typeを Deployment に設定します。Not boundセクションで、対象のゲートウェイの横にある Bindをクリックし、OK をクリックします。

  4. IPv6 ネットワーク経由でゲートウェイの IPv6 URL にアクセスし、対応するゲートウェイログを表示します。

    以下のサンプルゲートウェイログでは、downstream_remote_address フィールドの値がクライアントの元の IPv6 アドレスです。

    {"upstream_cluster":null,"bytes_received":0,"downstream_local_address":"[2400:XXXX:1300::12d1]:80","upstream_service_time":null,"FILTER_CHAIN_NAME":null,"path":"/","x_forwarded_for":"2402:XXXX:1800:af00:0:9671:f00f:314b","upstream_host":null,"bytes_sent":0,"requested_server_name":null,"route_name":null,"response_flags":"NR","start_time":"2022-12-28T06:41:57.796Z","upstream_transport_failure_reason":null,"protocol":"HTTP/1.1","authority":"[2400:XXXX:1300::12d1]","LOCAL_REPLY_BODY":"","duration":0,"method":"GET","downstream_remote_address":"[2402:XXXX:1800:af00:0:9671:f00f:314b]:58272","request_id":"fee2b69a-b755-986b-91e4-5d228c81****","user_agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36","trace_id":null,"authority_for":"[2400:XXXX:1300::12d1]","upstream_local_address":null,"istio_policy_status":null,"response_code":404}