マネージド コントロール プレーンでオプション機能を有効にする
このページでは、マネージド Cloud Service Mesh でオプション機能を有効にする方法について説明します。クラスタ内のコントロール プレーンについては、クラスタ内のコントロール プレーンでオプション機能を有効にするをご覧ください。
マネージド Cloud Service Mesh をプロビジョニングする場合、サポートされている機能はコントロール プレーンの実装によって異なり、特定の機能は許可リスト経由でのみ使用できます。詳しくは、サポートされている機能をご覧ください。現在、IstioOperator ベースの構成を使用している場合は、Migrate from IstioOperator ツールを使用してマネージド コントロール プレーンでサポートされる構成に変換できます。
Distroless プロキシ イメージ
- マネージド - TRAFFIC_DIRECTORコントロール プレーンの実装を使用して Cloud Service Mesh に直接オンボーディングした場合は、distroless イメージタイプのみがサポートされます。これは変更できません。
- フリートが元々 - ISTIODコントロール プレーン実装を使用していて- TRAFFIC_DIRECTOR実装に移行された場合、イメージタイプは移行時には変更されないまま残されますが、ユーザー自身で distroless に変更できます。
コンテナ ランタイムの内容は、必要なパッケージのみに制限することをおすすめします。この方法により、セキュリティと共通脆弱性識別子(CVE)スキャナの信号対雑音比が改善されます。Istio は、distroless ベースイメージに基づくプロキシ イメージを提供します。
distroless プロキシ イメージには、プロキシ以外のバイナリが含まれていません。したがって、シェルで exec を実行することはできません。また、コンテナ内で curl、ping などのデバッグ ユーティリティを使用することもできません。ただし、エフェメラル コンテナを使用して実行中のワークロード Pod に接続し、Pod を検査してカスタム コマンドを実行できます。たとえば、Cloud Service Mesh ログの収集をご覧ください。
次の構成では、Cloud Service Mesh 全体で distroless イメージを有効にします。イメージタイプを変更するには、各 Pod を再起動して再挿入する必要があります。
     apiVersion: v1
     kind: ConfigMap
     metadata:
       name: istio-release-channel
       namespace: istio-system
     data:
       mesh: |-
         defaultConfig:
           image:
             imageType: distroless
次の Pod アノテーションを使用して、imageType をオーバーライドできます。
sidecar.istio.io/proxyImageType: debug
アノテーションを使用して Deployment のイメージタイプを変更した後、Deployment を再起動する必要があります。
kubectl rollout restart deployment -n NAMESPACE DEPLOYMENT_NAME
デバッグ ベースイメージを必要としないため、ほとんどのタイプのプロキシ デバッグでは gcloud beta container fleet mesh debug proxy-status / proxy-config を使用する必要があります(詳細)。
アウトバウンド トラフィック ポリシー
デフォルトでは outboundTrafficPolicy は ALLOW_ANY に設定されています。このモードでは、外部サービスへのトラフィックはすべて許可されます。トラフィックを制御し、サービス エントリが定義されている外部サービスのみに制限するには、ALLOW_ANY のデフォルトの動作を REGISTRY_ONLY に変更します。
- 次の構成では、 - outboundTrafficPolicyを- REGISTRY_ONLYに構成します。- apiVersion: v1 kind: ConfigMap metadata: name: istio-release-channel namespace: istio-system data: mesh: |- outboundTrafficPolicy: mode: REGISTRY_ONLY- release-channel は、リリース チャンネル( - asm-managed、- asm-managed-stableまたは- asm-managed-rapid)です。
- 次のコマンドを使用して、事前に必要な構成の変更を ConfigMap で行うことができます。 - kubectl edit configmap istio-release-channel -n istio-system -o yaml 
- 次のコマンドを実行して ConfigMap を表示します。 - kubectl get configmap istio-release-channel -n istio-system -o yaml 
- outboundTrafficPolicyが- REGISTRY_ONLYで有効になっていることを確認するには、- mesh:セクションに次の行が表示されることを確認します。- ... apiVersion: v1 data: mesh: | outboundTrafficPolicy: mode: REGISTRY_ONLY ...
エンドユーザー認証
デプロイされたワークロードへのブラウザベースのエンドユーザー認証とアクセス制御のためにマネージド Cloud Service Mesh ユーザー認証を構成できます。詳細については、Cloud Service Mesh のユーザー認証の構成をご覧ください。
ワークロードの最小 TLS バージョンを構成する
マネージド TRAFFIC_DIRECTOR コントロール プレーンの実装を使用して Cloud Service Mesh に直接オンボーディングした場合、この設定を変更することはできません。
minProtocolVersion フィールドを使用して、ワークロード間の TLS 接続の最小 TLS バージョンを指定できます。TLS の最小バージョンの設定とワークロードの TLS 構成の確認の詳細については、Istio ワークロードの最小 TLS バージョン構成をご覧ください。
次の例は、ワークロードの最小 TLS バージョンを 1.3 に設定する ConfigMap を示しています。
apiVersion: v1
kind: ConfigMap
metadata:
  name: istio-release-channel
  namespace: istio-system
data:
  mesh: |-
    meshMTLS:
      minProtocolVersion: TLSV1_3