Apply the changes in Terraform

進行状況を確認

/ 100

このラボでは、学習をサポートする AI ツールが組み込まれている場合があります。

GSP206

Google Cloud セルフペース ラボ

概要

このラボでは、HTTPS ロードバランサを作成してトラフィックをカスタム URL マップに転送します。この URL マップは、Cloud Storage バケットから提供される静的アセットがある最も近いリージョンにトラフィックを送信します。TLS の鍵と証明書は、TLS プロバイダを使用して Terraform によって生成されます。

このラボで作成するアーキテクチャの図を以下に示します。

Cloud Load Balancing、3 つのインスタンス、Cloud Storage を含む Terraform のアーキテクチャ。

目標

このラボでは、次のタスクの実行方法について学びます。

  • Terraform のロード バランシング モジュールを確認する。
  • Google Cloud 環境で Terraform を構成する。
  • グローバル HTTPS コンテンツ ベース ロードバランサを作成する。

設定と要件

[ラボを開始] ボタンをクリックする前に

こちらの説明をお読みください。ラボには時間制限があり、一時停止することはできません。タイマーは、Google Cloud のリソースを利用できる時間を示しており、[ラボを開始] をクリックするとスタートします。

このハンズオンラボでは、シミュレーションやデモ環境ではなく実際のクラウド環境を使って、ラボのアクティビティを行います。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。

このラボを完了するためには、下記が必要です。

  • 標準的なインターネット ブラウザ(Chrome を推奨)
注: このラボの実行には、シークレット モード(推奨)またはシークレット ブラウジング ウィンドウを使用してください。これにより、個人アカウントと受講者アカウント間の競合を防ぎ、個人アカウントに追加料金が発生しないようにすることができます。
  • ラボを完了するための時間(開始後は一時停止できません)
注: このラボでは、受講者アカウントのみを使用してください。別の Google Cloud アカウントを使用すると、そのアカウントに料金が発生する可能性があります。

ラボを開始して Google Cloud コンソールにログインする方法

  1. [ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるダイアログでお支払い方法を選択してください。 右側の [ラボの設定とアクセス] パネルには、以下が表示されます。

    • [Google Cloud コンソールを開く] ボタン
    • このラボで使用する一時的な認証情報(ユーザー名とパスワード)
    • このラボを行うために必要なその他の情報(ある場合)

    ラボのタイマーはページの上部に表示され、残り時間が示されます。

  2. [Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウで開く] を選択します)。

    ラボでリソースがスピンアップし、別のタブで [ログイン] ページが表示されます。

    ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。

    注: [アカウントの選択] ダイアログが表示された場合は、[別のアカウントを使用] をクリックします。
  3. 必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。

    {{{user_0.username | "Username"}}}

    [ラボの設定とアクセス] パネルでもユーザー名を確認できます。

  4. [次へ] をクリックします。

  5. 以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。

    {{{user_0.password | "Password"}}}

    [ラボの設定とアクセス] パネルでもパスワードを確認できます。

  6. [次へ] をクリックします。

    重要: ラボで指定された認証情報を使用する必要があります。ご自身の Google Cloud アカウントの認証情報は使用しないでください。 注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。
  7. その後のページはクリックして先に進みます。

    • 利用規約に同意します。
    • 一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
    • 無料トライアルには登録しないでください。

しばらくすると、このタブで Google Cloud コンソールが開きます。

注: Google Cloud のプロダクトやサービスにアクセスするには、ナビゲーション メニューをクリックするか、[検索] フィールドにサービス名またはプロダクト名を入力します。 ナビゲーション メニューのアイコンと検索フィールド

Cloud Shell をアクティブにする

Cloud Shell は、開発ツールと一緒に読み込まれる仮想マシンです。5 GB の永続ホーム ディレクトリが用意されており、Google Cloud で稼働します。Cloud Shell を使用すると、コマンドラインで Google Cloud リソースにアクセスできます。

  1. Google Cloud コンソールの上部にある「Cloud Shell をアクティブにする」アイコン 「Cloud Shell をアクティブにする」アイコン をクリックします。

  2. ウィンドウで次の操作を行います。

    • Cloud Shell 情報ウィンドウで操作を進めます。
    • Cloud Shell が認証情報を使用して Google Cloud API を呼び出すことを承認します。

接続した時点で認証が完了しており、プロジェクトに各自の Project_ID が設定されます。出力には、このセッションの PROJECT_ID を宣言する次の行が含まれています。

Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}

