マネージド コントロール プレーンでオプション機能を有効にする
このページでは、マネージド 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