Fabric FAST ツールキットを使用したエンタープライズ設定

このページでは、Fabric FAST と、それを使用してCloud de Confianceでプロダクション レディな組織を構成する方法について説明します。Fabric FAST は、組織の設定用に高度に構成可能な Terraform ツールキットです。このリファレンス アーキテクチャは、スケーラビリティ、セキュリティ、保守性に関する多くのベスト プラクティスを反映しており、多くの Google Cloud ユーザーに有効なパターンを使用しています。Fabric FAST は Google Cloud 向けに開発されましたが、Cloud de Confianceで完全にサポートされています。

このページは、 Cloud de Confianceで新しい組織を構成する必要がある経験豊富な管理者を対象としています。このガイドでは、最初のリソース設定に焦点を当てていますが、詳細については Fabric FAST の包括的なドキュメントへのリンクが提供されています。

組織が小規模である場合、概念実証を開発している場合、または Terraform にあまり精通していない場合は、基本的な設定を検討してください。この設定では、1 つのステップでワークロードをデプロイできる比較的シンプルな組織が提供されます。詳細については、どの Fabric FAST 設定が自分に適していますか?をご覧ください。

まず何をすればよいですか?」

このガイドを読む前に、次のことを確認してください。

Google Cloud で Fabric FAST を使用したことがある場合は、始める前にに進んでください。

Fabric FAST のステージについて

Fabric FAST は、ステージのコンセプトを使用して、組織を反復的に構築します。たとえば、最初に基本リソースを設定してから、セキュリティやネットワーキングなどを追加できます。各ステージには、作成するリソースのタイプと数を指定する 1 つ以上の事前構成された YAML データセットが含まれています。これにより、さまざまなタイプの組織やさまざまな技術的ニーズに最適な方法を選択できます。たとえば、ネットワークとセキュリティのニーズに応じて、さまざまなネットワーク データセットから選択できます。これらの構成は、そのままデプロイすることも(請求先アカウントなどの詳細情報を指定する場合を除く)、特定のニーズに合わせて編集することもできます。提供されたデータセットは Cloud de Confianceで動作することが確認されており、完全なランディング ゾーンをブートストラップするために使用できます。

各ステージは一般的な組織の境界にも対応しているため、各ステージの所有権を、管理するリソースのタイプを担当するチームに委任できます。たとえば、ネットワーキング ステージでは、名前のとおり、すべてのネットワーキング要素が設定されます。通常、これは組織内の専用のネットワーキング チームの責任となります。組織の規模と複雑さによっては、このガイドと Fabric FAST のドキュメントを読み進めるうちに、新しいステージを追加する際に、さまざまなチーム管理者に責任を委任することがあります。

Fabric FAST のステージは次のとおりです。

  • 組織の設定: 組織レベルのブートストラップとリソース階層の初期構成を組み合わせます。このステージでは、上位レベルの Identity and Access Management(IAM)ポリシーと組織のポリシー、および組織をさまざまな環境とスコープに分割するリソース階層の初期レイヤを構成します。Fabric FAST は、このステージ用に特別な classic-gcd データセットを提供し、ユニバースで使用できるようにします。
  • VPC-SC: VPC Service Controls の構成を実装し、リソースの自動検出を行います。
  • ネットワーキング: 一元管理されたネットワーク リソースを管理し、アプリケーション チームやサービス チームと共有する方法を提供します。このステージでは、VPC ピアリング、VPN、NVA、NCC を使用したハブアンドスポークなど、さまざまな設計が YAML データセットとして提供されます。
  • プロジェクト ファクトリ: YAML ベースの構成ファイルを使用してフォルダ階層とプロジェクトの管理を簡素化し、さまざまなアプリケーション チームやビジネス ユニットによる管理用にプロジェクトのグループを設定できます。
  • セキュリティ: Cloud KMS などの一元化されたセキュリティ構成とリソースを管理し、セキュリティ関連のリソースを追加するためのスペースを提供します。通常、このステージは中央のセキュリティ チームが所有します。

組織の設定を除くこれらのステージはすべて省略可能であり、使用するかどうかは実際の要件によって異なります。このガイドでは、組織のセットアップ ステージに焦点を当てます。このステージで作成されるリソースの詳細については、Fabric FAST のドキュメントをご覧ください。

始める前に

次のことをご確認ください。

  • 組織に ID プロバイダ(IdP)が構成されているおり、管理者 ID で Cloud de Confiance にログインしている。
  • Cloud de Confianceで使用するために Google Cloud CLI を設定してある。
  • ローカルマシンに git ツールと terraform ツールがインストールされている。
  • 次の情報を用意します。

    • 組織の管理者権限を付与するプリンシパル。これは、ご自身の ID または(推奨)ご自身がメンバーである管理者ユーザー グループのいずれかにできます。
    • コア プロジェクト用に選択した重要な連絡先のメールアドレス
    • 組織リソース ID。これは、 Cloud de Confiance コンソールで確認するか、次の Google Cloud CLI コマンドを実行して確認できます。

      gcloud organizations list
      

      このコマンドは、自分が属するすべての組織(1 つだけのはずです)と、それらに対応する ID をリスト表示します。

必要な権限を付与する

次のコマンドを実行して、デプロイを実行するプリンシパルに必要な 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 とグループを指定する方法の詳細については、プリンシパル ID をご覧ください。
  • ORG_ID: 組織のリソース ID。

一時的なプロジェクトを作成する

Fabric FAST Terraform を実行するには、既存のプロジェクトが少なくとも 1 つ必要です。これは、組織ポリシー サービスが初期設定時に組織ルートで自動的に使用可能にならないためです。空の組織で Terraform を初めて適用する場合は、次の手順で新しい組織のルートに一時プロジェクトを作成します。

  1. 組織にプロジェクトを作成し、プロジェクト ID をメモします。
  2. Google Cloud CLI の現在のプロジェクトとしてプロジェクトを設定します。

    gcloud config set project PROJECT_ID
    
  3. 次のコマンドを実行して、プロジェクトで必要なサービスを有効にします。

    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 はこのステージに classic データセットを使用します。ただし、 Cloud de Confiance はこのレベルで Google Cloud と大きな違いがあるため(課金やエンドポイントなど)、classic データセットをユニバースに合わせて調整した特別な classic-gcd データセットを提供します。デフォルト バージョンではなく、このデータセットを使用する必要があります。

README-GCD の手順に沿って classic-gcd に切り替え、Terraform を適用する前に、始める前にで収集した情報を使用して関連する構成ファイルを更新します。場合によっては、ステージの README で追加情報を確認する必要があります。

追加のステージを適用する

Fabric FAST ドキュメントの手順に沿って、必要な追加ステージを適用します。追加のステージは、 Cloud de Confianceで動作するために特別なカスタマイズを必要としません。

次のステップ