gcloud は Google Cloud のコマンドライン ツールです。このツールは、Cloud Shell にプリインストールされており、タブ補完がサポートされています。

  1. (省略可)次のコマンドを使用すると、有効なアカウント名を一覧表示できます。
gcloud auth list
  1. [承認] をクリックします。

出力:

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (省略可)次のコマンドを使用すると、プロジェクト ID を一覧表示できます。
gcloud config list project

出力:

[core] project = {{{project_0.project_id | "PROJECT_ID"}}} 注: Google Cloud における gcloud ドキュメントの全文については、gcloud CLI の概要ガイドをご覧ください。

Terraform をインストールする

Terraform は Cloud Shell にプリインストールされていません。Terraform CLI をインストールし、Cloud Shell セッションをまたいで永続化するように構成する必要があります。

  1. HashiCorp リポジトリを構成して Terraform をインストールし、このインストールが今後のセッションでも永続化されるようにするために、Cloud Shell ターミナルで次のコマンドを実行します。
cat <<'EOF' > ~/.customize_environment # HashiCorp リポジトリを設定して Terraform をインストールする wget -O - https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(grep -oP '(?<=UBUNTU_CODENAME=).*' /etc/os-release || lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list sudo apt update && sudo apt install -y terraform EOF bash ~/.customize_environment
  1. Terraform が正しくインストールされていることを確認するために、次のコマンドを実行します。
terraform --version

出力には、インストールされているバージョン(v1.5.7 以降)が表示されます。

Terraform v1.9.0

タスク 1. サンプル リポジトリのクローンを作成する

リポジトリをクローンし、ファイルを更新する

  1. Cloud Shell ターミナルで、terraform-google-lb-http リポジトリのクローンを作成します。
git clone https://github.com/terraform-google-modules/terraform-google-lb-http.git
  1. multi-backend-multi-mig-bucket-https-lb ディレクトリに移動します。
cd ~/terraform-google-lb-http/examples/multi-backend-multi-mig-bucket-https-lb
  1. Cloud Shell ツールバーで [エディタを開く] アイコンをクリックします。
  1. examples/multi-backend-multi-mig-bucket-https-lb/main.tf ファイルを開きます。

  2. 133 行目で、gce-lb-https モジュール内に以下の行を追加します。

create_ssl_certificate = true managed_ssl_certificate_domains = ["example.com"]
  1. examples/multi-backend-multi-mig-bucket-https-lb/variables.tf ファイルで、リージョン定義を次のように更新します。
    • group1_region =
    • group2_region =
    • group3_region =

タスク 2. Terraform を実行する

作業ディレクトリを初期化する

terraform init コマンドを使用して、Terraform 構成ファイルを含む作業ディレクトリを初期化します。このコマンドは、いくつかの初期化ステップを実行して、作業ディレクトリを使用できるように準備します。このコマンドは、いつでも何度でも安全に実行できます。実行すると、作業ディレクトリに構成の変更が反映されます。

  • 次のコマンドを実行します。
terraform init

出力例:

... Terraform has been successfully initialized!

実行プランを作成する

terraform plan コマンドを使用して実行プランを作成します。このコマンドを実行すると、明示的に無効にしない限り更新が行われ、構成ファイルに指定されている目的の状態を実現するために必要なアクションが特定されます。

一連の変更に対する実行プランが予想どおりになっているかどうかを、実際のリソースや状態に変更を加えることなく確認するのに便利です。たとえば、変更をバージョン管理に commit する前に terraform plan を実行すると、予想どおりに機能するかどうかを事前に確認できます。

  1. 次のコマンドを実行して実行プランを作成します。
terraform plan -out=tfplan -var 'project={{{project_0.project_id | Project ID}}}'

出力例:

... Plan: 43 to add, 0 to change, 0 to destroy.

オプションの -out 引数を使用すると、生成されたプランをファイルに保存できます。保存したファイルは、後で terraform apply を使用して実行できます。

  1. 次のコマンドを実行して、現在のディレクトリの内容を一覧表示します。
ls

出力例:

diagram.png gceme.sh.tpl gcp-logo.svg main.tf mig.tf outputs.tf README.md test.sh tfplan tls.tf variables.tf

保存した Terraform プラン(tfplan)をメモしておきます。

変更を適用する

