コンソールからダウンロードした Terraform を使用して基盤をデプロイする

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

概要

企業の管理者は、Google Cloud コンソールで Cloud 基盤の設定ガイドのガイド付きインターフェースを使用して、エンタープライズ向けの Google Cloud 基盤を構成できます。この構成は、コンソールから直接デプロイすることも、Terraform としてダウンロードすることもできます。管理者は、組織のエンティティ、ユーザー、グループを構成して、請求先アカウントをリンクまたは設定し、リソース(フォルダとプロジェクト)の階層、IAM ポリシー、初期ネットワーキング、一元管理されたロギングとモニタリングを構成できます。

構成を Terraform としてダウンロードすると、後でデプロイに使用する Terraform ファイルが生成されます。このチュートリアルでは、エクスポートした Terraform 構成をデプロイして、以前のインフラストラクチャと連携させる方法について説明します。

前提条件

Terraform の使用に関するベスト プラクティスを確認してください。ここには、Terraform を使用してチームメンバーやワークストリーム全体で効率的な開発を行うためのガイドラインが記載されています。

Google Cloud Shell を使用して Terraform をデプロイする

Cloud Shell には Terraform がプリインストールされ、認証済みであるため、すぐに利用を始めることができます。

  1. コンソール内の設定ガイドで [Terraform としてダウンロード] をクリックし、構成を保存します。
  2. Cloud Shell を開きます。
  3. Cloud Shell で、ディレクトリを作成してそのディレクトリに移動します。
    mkdir cloud-foundation-example && cd cloud-foundation-example
    
  4. ステップ 1 でダウンロードした Terraform 構成をアップロードします。
    1. Cloud Shell のさらに表示メニューから [アップロード] を選択し、[ファイルを選択] をクリックして Terraform 構成を選択します。ステップ 2 で作成したフォルダをインストール先のディレクトリに設定し、[アップロード] をクリックします。
  5. 現在のディレクトリが cloud-foundation-example であることを確認します。
  6. Terraform のリモート状態を保存する Google Cloud CLI バケットを作成します。リモート状態を使用すると、Terraform は gcloud CLI などのオブジェクト ストアに Terraform で管理するインフラストラクチャの状態情報を格納できます。この構成には、チームの委任や状態のロックなどのメリットがあります。
    1. gcloud CLI バケットを作成するには、次のコマンドを実行します。
      gsutil mb gs://tf-state-$PROJECT_ID
      
  7. backend.tf ファイル内に Terraform バックエンド構成を定義し、ステップ 6 で使用したプロジェクト ID と一致するように PROJECT_ID を置き換えます。詳しくは、gcloud CLI に Terraform の状態を保存するをご覧ください。
    # backend.tf
    terraform {
       backend "gcs" {
         bucket  = "tf-state-PROJECT_ID"
         prefix  = "terraform/state"
       }
    }
    
  8. terraform init を実行します。このプロセスにより、Terraform 構成ファイルとバックエンドを含む作業ディレクトリが初期化されます。
  9. テストを実行して、Terraform プランの実行結果と Terraform コードの検証結果を確認します。出力例:
    ...
    Plan: 6 to add, 0 to change, 0 to destroy.
    Note: You didn't use the -out option to save this plan, so Terraform can't
    guarantee to take exactly these actions if you run "terraform apply" now.
    
  10. terraform apply を実行して構成を適用し、リソースを GCP にデプロイします。プロンプトが表示されたら、「yes」と入力します。
  11. UI に移動して、リソースがアカウントまたはプロジェクトにデプロイされたことを確認します。

Terraform、Cloud Build、GitOps を使用した Infrastructure as Code の管理

詳しい手順については、チュートリアルをご覧ください。これは、インフラストラクチャの変更を予測的かつ繰り返し行うための戦略を検討しているプラットフォーム管理者とオペレーター向けのオプションです。このガイドは、Google Cloud、Linux、GitHub に精通していることを前提としています。このオプションの大まかな手順は次のとおりです。

  1. GitHub リポジトリを設定します。
  2. Cloud Storage バケットに状態を保存するように Terraform を構成します。
  3. Cloud Build サービス アカウントに権限を付与します。
  4. Cloud Build を GitHub リポジトリに接続します。
  5. 機能ブランチで環境構成を変更します。
  6. 開発環境への変更を促進します。
  7. 本番環境への変更を促進します。