用語集

このページでは、Anthos Service Mesh のドキュメントで使用されている用語の簡単な定義と詳細情報へのリンクをまとめています。

C

コントロール プレーン

コントロール プレーンは、メッシュまたはメッシュのサブセットを構成する一連のシステム サービスで、内部のワークロード インスタンス間の通信を管理します。Anthos Service Mesh 1.9 以降には、次の 2 つのコントロール プレーンが用意されています。

  • Google 管理のコントロール プレーン(プレビュー版): Google が信頼性、アップグレード、スケーリング、セキュリティに対応しますが、構成に必要なものはフルマネージド Google Cloud サービスのみです。

  • クラスタ内コントロール プレーン: クラスタにインストールされる istiod です。これは Google がサポートするディストリビューションです。istiod を使用して Anthos Service Mesh をインストールする場合は、セキュリティとスケーリングのアップグレードと構成はユーザーの責任となります。

コントロール プレーンは構成をサイドカー プロキシに配信しますが、コントロール プレーンはメッシュ内のワークロードのトラフィックを直接処理しません。

D

データプレーン
データプレーンは、ワークロード インスタンス間の通信を直接制御するメッシュの一部です。Anthos Service Mesh のデータプレーンは、サイドカーとしてデプロイされたプロキシを使用して、メッシュ サービスが送受信するすべての TCP トラフィックを仲介および制御します。

F

フリート
フリート(旧称 environ)を使用してクラスタを整理すると、複数クラスタの管理が容易になります。フリートにクラスタを登録すると、ID、名前空間、サービスに関して「同一性」というコンセプトを導入して、マルチクラスタ メッシュの管理を簡素化できます。複数のプロジェクトにクラスタがある場合は、クラスタが属しているプロジェクトではなく、フリートのホスト プロジェクトにクラスタを登録する必要があります。フリートの詳細については、フリートの概要をご覧ください。

I

ID

ID はセキュリティ インフラストラクチャの基本コンセプトです。Anthos Service Mesh ID モデルは、トップクラスのワークロード ID に基づいています。サービス間通信の開始時、相互認証の目的で ID 情報とともに認証情報が両当事者間で交換されます。

クライアントは、サーバー ID と安全な命名に関する情報をチェックして、サーバーがサービスを実行する権限を持っているかどうかを確認します。

サーバーはクライアントの ID を確認し、クライアントがアクセスできる情報を判断します。サーバーは、構成された認証ポリシーに基づいてアクセスを許可するかどうかを決定します。

サーバーは ID を使用して、特定のクライアントが情報にアクセスした時刻と、アクセスした情報の内容をモニタリングできます。また、使用するサービスに基づいてクライアントに課金し、支払いに失敗したクライアントをサービスにアクセスできないように拒否することもできます。

Anthos Service Mesh ID モデルは、人間のユーザー、個々のサービス、サービスのグループを表すのに十分な柔軟性と粒度を備えています。最高レベルのサービス ID を持たないプラットフォームでは、サービス名などのサービス インスタンスをグループ化できる ID を使用できます。

Anthos Service Mesh は、さまざまなプラットフォームで次のサービス ID をサポートします。

  • Kubernetes: Kubernetes サービス アカウント

  • Google Kubernetes Engine: Google Cloud サービス アカウント

  • Google Cloud: Google Cloud サービス アカウント

istiod

Istiod は、コントロール プレーン サービスを提供する統合されたモノリシック バイナリです。Anthos Service Mesh 1.5 より前では、コントロール プレーン サービスは Pilot、Citadel、Mixer、Galley という個別のコンポーネントで提供されていました。

IstioOperator

コントロール プレーンの構成に使用するカスタム リソース。詳細については、Istio ドキュメントの IstioOperator をご覧ください。

M

相互 TLS
Anthos Service Mesh は、メッシュ内のサービス間の認証と暗号化に相互 TLS(mTLS)を使用します。mTLS を使用すると、ワークロードが互いの ID を検証でき、相互に認証できます。HTTPS では、ブラウザがウェブサーバーを信頼し、暗号化されたデータを交換するためにシンプルな TLS が使用されています。シンプルな TLS では、クライアントは証明書を検証してサーバーが信頼できるかどうか確認します。mTLS は、クライアントとサーバーの両方が相互に証明書を提示し、互いの ID を検証します。