terraform apply コマンドを使用して、構成を目的の状態にするために必要な変更を適用します。terraform plan を実行した場合は、実行プランによって生成された一連の定義済みアクションを適用できます。

  1. 次のコマンドを実行して、Terraform プランを適用します。
terraform apply tfplan

出力例(実際のものとは異なります):

... Apply complete! Resources: 43 added, 0 changed, 0 destroyed. ... Outputs: asset-url = https://34.96.112.153/assets/gcp-logo.svg group1_region = us-west1 group2_region = us-central1 group3_region = us-east1 load-balancer-ip = 34.96.112.153

Terraform によって作成されたリソースを確認します。

  1. Cloud コンソールのナビゲーション メニューナビゲーション メニュー)で、[すべてのプロダクトを表示] をクリックします。

  2. [ネットワーキング] で、[ネットワーク サービス] > [ロード バランシング] をクリックします。

  3. [バックエンド] 列に緑色のチェックマークが表示されるまで待ちます。

  4. ml-bk-ml-mig-bkt-s-lb ロードバランサをクリックして詳細を確認します。

ロードバランサのフロントエンドに関するセクション。さまざまなプロトコル、ホスト、パスのルールなどに関する詳細が表示されている。

ロードバランサのバックエンドに関するセクション。バックエンド サービスとバケットのそれぞれについて、タイプ、ゾーン、容量などの項目が表示されている。

  1. 次のコマンドを実行して外部 URL を取得します。
EXTERNAL_IP=$(terraform output | grep load-balancer-ip | cut -d = -f2 | xargs echo -n) echo https://${EXTERNAL_IP}
  1. 返された EXTERNAL_IP のリンクをクリックして、新しいブラウザタブでロードバランサの URL を開きます。読み込みが完了するまでに数分かかります。
注: ブラウザに想定どおりの出力が表示されない場合は、ロードバランサの詳細パネルの表示内容が上のスクリーンショットと同じであることを確認して、数分待ちます。 注: プライバシー エラーが表示された場合は、[詳細] をクリックし、[続行] を選択します。

Google Cloud のロゴと、現在の地理的リージョンに最も近いグループのインスタンスの詳細が表示されます。

名前、ゾーン、マシンタイプ、内部 IP といった Google Cloud インスタンスの詳細情報。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。Terraform に変更を適用する

  1. 次に、URL の末尾に group1group2group3 をそれぞれ追加します。

最終的な URL は https://EXTERNAL_IP/group1 のようになります(EXTERNAL_IP は作成したロードバランサの IP に置き換えてください)。

  • group1 の場合: Google Cloud のロゴと、 にあるグループのインスタンスの詳細が表示されます。

https://EXTERNAL_IP/group2

  • group2 の場合: Google Cloud のロゴと、 にあるグループのインスタンスの詳細が表示されます。

https://EXTERNAL_IP/group3

  • group3 の場合: Google Cloud のロゴと、 にあるグループのインスタンスの詳細が表示されます。

お疲れさまでした

次のステップと詳細情報

Google Cloud トレーニングと認定資格

Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。

マニュアルの最終更新日: 2026 年 2 月 10 日

ラボの最終テスト日: 2026 年 2 月 10 日

Copyright 2026 Google LLC. All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。

始める前に

  1. ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
  2. ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
  3. 画面左上の [ラボを開始] をクリックして開始します

シークレット ブラウジングを使用する

  1. ラボで使用するユーザー名パスワードをコピーします
  2. プライベート モードで [コンソールを開く] をクリックします

コンソールにログインする

    ラボの認証情報を使用して
  1. ログインします。他の認証情報を使用すると、エラーが発生したり、料金が発生したりする可能性があります。
  2. 利用規約に同意し、再設定用のリソースページをスキップします
  3. ラボを終了する場合や最初からやり直す場合を除き、[ラボを終了] はクリックしないでください。クリックすると、作業内容がクリアされ、プロジェクトが削除されます

このコンテンツは現在ご利用いただけません

利用可能になりましたら、メールでお知らせいたします

ありがとうございます。

利用可能になりましたら、メールでご連絡いたします

1 回に 1 つのラボ

既存のラボをすべて終了して、このラボを開始することを確認してください

シークレット ブラウジングを使用してラボを実行する

このラボを実行するには、シークレット モードまたはシークレット ブラウジング ウィンドウを使用することをおすすめします。これにより、個人アカウントと受講者アカウントの競合を防ぎ、個人アカウントに追加料金が発生することを防ぎます。