このページでは、Anthos Service Mesh の新規インストールを計画する際に役立つ情報を提供します。
コントロール プレーンをカスタマイズする
Anthos Service Mesh がサポートする機能はプラットフォームによって異なります。サポートされている機能で、ご使用のプラットフォームでサポートされている機能を確認することをおすすめします。一部の機能はデフォルトで有効になっており、それ以外は IstioOperator
オーバーレイ ファイルを作成することで、必要に応じて有効にすることもできます。asmcli install
の実行時に、オーバーレイ ファイルで --custom_overlay
オプションを指定すると、コントロール プレーンをカスタマイズできます。ベスト プラクティスとして、オーバーレイ ファイルは、バージョン管理システムに保存することをおすすめします。
GitHub の anthos-service-mesh
パッケージには、多くのオーバーレイ ファイルが含まれています。これらのファイルには、デフォルト構成に対する一般的なカスタマイズが含まれています。これらのファイルはそのまま使用することも、必要に応じて変更を加えることもできます。一部のファイルは、オプションの Anthos Service Mesh 機能を有効にする必要があります。asmcli
を実行してプロジェクトとクラスタを検証すると、anthos-service-mesh
パッケージがダウンロードされます。
asmcli install
を使用して Anthos Service Mesh をインストールする場合は、--option
または --custom_overlay
で 1 つ以上のオーバーレイ ファイルを指定できます。anthos-service-mesh
リポジトリ内のファイルを変更する必要がない場合は、--option
を使用します。これにより、GitHub からファイルが取得されます。それ以外の場合は、オーバーレイ ファイルを変更してから、--custom_overlay
オプションを使用して asmcli
に渡します。
認証局を選択する
ユースケース、プラットフォーム、コントロール プレーンの種類(クラスタ内またはマネージド)に応じて、相互 TLS(mTLS)証明書を発行するために、認証局(CA)として次のいずれかを選択できます。
このセクションでは、これらの CA の各オプションとユースケースの概要について説明します。
Mesh CA
カスタム CA が必要な場合を除き、次の理由により Mesh CA を使用することをおすすめします。
- Mesh CA は、信頼性の高いスケーラブルなサービスで、Google Cloud 上で動的にスケーリングされるワークロード用に最適化されています。
- Mesh CA を使用する場合、Google は CA バックエンドのセキュリティと可用性を管理します。
- Mesh CA を使用すると、クラスタ間で単一のルート オブ トラストを使用できます。
Mesh CA からの証明書には、アプリケーションのサービスに関する次のデータが含まれます。
- Google Cloud プロジェクト ID。
- GKE 名前空間
- GKE サービス アカウント名
CA Service
Mesh CA に加えて、Certificate Authority Service を使用するように Anthos Service Mesh を構成できます。このガイドでは、CA Service とのインテグレーションについて説明します。このインテグレーションは、次のようなユースケースでおすすめします。
- 異なるクラスタ上のワークロード証明書への署名に別の認証局が必要な場合。
istiod
カスタム CA プラグイン証明書を使用する場合。- マネージド HSM に署名鍵を元に戻す必要がある場合。
- 規制の厳しい業界で、コンプライアンスの対象となっている場合。
- Anthos Service Mesh CA をカスタム エンタープライズ ルート証明書のチェーンに追加して、ワークロード証明書に署名する場合。
メッシュ CA の費用は Anthos Service Mesh の料金に含まれています。CA Service は Anthos Service Mesh の基本料金に含まれず、別途課金されます。また、CA Service には明示的な SLA が提供されますが、Mesh CA には提供されません。
このインテグレーションでは、Anthos Service Mesh のワークロードすべてに次の IAM ロールが付与されます。
privateca.workloadCertificateRequester
privateca.auditor
privateca.template
(証明書テンプレートを使用する場合に必要)
Istio CA
次の条件を満たしている場合は、Istio CA を使用することをおすすめします。
- メッシュですでに Istio CA が使用されているため、Mesh CA または CA Service で実現されるメリットが不要。
- カスタムルート CA が必要。
- Google Cloud マネージド CA サービスが許可されない Google Cloud 以外のワークロードがある。
ゲートウェイ構成を準備する
Anthos Service Mesh では、サービス メッシュの一部としてゲートウェイをデプロイし、管理できます。ゲートウェイでは、メッシュのエッジで動作し、受信または送信 HTTP / TCP 接続を処理するロードバランサを記述します。ゲートウェイは、メッシュ内外に送信されるトラフィックをきめ細かく制御する Envoy プロキシです。
デフォルトでは、asmcli
は istio-ingressgateway
をインストールしません。コントロール プレーンとゲートウェイを個別にデプロイして管理することをおすすめします。詳細については、ゲートウェイのインストールとアップグレードをご覧ください。クラスタ内コントロール プレーンにデフォルトの istio-ingressgateway
をインストールする必要がある場合は、--option legacy-default-ingressgateway
引数を指定します。