このドキュメントでは、組織内のリソースをグループ化するための Google Distributed Cloud(GDC)エアギャップ プロジェクトを作成する方法について説明します。プロジェクトは、リソースのライフサイクルとポリシーの境界を提供し、複数のユーザー グループが GDC リソースを個別に管理できるようにします。
このドキュメントは、組織内のリソースの管理を担当するプラットフォーム管理者グループ内の IT 管理者、セキュリティ エンジニア、ネットワーク 管理者などのユーザーを対象としています。詳細については、 GDC エアギャップ ドキュメントの対象読者をご覧ください。
始める前に
このドキュメントの手順を行うには、次の操作を完了する必要があります。
プロジェクトの作成に必要な権限を取得するには、組織の IAM 管理者に Project Creator ロール(
project-creator)の付与を依頼してください。gdcloud CLI を使用するには、インストールされていることを確認してください。詳細については、 gdcloud CLI をインストールするをご覧ください。
Terraform を使用するには、構成されていることを確認してください。詳細については、 Terraform を構成するをご覧ください。
新しいプロジェクトを作成
プロジェクトを作成して、サービス リソースを論理的にグループ化できます。たとえば、開発環境、テスト環境、本番環境のリソースを保持するために、個別のプロジェクトを作成できます。
プロジェクトの作成に必要な権限を取得するには、組織の IAM 管理者に Project Creator ロールの付与を依頼してください。権限の付与の詳細については、 サービス 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 ファイルが ない場合は、生成します。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新しいプロジェクト を請求先アカウントにリンクします。プロジェクト リソースの費用を追跡するには、プロジェクトにリンクされた関連する請求先アカウントが必要です。