
Before you begin
- Labs create a Google Cloud project and resources for a fixed time
- Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
- On the top left of your screen, click Start lab to begin
Import infrastructure
/ 20
Configure a remote backend
/ 10
Modify and update infrastructure
/ 20
Destroy resources
/ 10
Use a Module from the Registry
/ 20
Configure a firewall
/ 20
チャレンジラボでは、シナリオと一連のタスクが提供されます。手順ガイドに沿って進める形式ではなく、コース内のラボで習得したスキルを駆使して、ご自身でタスクを完了していただきます。タスクが適切に完了したかどうかは、このページに表示される自動スコアリング システムで確認できます。
チャレンジラボは、Google Cloud の新しいコンセプトについて学習するためのものではありません。デフォルト値を変更する、エラー メッセージを読み調査を行ってミスを修正するなど、習得したスキルを応用する能力が求められます。
100% のスコアを達成するには、制限時間内に全タスクを完了する必要があります。
このラボは、「Build Infrastructure with Terraform on Google Cloud」コースに登録している受講者を対象としています。準備が整ったらチャレンジを開始しましょう。
こちらの説明をお読みください。ラボには時間制限があり、一時停止することはできません。タイマーは、Google Cloud のリソースを利用できる時間を示しており、[ラボを開始] をクリックするとスタートします。
このハンズオンラボでは、シミュレーションやデモ環境ではなく実際のクラウド環境を使って、ラボのアクティビティを行います。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。
このラボを完了するためには、下記が必要です。
新興スタートアップ企業でクラウド エンジニアのインターンとして働いています。最初のプロジェクトとして新しい上司から課された仕事は、迅速かつ効率的な方法でインフラストラクチャを構築し、後で参照や変更を行えるよう、そのインフラストラクチャの追跡メカニズムを考案することでした。Terraform を使用してこのプロジェクトを完遂させるよう指示されています。
今回のプロジェクトでは、このスタートアップ企業の推奨プロバイダである Google Cloud 上で Terraform を使用して、インフラストラクチャを構築、デプロイ、追跡します。また、適切に管理されていない一部のインスタンスを構成にインポートし、修正する必要があります。
このラボで Terraform を使用してインポートおよび作成するのは、複数の VM インスタンス、2 つのサブネットワークを持つ VPC ネットワーク、2 つのインスタンス間の接続を許可するための VPC ファイアウォール ルールです。リモート バックエンドをホストするための Cloud Storage バケットも作成します。
plan
と apply
を実行してください。このラボでは、さまざまな Terraform ファイルを更新します。正しいファイルパスを使用し、適切なインデントを維持するように注意しましょう。variables.tf
ファイルに情報を入力します。各ファイルに region
、zone
、project_id
の 3 つの変数を追加します。デフォルト値には、この Terraform ブロックと Google プロバイダを main.tf
ファイルに追加します。Google プロバイダのブロックに、project 引数および region 引数とともに zone 引数が追加されていることを確認します。
Terraform を初期化します。
main.tf
ファイルに追加して、Terraform をもう一度初期化します。instances.tf
ファイルにリソースの構成を記述します。
tf-instance-1
および tf-instance-2
とします。machine_type
、boot_disk
、network_interface
、metadata_startup_script
、allow_stopping_for_update
のみにします。最後の 2 つの引数については、以下の構成を使用すれば、自分で再度作成せずに済みます。terraform import
コマンドを使用して構成を instances モジュールにインポートします。apply
を実行するとインプレースでインスタンスが更新されます。ラボではこれで十分ですが、本番環境では必ず、すべての引数を正しく入力してからインポートを行う必要があります。[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
storage
モジュール内に Cloud Storage バケット リソースを作成します。バケットの name には、
location = "US"
force_destroy = true
uniform_bucket_level_access = true
outputs.tf
ファイル内に出力値を追加することもできます。このモジュールへの参照を main.tf
ファイルに追加します。Terraform を使用して、モジュールの初期化と変更内容の apply
を実行し、バケットを作成します。
main.tf
ファイル内で、このストレージ バケットを リモート バックエンド として構成します。採点が正常に行われるように、必ず prefix として terraform/state
を使用してください。
構成を正しく記述していれば、init
の実行時に、既存のステートデータを新しいバックエンドにコピーするかどうかを尋ねられます。プロンプトで yes
と入力します。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
instances モジュールに移動して、インスタンス リソース tf-instance-1 がマシンタイプ e2-standard-2
を使用するように変更します。
また、tf-instance-2 もマシンタイプ e2-standard-2
を使用するように変更します。
3 つ目のインスタンス リソースを追加して、名前を e2-standard-2
を使用します。3 つのインスタンスのマシンタイプがいずれも e2-standard-2
に変更されていることを確認してください。
Terraform を初期化して、apply
を実行して変更を適用します。
outputs.tf
ファイルに、これらのリソースからの出力値を追加できます。[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
apply
を実行して変更を適用します。[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
Terraform Registry でネットワーク モジュールに移動します。
このモジュールを main.tf
ファイルに追加します。以下の構成を使用します。
6.0.0
を使用します(別のバージョンを使用すると互換性に関するエラーが発生する可能性があります)。subnet-01
と subnet-02
にします。サブネットの引数として指定する必要があるのは、名前、IP、リージョンだけです。subnet-01
には IP 10.10.10.0/24
を使用し、subnet-02
には 10.10.20.0/24
を使用します。モジュール構成を記述したら、Terraform を初期化して apply
を実行し、ネットワークを作成します。
次に、instances.tf
ファイルに移動して、tf-instance-1 を subnet-01
に、tf-instance-2 を subnet-02
に接続するように構成リソースを更新します。
に更新してから、subnetwork 引数を追加して、各インスタンスの正しいサブネットを指定する必要があります。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
main.tf
ファイルでファイアウォール ルール リソースを作成し、名前を tf-firewall とします。
0.0.0.0/0
)について TCP ポート 80 を使用した内向き接続を許可するようにします。source_ranges
引数を追加して、正しい IP 範囲(0.0.0.0/0
)を指定します。apply
を実行して変更を適用します。network
引数を取得するには、ステートを調べて、先ほど作成したリソース google_compute_network
の ID または self_link を見つけます。projects/PROJECT_ID/global/networks/
という形式になっているはずです。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
VPC を介した内部接続を許可するファイアウォール ルールを作成したら、必要に応じてネットワーク接続テストを行えます。
両方の VM が実行されていることを確認します。
[ネットワーク インテリジェンス] > [接続テスト] に移動します。2 つの VM で接続テストを実行し、両者が互いに到達可能であることを確認します。これで、インスタンス間の接続を確認できました。
作成した構成設定は以下のようになっているはずです。
制限時間内にアーキテクチャのインポート、作成、変更、構成を完了できた方は、Terraform のスキルを十分に備えています。このラボでは、まず 2 つの構成済み VM を Terraform にインポートした後、Cloud Storage バケットを作成してバックエンドを構成しました。その後、インスタンスをもう 1 つ追加して、モジュール内のリソース構成を実際に変更して更新しました。最後に、Terraform Registry にあるモジュールを使用し、2 つのサブネットを持つ VPC を作成してインスタンスを接続し、インスタンス間の接続を許可するファイアウォール ルールを作成しました。
このセルフペース ラボは、「Build Infrastructure with Terraform on Google Cloud」スキルバッジ コースの一部です。このコースを完了すると成果が認められて上のようなバッジが贈られます。獲得したバッジを履歴書やソーシャル プラットフォームに記載し、#GoogleCloudBadge を使用して成果を公表しましょう。
Terraform のスキルを証明できた方は、HashiCorp Infrastructure Automation Certification に登録されることをおすすめします。Terraform Associate 認定試験は、運用、IT、開発を専門とし、オープンソースの HashiCorp Terraform に関する基本コンセプトとスキルを習得しているクラウド エンジニアを対象としています。試験対策としては、本番環境で Terraform を使用した業務経験があればベストですが、個人用のデモ環境で試験項目を実行することでも十分に対策できるでしょう。スキルをさらに向上させたい方や、インフラストラクチャの自動化に関する自分の能力を確認したい方は、学習ガイドと試験の復習ページを確認し、受験準備ができ次第、試験に登録することをおすすめします。ご健闘をお祈りいたします。
Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。
マニュアルの最終更新日: 2024 年 3 月 22 日
ラボの最終テスト日: 2024 年 3 月 22 日
Copyright 2025 Google LLC All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。
このコンテンツは現在ご利用いただけません
利用可能になりましたら、メールでお知らせいたします
ありがとうございます。
利用可能になりましたら、メールでご連絡いたします
One lab at a time
Confirm to end all existing labs and start this one