N

ネットワーク
Anthos Service Mesh では、一般的な接続に基づいて、簡素化されたネットワーク定義を使用しています。ワークロード インスタンスは、ゲートウェイなしで直接通信できる場合は同じネットワーク上に存在します。

##

オーバーレイ ファイル
IstioOperator カスタム リソース(CR)を含む YAML ファイル。オーバーレイ ファイルを使用してコントロール プレーンを構成します。デフォルトのコントロール プレーン構成をオーバーライドし、istioctl install または install_asm スクリプトに渡す YAML ファイルでサポートされているオプション機能を有効にできます。複数のオーバーレイを重ねることができます。各オーバーレイ ファイルは、以前のレイヤの構成をオーバーライドします。デフォルトで有効になっていない機能を有効化するための YAML については、オプション機能の有効化をご覧ください。

P

プライマリ クラスタ
プライマリ クラスタは、コントロール プレーンを含むクラスタです。1 つのメッシュで複数のプライマリ クラスタを使用することで、高可用性の実現やレイテンシの短縮が可能です。Istio 1.7 ドキュメントでは、マルチプライマリ デプロイはレプリケートされたコントロール プレーンと呼ばれます。

R

リモート クラスタ
リモート クラスタは、クラスタの外部に存在するコントロール プレーンに接続するクラスタです。リモート クラスタは、プライマリ クラスタで実行されているコントロール プレーンまたは外部コントロール プレーンに接続できます。
リビジョン
リビジョンは、アプリケーション コードのバージョンと構成のその時間のスナップショットを表します。Anthos Service Mesh をインストールまたはアップグレードすると、バージョンを識別するリビジョン ラベルが istiod に追加されます。自動サイドカー インジェクションを有効にするには、名前空間にリビジョン ラベルを追加して Pod を再起動します。リビジョン ラベルを使用して、名前空間内の Pod を特定の istiod リビジョンに関連付けると、問題が発生した場合に、安全に新しいコントロール プレーンにアップグレードして、元のリビジョンにロールバックできます。

S

安全な命名
サーバー ID は証明書にエンコードされますが、サービス名は検出サービスまたは DNS を介して取得されます。安全な命名に関する情報は、サーバー ID をサービス名にマッピングします。ID A からサービス名 B へのマッピングは、「A はサービス B を実行する権限を持つ」ことを意味します。コントロール プレーンは apiserver を監視し、安全な命名のマッピングを生成して、サイドカー プロキシに安全に配布します。
サービス メッシュ
サービス メッシュ(または単にメッシュ)は、管理され、監視可能で安全な通信をワークロード インスタンス間で可能にするインフラストラクチャ レイヤです。
サイドカー
ワークロードとともにユーティリティまたはヘルパーを実行するためのパターン。Kubernetes の場合、サイドカーは Pod のワークロード コンテナとともに実行されます。サービス メッシュに関する文脈ではプロキシの意味で使用されます。

T

信頼ドメイン

信頼ドメインはシステムのルート オブ トラストに対応し、ワークロード ID の一部です。

Anthos Service Mesh は、信頼ドメインを使用してメッシュ内のすべての ID を作成します。たとえば、SPIFFE ID spiffe://mytrustdomain.com/ns/default/sa/myname では、部分文字列 mytrustdomain.com は、ワークロードが mytrustdomain.com と呼ばれる信頼ドメインからのものであることを指定します。

Mesh CA を使用すると、Anthos Service Mesh によって信頼ドメインが自動的に生成されます。これは、クラスタのワークロード プールに基づいており、project-id.svc.id.goog または project-id.hub.id.goog の形式です。

クラスタが同じルート オブ トラストを共有している限り、マルチクラスタ メッシュ内に 1 つ以上の信頼ドメインを含めることができます。

W

ワークロード
ワークロードとは、プラットフォームで実行されるバッチジョブやデーモンなど、コンテナ化されたアプリケーション、サービス、その他のプログラムのことです。このプラットフォームは、Kubernetes クラスタ、仮想マシン、または Google Distributed Cloud Virtual for Bare Metal などの他の環境です。ワークロードには名前、名前空間、一意の ID があります。Kubernetes では、ワークロードは通常 Deployment に対応しますが、他の種類のワークロード(StatefulSet など)もあります。