このページでは、Fabric FAST Terraform フレームワークを使用して、新しい 「スターター」組織を設定する方法について説明します。プロジェクトやフォルダなどはいつでも手動で作成できますが、Fabric FAST の基本設定を使用すると、安全で十分にテストされたデフォルトを使用して、大規模なエンタープライズ設定の管理オーバーヘッドなしで、すばやく起動して実行できます。
このページは、 Cloud de Confianceで新しい組織を構成する必要がある管理者を対象としています。組織に次のシナリオが当てはまる場合は、このオプションをおすすめします。
- クラウド構成と Terraform の経験が少ない。
- 1 つのチーム(または 1 人のエンジニア)がスタック全体をエンドツーエンドで管理することを想定している。これは、小規模な組織やスタートアップの場合、または概念実証を開発している場合に発生する可能性があります。
この設定が完了したら、Terraform を使用して新しい 組織を管理するか、Google Cloud CLI または Cloud de Confiance コンソールに切り替えることができます。
組織または技術的なニーズが複雑な場合、または Google Cloud で Fabric FAST を使用したことがある場合は、 Fabric FAST を使用したエンタープライズ設定に直接進み、 FAST ステージについて学習し、従来の構成を開始することをおすすめします。どのオプションが適しているかわからない場合は、どの Fabric FAST 設定が適していますか?をご覧ください。
最初に知っておくべきこと
このガイドを読む前に、次のことを確認してください。
Cloud de Confianceの概要で説明されている基本的なコンセプトを理解する。 Cloud de Confiance
組織、フォルダ、プロジェクトなど の Cloud de Confiance リソース 階層を理解する。
設定の概要、 特に Fabric FAST についてを読む。このドキュメントで説明する基本設定では、ユニバースを特にターゲットとする特別な Fabric FAST 構成を使用し、すぐに使用できる組織を 1 つのステップで作成します。
Terraform に精通していると便利ですが、このガイドを使用するために Terraform の経験は必要ありません。
この設定で何が得られますか?
「スターター」Fabric FAST 構成は比較的フラットで、組織の基本的な使用可能な開始点を提供します。これは、「クラシック」設定とは対照的です。クラシック設定には、深いエンタープライズ グレードのリソース階層があり、段階的に構成を構築します。
設定を実行すると、組織リソースには次のものが含まれます。
- 2 つの環境フォルダ(開発用と本番環境用)。 費用を追跡し、環境ごとにポリシーを適用できるように、自動的にタグが付けられます。
- 各フォルダに 2 つのプロジェクト :
- フォルダの単一ネットワークを含む専用のネットワーク プロジェクト 。
- フォルダの下に作成され、フォルダの VPC のサービス プロジェクトとして構成された最初のアプリケーション プロジェクト 。
- 各フォルダに 1 つの Virtual Private Cloud(VPC)ネットワーク 。1 つのサブネットと、基本的な安全なファイアウォール ルールが事前構成されています(たとえば、安全な Identity-Aware Proxy(IAP)ログインを許可します)。
- 1 つの最上位管理プロジェクト (
prod-iac-core-0)。このプロジェクトは設定のブレインとして機能し、Terraform の状態、自動化サービス アカウント、中央監査ログを安全に保存します。
必要に応じて、独自のフォルダ、プロジェクト、ネットワーク、その他のリソースを追加できます。
次の図は、「スターター」リソース間の関係を示しています。
始める前に
次のことをご確認ください。
- 組織に ID プロバイダ(IdP)が構成されており、 管理者 ID でにログインしている Cloud de Confiance 。
- でGoogle Cloud CLIを使用するために設定してある Cloud de Confiance。
- ローカルマシンに
gitツールとterraformツールがインストールされている。- Git をインストールする
- Terraform をインストールする(最小バージョン 1.12)
次の情報を用意している。
必要な権限を付与する
次のコマンドを実行して、デプロイを実行するプリンシパルに必要な IAM 権限を付与します。
export FAST_PRINCIPAL="PRINCIPAL_ID"
export FAST_ORG_ID="ORG_ID"
# set needed roles (billing role only needed for organization-owned account)
export FAST_ROLES="\
roles/billing.admin \
roles/logging.admin \
roles/iam.organizationRoleAdmin \
roles/orgpolicy.policyAdmin \
roles/resourcemanager.folderAdmin \
roles/resourcemanager.organizationAdmin \
roles/resourcemanager.projectCreator \
roles/resourcemanager.tagAdmin \
roles/owner"
for role in $FAST_ROLES; do
gcloud organizations add-iam-policy-binding $FAST_ORG_ID \
--member $FAST_PRINCIPAL --role $role --condition None
done
次のように置き換えます。
PRINCIPAL_ID: 関連するプリンシパルの識別子。Workforce Identity 連携の ID とグループの指定方法については、プリンシパル識別子をご覧ください。ORG_ID: 組織のリソース ID。
一時プロジェクトを作成する
Fabric FAST Terraform を実行するには、少なくとも 1 つの既存のプロジェクトが必要です。これは、初期設定時に組織ルートで組織ポリシー サービスが自動的に使用可能にならないためです。空の組織で Terraform を初めて適用する場合は、次の手順で新しい組織のルートに一時プロジェクトを作成します。
- 組織にプロジェクトを作成し、プロジェクト ID をメモします。
Google Cloud CLI の現在のプロジェクトとしてプロジェクトを設定します。
gcloud config set project PROJECT_ID次のコマンドを実行して、プロジェクトに必要なサービスを有効にします。
gcloud services enable \ bigquery.googleapis.com \ cloudbilling.googleapis.com \ cloudresourcemanager.googleapis.com \ essentialcontacts.googleapis.com \ iam.googleapis.com \ logging.googleapis.com \ orgpolicy.googleapis.com \ serviceusage.googleapis.com
設定が完了したら、このプロジェクトを削除できます。
Terraform を取得する
次のコマンドを実行して、Fabric FAST リポジトリをローカルマシンにクローンします。
git clone https://github.com/GoogleCloudPlatform/cloud-foundation-fabric.git
ファイルがマシンにコピーされたら、作業ディレクトリとして Fabric FAST 組織設定ステージのルート ディレクトリに移動して開始します。
cd cloud-foundation-fabric/fast/stages/0-org-setup
構成ファイルを更新する
Terraform を適用する前に、Fabric FAST で使用される構成ファイルを更新して、選択した構成、ターゲット ユニバース、管理者アカウントなどの詳細を指定する必要があります。任意のテキスト エディタを使用します。
プロバイダ ファイルを作成する
プロバイダ ファイルにより、Terraform がユニバースの正しい API エンドポイントをターゲットにできます。
- 組織設定ステージのルート ディレクトリ(
0-org-setup)に、providers.tfというファイルを作成します。 ファイルに以下を追加します。
provider "google" { universe_domain = "s3nsapis.fr" } provider "google-beta" { universe_domain = "s3nsapis.fr" }新しいファイルを保存します。
データセットを指定する
スターター構成は、starter-gcd データセットで指定します。 Fabric FAST では、データセットは、作成するクラウド リソースのタイプと数を指定する YAML ベースの構成です。ユーザーは、組織のタイプや技術的なニーズに応じて、ベスト プラクティスを選択できます。
starter-gcd データセットを使用することを指定するには、次の操作を行います。
- 組織設定ステージのルート ディレクトリに、
terraform.tfvarsという名前の新しいファイルを作成します。 このファイルで、
starter-gcdデータセットを使用することを次のように指定します。factories_config = { dataset="datasets/starter-gcd" }新しいファイルを保存します。
設定のデフォルトを指定する
Fabric FAST では、各データセットの defaults.yaml ファイルを使用して、ユニバース固有の値や管理者の詳細など、設定全体で使用される値を指定します。
- データセット ディレクトリ
0-org-setup/datasets/starter-gcdにある既存のdefaults.yamlファイルを開きます。 デフォルト ファイルを次のように更新します。
# ... existing configuration ... projects: defaults: prefix: PREFIX locations: logging: global storage: u-france-east1 overrides: universe: domain: s3nsapis.fr prefix: s3ns forced_jit_service_identities: - compute.googleapis.com unavailable_service_identities: - dns.googleapis.com - monitoring.googleapis.com - networksecurity.googleapis.com context: email_addresses: gcp-organization-admins: CONTACT_EMAIL iam_principals: gcp-organization-admins: ADMIN_ID locations: primary: u-france-east1 # ... existing configuration ...次のように置き換えます。
PREFIX: 自動ユニバース固有の接頭辞に加えて、作成された各プロジェクトの ID に追加される組織固有の接頭辞。これにより、プロジェクト ID がユニバース内で一意であることが保証されます。CONTACT_EMAIL: コア プロジェクトの重要な連絡先として設定するメールアドレス。ADMIN_ID: 組織の管理者権限を持つグループまたは ID の識別子。
defaults.yamlを保存します。
Terraform を適用する
- 組織設定ステージのルート ディレクトリに戻っていることを確認します。
次のコマンドを実行して Terraform を初期化します(ディレクトリごとに 1 回だけ実行する必要があります)。
terraform init次のコマンドを実行して、Terraform を適用します。
terraform apply
設定を確認する
設定を確認するには、まず Google Cloud CLI または Cloud de Confiance コンソールを使用して、フォルダとプロジェクトの構造が 正しく設定されていることを確認することをおすすめします。
次に、任意のワークロードを使用するか、クイックスタート チュートリアルに沿って、いずれかのアプリケーション プロジェクトにアプリケーション ワークロードをデプロイしてみます。これらは 簡単なサンプルをすばやく実行できるようにする、短いチュートリアルです Cloud de Confiance。詳しくは、次のステップをご覧ください。