このドキュメントでは、組織内のリソースをグループ化するために Google Distributed Cloud(GDC)のエアギャップ プロジェクトを作成する方法について説明します。プロジェクトは、リソースのライフサイクルとポリシーの境界を提供し、複数のユーザー グループが GDC リソースを個別に管理できるようにします。
このドキュメントは、組織内のリソースの管理を担当するプラットフォーム管理者グループ内の IT 管理者、セキュリティ エンジニア、ネットワーク管理者などのユーザーを対象としています。詳細については、GDC エアギャップの対象ユーザーに関するドキュメントをご覧ください。
始める前に
このドキュメントのタスクを実行するには、次の操作を完了する必要があります。
プロジェクトの作成に必要な権限を取得するには、組織 IAM 管理者にプロジェクト作成者ロール(
project-creator)の付与を依頼してください。gdcloud CLI を使用するには、インストールされていることを確認してください。詳細については、gdcloud CLI をインストールするをご覧ください。
Terraform を使用するには、Terraform が構成されていることを確認してください。詳細については、Terraform を構成するをご覧ください。
新しいプロジェクトを作成
プロジェクトを作成して、サービス リソースの論理グループ化を行うことができます。たとえば、開発環境、テスト環境、本番環境のリソースを保持する個別のプロジェクトを作成できます。
プロジェクトの作成に必要な権限を取得するには、組織の IAM 管理者にプロジェクト作成者のロールを付与するよう依頼してください。権限の付与の詳細については、サービス ID にロール バインディングを割り当てるをご覧ください。
コンソール
GDC コンソールを使用して新しいプロジェクトを作成する手順は次のとおりです。
- ナビゲーション メニューで [プロジェクト] をクリックします。
- [プロジェクトを追加] をクリックします。
- [プロジェクト名] フィールドにプロジェクト名を入力します。
- プロジェクトに関連付ける請求先アカウント ID を指定します。プロジェクトのリソース費用を追跡するには、プロジェクトを請求先アカウントにリンクする必要があります。詳細については、請求先アカウントを作成してリンクするをご覧ください。
- [続行] をクリックします。
- 省略可: プロジェクトのネットワーキング機能を構成します。[データ引き出し保護を有効にする] チェックボックスをオフにして、組織内の他のプロジェクトへのすべての下り(外向き)トラフィックを無効にします。
- [続行] をクリックします。
- [確認] セクションで、概要を確認して [作成] をクリックします。
- 新しいプロジェクトが使用可能であることを確認するために、コンソールにメッセージ
Project PROJECT_NAME successfully createdが表示されます。
gdcloud
gdcloud CLI を使用して新しいプロジェクトを作成するには、次の操作を行います。
プロジェクトを作成するには、次のコマンドを実行します。
gdcloud projects create PROJECT_IDPROJECT_IDは、新しいプロジェクトの固有識別子に置き換えます。新しいプロジェクトが使用可能であることを確認します。
gdcloud projects list出力は次のようになります。
METADATA.NAME my-project新しいプロジェクトを請求先アカウントにリンクします。プロジェクトのリソース費用を追跡するには、プロジェクトにリンクされている関連付けられた請求先アカウントが必要です。
API
API を直接使用して新しいプロジェクトを作成する手順は次のとおりです。
グローバル管理 API サーバーの kubeconfig ファイルの環境変数を設定します。
export KUBECONFIG=GLOBAL_API_SERVER_KUBECONFIGグローバル管理 API サーバーの kubeconfig ファイルがない場合は、生成します。
Projectカスタム リソースを作成して適用します。kubectl --kubeconfig=${KUBECONFIG} apply -f - <<EOF apiVersion: resourcemanager.global.gdc.goog/v1 kind: Project metadata: namespace: platform name: PROJECT_ID EOFPROJECT_IDは、新しいプロジェクトの固有識別子に置き換えます。新しいプロジェクトが使用可能であることを確認します。
kubectl --kubeconfig=${KUBECONFIG} get projects -n platform出力は次のようになります。
NAME READY my-project新しいプロジェクトを請求先アカウントにリンクします。プロジェクトのリソース費用を追跡するには、プロジェクトにリンクされている関連付けられた請求先アカウントが必要です。
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新しいプロジェクトを請求先アカウントにリンクします。プロジェクトのリソース費用を追跡するには、プロジェクトにリンクされている関連付けられた請求先アカウントが必要です。