このドキュメントでは、Google Distributed Cloud(GDC)エアギャップでプロジェクトがどのように機能するかの概要について説明します。プロジェクトは、リソースのコレクションです。プロジェクトは、組織内のリソースをセグメント化し、リソースのライフサイクルを管理してポリシーを適用するための境界を提供します。プロジェクトを削除すると、プロジェクト内のすべてのリソースも削除されます。プロジェクトに適用されるポリシーは、プロジェクト内のすべてのリソースにも適用されます。プロジェクトを使用すると、リソースをグループとして整理して管理できます。詳細については、リソース階層をご覧ください。
このドキュメントは、組織内のリソースの管理を担当するプラットフォーム管理者グループ内の IT 管理者、セキュリティ エンジニア、ネットワーク管理者などのユーザーを対象としています。詳細については、GDC のエアギャップ環境のユーザー グループのドキュメントをご覧ください。
プロジェクト ID
プロジェクトには次の 2 つの識別子があります。
プロジェクト名: 人が読めるプロジェクト名。プロジェクト名は GDC API では使用されません。プロジェクト名は、プロジェクトの作成中や作成後にいつでも編集できます。プロジェクト名は一意である必要はありません。
プロジェクト ID: グローバルに一意のプロジェクト ID。プロジェクト ID は、GDC でプロジェクトを区別するために使用される一意の文字列です。プロジェクト ID は、プロジェクトの作成時にシステムによって生成され、プロジェクトが使用可能になった後に変更することはできません。プロジェクトによって伝播される Namespace は、プロジェクト ID と同じです。
プロジェクト名、プロジェクト ID、その他のリソース名には機密情報を含めないでください。プロジェクト ID は他の多くの GDC リソースの名前で使用され、プロジェクトや関連するリソースを参照すると、プロジェクト ID とリソース名が公開されます。
プロジェクトの名前空間
プロジェクトの Namespace には、次のような複数のリソースと構成がホストされます。
- プロジェクト スコープのサービス API または Kubernetes カスタム リソース定義。
- ロールやロール バインディングなどのプロジェクト レベルのポリシー構成。
プロジェクトは、組織内の複数の共有 Kubernetes クラスタにまたがる Kubernetes Namespace と見なされます。共有クラスタは複数のプロジェクトに接続できる Kubernetes クラスタですが、標準クラスタは単一のプロジェクト Namespace 内で動作する Kubernetes クラスタです。GDC の Kubernetes クラスタの詳細については、Kubernetes クラスタの構成をご覧ください。
Kubernetes は各共有クラスタを個別のエンティティとして扱い、各共有クラスタには独立したプロジェクト Namespace があります。ただし、GDC 組織内のすべての共有クラスタでは、GDC は同じ名前のすべての Namespace を同じ Namespace とみなします。これを Namespace の同一性と呼びます。単一の Namespace には、共有クラスタのセット全体で一貫したオーナーがいます。サービス プロバイダは、名前空間にコントロール プレーン コンポーネントとデータプレーン コンポーネントを作成して、プロジェクト スコープのサービスを作成します。

この図は、3 つの共有クラスタにわたる Namespace の同一性を示しています。各クラスタは、組織の開発ライフサイクルに対応するコンテナ ワークロード用です。クラスタにまたがる Namespace を提供する 2 つのプロジェクト Namespace backend と frontend があります。プロジェクト Namespace は複数の共有クラスタに複製されますが、一貫した権限と特性を持つ単一の Namespace として認識されます。