このドキュメントでは、組織内のリソースをグループ化するための 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 を直接使用して新しいプロジェクトを作成するには、次の手順を完了します。
グローバル Management 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は、グローバル Management API サーバーの kubeconfig ファイルのパスに置き換えます。この kubeconfig ファイルがない場合は、生成します。Terraform 構成ファイル(
main.tfなど)に、次のコード スニペットを挿入します。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新しいプロジェクトを請求先アカウントにリンクします。プロジェクトのリソース費用を追跡するには、プロジェクトにリンクされた請求先アカウントが必要です。