このページでは、組織内でリソースをグループ化するために Google Distributed Cloud(GDC)エアギャップ プロジェクトを作成する方法について説明します。プロジェクトは、リソースのライフサイクルとポリシーの境界を提供し、複数のユーザー グループが GDC リソースを個別に管理できるようにします。
このページは、組織内のリソースの管理を担当するプラットフォーム管理者グループ内の IT 管理者、セキュリティ エンジニア、ネットワーク管理者などのユーザーを対象としています。詳細については、GDC エアギャップ環境の対象読者に関するドキュメントをご覧ください。
始める前に
プロジェクトの作成に必要な権限を取得するには、組織の IAM 管理者にプロジェクト作成者ロール(project-creator
)の付与を依頼してください。
プロジェクトを作成する前に、Google Distributed Cloud(GDC)エアギャップがプロジェクトの識別に使用する情報を確認してください。
プロジェクト名: 人が読めるプロジェクト名。
プロジェクト名は GDC API では使用されません。プロジェクト名は、プロジェクトの作成中や作成後にいつでも編集できます。プロジェクト名は一意である必要はありません。
プロジェクトには次の名前の要件があります。
- 4 ~ 30 文字。
- 英数字、単一引用符、ハイフン、スペース、感嘆符が含まれている。
プロジェクト ID: グローバルに一意のプロジェクト ID。
プロジェクト ID は、プロジェクトを GDC の他のすべてのプロジェクトと区別するために使用する一意の文字列です。プロジェクト ID を変更できるのは、プロジェクトの作成時のみです。
プロジェクト ID には次の要件があります。
- 6 ~ 30 文字。
- 小文字、数字、ハイフンが含まれています。
- 文字で始まる。
g-project
など、接頭辞g-
で始めることはできません。- 末尾をハイフンにすることはできません。
- 文字列
-cluster
または-system
で終わってはなりません。-system
接尾辞は、GDC によって作成されたプロジェクト用に予約されています。 - 使用中または以前に使用された ID は指定できません(削除済みのプロジェクトも含む)。
プロジェクト名、プロジェクト ID、その他のリソース名には機密情報を含めないでください。プロジェクト ID は他の多くの GDC リソースの名前で使用され、プロジェクトや関連するリソースを参照すると、プロジェクト ID とリソース名が公開されます。
新しいプロジェクトを作成
プロジェクトを作成して、サービス リソースの論理グループ化を行うことができます。たとえば、開発環境、テスト環境、本番環境のリソースを保持する個別のプロジェクトを作成できます。
プロジェクトの作成に必要な権限を取得するには、組織の IAM 管理者にプロジェクト作成者のロールを付与するよう依頼してください。権限の付与の詳細については、サービス ID にロール バインディングを割り当てるをご覧ください。
コンソール
GDC コンソールを使用して新しいプロジェクトを作成する手順は次のとおりです。
- ナビゲーション メニューで [プロジェクト] をクリックします。
- [プロジェクトを追加] をクリックします。
- [プロジェクト名] フィールドにプロジェクト名を入力します。
- [続行] をクリックします。
- 省略可: プロジェクトのネットワーキング機能を構成します。[データ引き出し保護を有効にする] チェックボックスをオフにして、組織内の他のプロジェクトへのすべての下り(外向き)トラフィックを無効にします。
- [続行] をクリックします。
- [確認] セクションで、概要を確認して [作成] をクリックします。
- 新しいプロジェクトが使用可能であることを確認するために、コンソールに
Project PROJECT_NAME successfully created
というメッセージが表示されます。 - 新しいプロジェクトを請求先アカウントにリンクします。プロジェクトのリソース費用を追跡するには、プロジェクトにリンクされている関連付けられた請求先アカウントが必要です。
gdcloud
gdcloud CLI を使用して新しいプロジェクトを作成するには、次の操作を行います。
gdcloud CLI がインストールされていることを確認します。詳細については、gdcloud CLI の概要ページをご覧ください。
プロジェクトを作成するには、次のコマンドを実行します。
gdcloud projects create PROJECT_ID
PROJECT_ID
は、新しいプロジェクトの固有識別子に置き換えます。新しいプロジェクトが使用可能であることを確認するには、次のコマンドを実行します。
gdcloud projects list
新しいプロジェクトを請求先アカウントにリンクします。プロジェクトのリソース費用を追跡するには、プロジェクトにリンクされている関連付けられた請求先アカウントが必要です。
API
API を直接使用して新しいプロジェクトを作成する手順は次のとおりです。
グローバル管理 API サーバーの kubeconfig ファイルの環境変数を設定します。
export KUBECONFIG=GLOBAL_API_SERVER_KUBECONFIG
グローバル管理 API サーバーの kubeconfig ファイルがない場合は、生成します。
Project
カスタム リソースを作成して適用します。kubectl apply -f --kubeconfig=${KUBECONFIG} - <<EOF apiVersion: resourcemanager.global.gdc.goog/v1 kind: Project metadata: namespace: platform name: PROJECT_ID EOF
PROJECT_ID
は、新しいプロジェクトの固有識別子に置き換えます。新しいプロジェクトが使用可能であることを確認します。
kubectl --kubeconfig=${KUBECONFIG} get namespaces
新しいプロジェクトを請求先アカウントにリンクします。プロジェクトのリソース費用を追跡するには、プロジェクトにリンクされている関連付けられた請求先アカウントが必要です。
Terraform
Terraform を使用して新しいプロジェクトを作成する手順は次のとおりです。
Terraform が構成され、適切な権限が設定されていることを確認します。詳細については、Terraform を構成するをご覧ください。
Terraform 構成ファイルに次のコード スニペットを挿入します。
provider "kubernetes" { config_path = "GLOBAL_API_SERVER_KUBECONFIG" }
GLOBAL_API_SERVER_KUBECONFIG
は、グローバル管理 API サーバーの kubeconfig ファイルのパスに置き換えます。この kubeconfig ファイルがない場合は、生成します。main.tf
などの Terraform 構成ファイルに、次のコード スニペットを挿入します。resource "kubernetes_manifest" "project-create" { manifest = { "apiVersion" = "resourcemanager.global.gdc.goog/v1" "kind" = "Project" "metadata" = { "name" = "PROJECT_ID" "namespace" = "platform" } } }
PROJECT_ID
は、新しいプロジェクトの固有識別子に置き換えます。Terraform を使用して新しいプロジェクトを適用します。
terraform apply
新しいプロジェクトを請求先アカウントにリンクします。プロジェクトのリソース費用を追跡するには、プロジェクトにリンクされている関連付けられた請求先アカウントが必要です。