Fabric FAST ツールキットを使用した基本設定

このページでは、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 の状態、自動化サービス アカウント、中央監査ログを安全に保存します。

必要に応じて、独自のフォルダ、プロジェクト、ネットワーク、その他のリソースを追加できます。

次の図は、「スターター」リソース間の関係を示しています。

FAST スターターのアーキテクチャを示す図。

始める前に

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

  • 組織に ID プロバイダ(IdP)が構成されており、 管理者 ID でにログインしている Cloud de Confiance 。
  • Google Cloud CLIを使用するために設定してある Cloud de Confiance。
  • ローカルマシンに 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 とグループの指定方法については、プリンシパル識別子をご覧ください。
  • 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 で使用される構成ファイルを更新して、選択した構成、ターゲット ユニバース、管理者アカウントなどの詳細を指定する必要があります。任意のテキスト エディタを使用します。

プロバイダ ファイルを作成する

プロバイダ ファイルにより、Terraform がユニバースの正しい API エンドポイントをターゲットにできます。

  1. 組織設定ステージのルート ディレクトリ(0-org-setup)に、providers.tf というファイルを作成します。
  2. ファイルに以下を追加します。

    provider "google" {
      universe_domain = "s3nsapis.fr"
    }
    
    provider "google-beta" {
      universe_domain = "s3nsapis.fr"
    }
    
  3. 新しいファイルを保存します。

データセットを指定する

スターター構成は、starter-gcd データセットで指定します。 Fabric FAST では、データセットは、作成するクラウド リソースのタイプと数を指定する YAML ベースの構成です。ユーザーは、組織のタイプや技術的なニーズに応じて、ベスト プラクティスを選択できます。

starter-gcd データセットを使用することを指定するには、次の操作を行います。

  1. 組織設定ステージのルート ディレクトリに、terraform.tfvars という名前の新しいファイルを作成します。
  2. このファイルで、starter-gcd データセットを使用することを次のように指定します。

    factories_config = {
       dataset="datasets/starter-gcd"
    }
    
  3. 新しいファイルを保存します。

設定のデフォルトを指定する

Fabric FAST では、各データセットの defaults.yaml ファイルを使用して、ユニバース固有の値や管理者の詳細など、設定全体で使用される値を指定します。

  1. データセット ディレクトリ 0-org-setup/datasets/starter-gcd にある既存の defaults.yaml ファイルを開きます。
  2. デフォルト ファイルを次のように更新します。

    # ... 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 の識別子。
  3. defaults.yaml を保存します。

Terraform を適用する

  1. 組織設定ステージのルート ディレクトリに戻っていることを確認します。
  2. 次のコマンドを実行して Terraform を初期化します(ディレクトリごとに 1 回だけ実行する必要があります)。

    terraform init
    
  3. 次のコマンドを実行して、Terraform を適用します。

    terraform apply
    

設定を確認する

設定を確認するには、まず Google Cloud CLI または Cloud de Confiance コンソールを使用して、フォルダとプロジェクトの構造が 正しく設定されていることを確認することをおすすめします。

次に、任意のワークロードを使用するか、クイックスタート チュートリアルに沿って、いずれかのアプリケーション プロジェクトにアプリケーション ワークロードをデプロイしてみます。これらは 簡単なサンプルをすばやく実行できるようにする、短いチュートリアルです Cloud de Confiance。詳しくは、次のステップをご覧ください。

次のステップ