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

Alibaba Cloud Service Mesh:ASM イングレスゲートウェイの圧縮の有効化

最終更新日:Jun 22, 2026

ASM イングレスゲートウェイの圧縮を有効にすると、HTTP 応答が圧縮されます。これにより、応答速度が向上し、帯域幅の使用量が削減されます。このトピックでは、ASM イングレスゲートウェイの圧縮を有効にする方法について説明します。

前提条件

操作手順

  1. ACK クラスターに Nginx をデプロイします。

    1. 次の内容で nginx.yaml という名前のファイルを作成します。

      Nginx.yaml

      apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2
      kind: Deployment
      metadata:
        name: nginx-deployment
      spec:
        selector:
          matchLabels:
            app: nginx
        replicas: 1
        template:
          metadata:
            labels:
              app: nginx
              sidecarset-injected: "true"
          spec:
            containers:
            - name: nginx
              image: nginx:1.14.2
              ports:
              - containerPort: 80
      ---
      apiVersion: v1
      kind: Service
      metadata:
        name: nginx
      spec:
        ports:
          - name: http
            port: 80
            protocol: TCP
            targetPort: 80
        selector:
          app: nginx
        type: ClusterIP
    2. 次のコマンドを実行して、Nginx アプリケーションをデプロイします。

      kubectl apply -f nginx.yaml
  2. VirtualService と Gateway を作成します。

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

    2. [メッシュ管理] ページで、設定する ASM インスタンスを見つけます。ASM インスタンスの名前をクリックするか、[操作] 列の [管理] をクリックします。

    3. ASM インスタンスの詳細ページで、左側のナビゲーションウィンドウから [トラフィック管理センター] > [VirtualService] を選択します。表示されたページで、[YAML から作成] をクリックします。

    4. Create ページで、対象の Namespaces を選択し、次の内容をコードエディタに貼り付けてから、Create をクリックします。

      apiVersion: networking.istio.io/v1beta1
      kind: VirtualService
      metadata:
        name: nginx
        namespace: default
      spec:
        gateways:
          - nginx-gateway
        hosts:
          - '*'
        http:
          - match:
              - uri:
                  exact: /
            route:
              - destination:
                  host: nginx
                  port:
                    number: 80
    5. ASM インスタンスの詳細ページで、左側のナビゲーションウィンドウから [ASM ゲートウェイ] > [Gateway] を選択します。表示されたページで、[YAML から作成] をクリックします。

    6. Create ページで、対象の Namespaces を選択し、次の内容をコードエディタに貼り付けてから、Create をクリックします。

      apiVersion: networking.istio.io/v1beta1
      kind: Gateway
      metadata:
        name: nginx-gateway
        namespace: default
      spec:
        selector:
          istio: ingressgateway
        servers:
          - hosts:
              - '*'
            port:
              name: http
              number: 80
              protocol: HTTP
  3. ASM イングレスゲートウェイの圧縮を有効にします。

    1. 左側のナビゲーションウィンドウで、ASM Gateways > Ingress Gateway を選択します。

    2. Ingress Gateway ページで、[ingressgateway] を見つけ、[操作] 列の View YAML をクリックします。

    3. Edit ダイアログボックスで、次の内容を追加し、OK をクリックします。

      compression:
        content_type:
          - text/html
        enabled: true
        gzip:
          memory_level: 9
        remove_accept_encoding_header: true

      次の表に、主要な圧縮フィールドを示します。圧縮フィールドの詳細については、「Kubernetes API を使用したイングレスゲートウェイの管理」をご参照ください。

      パラメーター

      説明

      compression.content_type

      圧縮するコンテンツタイプのリスト。

      compression.enabled

      イングレスゲートウェイの圧縮を有効にするかどうかを指定します。

      compression.gzip

      Gzip 圧縮のメモリレベル。

      compression.remove_accept_encoding_header

      • true に設定すると、イングレスゲートウェイはクライアントリクエストをアップストリームサービスに転送する前に、リクエストから Accept-Encoding ヘッダーを削除します。

      • false に設定すると、イングレスゲートウェイはクライアントリクエストをアップストリームサービスに転送する前に、リクエストの Accept-Encoding ヘッダーを保持します。

圧縮の確認

  1. ブラウザの開発者ツールを開きます。このガイドでは、例として Google Chrome を使用します。

    1. Google Chrome の右上隅にある 设置 アイコンをクリックします。

    2. [その他のツール] > [開発者ツール] を選択します。

  2. Nginx アプリケーションにアクセスします。

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

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

    3. サービス ページで、名前空間[istio-system] に設定し、[外部 IP] 列で istio-ingressgateway サービス (ポート 80) の IP アドレスを見つけます。

    4. ブラウザのアドレスバーに、istio-ingressgateway サービスの外部 IP アドレスを入力します。

      応答の Content-Encodinggzip であることがわかります。これは、ASM イングレスゲートウェイの圧縮が正常に有効化されたことを示します。ネットワークパネルで任意のリクエストを選択し、レスポンスヘッダーcontent-encoding: gzip が含まれていることを確認します。これにより、ASM イングレスゲートウェイで gzip 圧縮が正常に有効化されたことが示されます。