チェックポイント
Build the infrastructure
/ 25
Adding tags to the compute resource
/ 25
Change the infrastructure for machine-type
/ 25
Destroy the infrastructure
/ 25
Terraform を使用した Infrastructure as Code
概要
このラボでは、Terraform を使用して Google Cloud リソースを作成、管理、破棄します。最初に、Google Cloud をプロバイダとして定義します。
次に、ネットワークを指定せずに VM インスタンスを作成し、Terraform が構成コードをどのように解析するかを確認します。その後、コードを編集してネットワークを追加し、Google Cloud 上に VM インスタンスを作成します。
さらに、VM インスタンスを更新する方法を学習します。既存の構成を編集してタグを追加してから、マシンタイプを編集します。そして、Terraform コマンドを実行し、作成したリソースを破棄します。
目標
このラボでは、次のタスクの実行方法について学びます。
- Terraform がインストールされていることを確認する
- Google Cloud をプロバイダとして定義する
- Terraform を使用して Google Cloud リソースを作成、変更、破棄する
タスク 1. Cloud コンソールにログイン
各ラボでは、新しい Google Cloud プロジェクトとリソースセットを一定時間無料で利用できます。
-
Qwiklabs にシークレット ウィンドウでログインします。
-
ラボのアクセス時間(例:
1:15:00
)に注意し、時間内に完了できるようにしてください。
一時停止機能はありません。必要な場合はやり直せますが、最初からになります。 -
準備ができたら、[ラボを開始] をクリックします。
-
ラボの認証情報(ユーザー名とパスワード)をメモしておきます。この情報は、Google Cloud Console にログインする際に使用します。
-
[Google Console を開く] をクリックします。
-
[別のアカウントを使用] をクリックし、このラボの認証情報をコピーしてプロンプトに貼り付けます。
他の認証情報を使用すると、エラーが発生したり、料金の請求が発生したりします。 -
利用規約に同意し、再設定用のリソースページをスキップします。
タスク 2. Terraform のインストールを確認する
-
Google Cloud のメニューで Cloud Shell をアクティブにするアイコン()をクリックします。表示されたダイアログ ボックスで [続行] をクリックします。
-
プロンプトが表示されたら、[続行] をクリックします。
-
次のコマンドを実行して Terraform がインストールされていることを確認します。
出力は次のようになります(コピーしないでください。これは出力例です)。
Terraform は、Cloud Shell にプリインストールされています。Terraform はすでにインストールされているので、すぐにインフラストラクチャを作成できます。
タスク 3. Google Cloud プロバイダを追加する
- 次のコマンドで
compute
というディレクトリを作成します。
- 次のコマンドで
main.tf
ファイルを作成します。
-
Cloud Shell のツールバーで [エディタを開く] をクリックします。[新しいウィンドウで開く] をクリックすると、別のタブでエディタを開いたままにできます。
-
main.tf
ファイルに次のコードをコピーします。
- [File] > [Save] をクリックします。
- Cloud Shell に切り替えて、
terraform init
コマンドを実行します。
出力は次のようになります(コピーしないでください。これは出力例です)。
タスク 4. インフラストラクチャを構築する
ネットワーク パラメータを指定せずに Compute インスタンスを作成し、Terraform がそのような構成をどう処理するかを見ていきます。
- エディタ ウィンドウに切り替えます。
main.tf
ファイルに次のコードブロックを入力します。
-
[File] > [Save] をクリックして main.tf ファイルを保存します。
-
次のコマンドを実行して、Compute Engine が作成されるかどうかをプレビューします。
- 次のエラーが発生して構成が失敗します。Compute Engine を構成するにはネットワークを指定する必要があるからです。
- 今度は
google_compute_instance
ブロックに次のコード セグメントを追加することで、ネットワークを追加します。
main.tf ファイルの最後のコードは次のようになります。
- [File] > [Save] をクリックして main.tf ファイルを保存します。
- 次に、
terraform plan
コマンドを実行して、Compute Engine が作成されるかどうかをプレビューします。
プロンプトが表示されたら、[Authorize] をクリックします。
出力は次のようになります(コピーしないでください。これは出力例です)。
- 次のコマンドを実行して目的の変更を適用します。
- 「
yes
」と入力して、計画したアクションを確定します。
出力は次のようになります(コピーしないでください。これは出力例です)。
[進行状況を確認] をクリックして、Compute Engine が作成されていることを確認します。
Cloud コンソールで確認する
Cloud コンソールで、リソースが作成されていることを確認します。
-
Cloud コンソールのナビゲーション メニュー()で、[Compute Engine] > [VM インスタンス] をクリックします。
-
Terraform インスタンスが作成されていることを確認します。
タスク 5. インフラストラクチャを変更する
このタスクでは、次の 2 種類の方法でインフラストラクチャを変更します。
- ネットワーク タグの追加
- machine-type の編集
Compute リソースにタグを追加
Terraform では、リソースを作成するだけでなく、作成したリソースに変更を加えることもできます。
- 次のように、先ほど作成したインスタンスに
tags
引数を追加します。
-
terraform plan
を実行します。
-
terraform apply
を実行してインスタンスを更新します。
出力は次のようになります(コピーしないでください。これは出力例です)。
接頭辞「~
」は、リソースがインプレースで更新されることを意味します。
- プロンプトに対して「
yes
」と入力すると、インスタンスにタグが追加されます。
[進行状況を確認] をクリックして、タグが追加されたことを確認します。
VM を停止せずにマシンタイプを編集
稼働中の VM に対してマシンタイプを変更することはできません。稼働中の VM に対するマシンタイプの変更が Terraform でどのように処理されるかを見ていきましょう。
-
main.tf を開き、次のように Terraform インスタンスの machine_type 引数を
e2-micro
からe2-medium
に変更します。
-
terraform plan
を実行します。
-
terraform apply
をもう一度実行してインスタンスを更新します。
terraform apply は失敗し、次の警告が表示されます(コピーしないでください。これは出力例です)。
- 稼働中の VM に対して machine-type を変更することはできません。
machine_type
を更新する前に必ず VM を停止するために、次のようにallow_stopping_for_update
引数をtrue
に設定します。
-
terraform plan
を実行します。
-
terraform apply
をもう一度実行してインスタンスを更新します。
-
プロンプトが表示されたら「
yes
」と入力します。 -
Cloud コンソールで [VM インスタンス] に移動し、作成した Terraform インスタンスをクリックして、machine-type が変更され、タグが追加されたことを確認します。
[進行状況を確認] をクリックして、Compute Engine Terraform のマシンタイプが e2-medium であることを確認します。
タスク 6. インフラストラクチャを破棄する
インフラストラクチャの構築方法と変更方法について学びました。複数リソースを作成しリソース間の依存関係を示す方法に進む前に、Terraform で管理するインフラストラクチャを完全に破棄する方法について学びましょう。
- 次のコマンドを実行します。「
yes
」と入力すると、このプランを実行してインフラストラクチャを破棄します。
「-
」接頭辞は、インスタンスとネットワークが破棄されることを示します。
- Cloud コンソールで [VM インスタンス] に移動すると、Terraform インスタンスが存在しないことを確認できます。
[進行状況を確認] をクリックして、インフラストラクチャを破棄したことを確認します。
お疲れさまでした
このラボでは、以下の操作について学習しました。
- Terraform のインストールを確認する
- Google Cloud をプロバイダとして定義する
- Terraform を使用して Google Cloud リソースを作成、変更、破棄する
ラボを終了する
ラボが完了したら、[ラボを終了] をクリックします。ラボで使用したリソースが Google Cloud Skills Boost から削除され、アカウントの情報も消去されます。
ラボの評価を求めるダイアログが表示されたら、星の数を選択してコメントを入力し、[送信] をクリックします。
星の数は、それぞれ次の評価を表します。
- 星 1 つ = 非常に不満
- 星 2 つ = 不満
- 星 3 つ = どちらともいえない
- 星 4 つ = 満足
- 星 5 つ = 非常に満足
フィードバックを送信しない場合は、ダイアログ ボックスを閉じてください。
フィードバックやご提案の送信、修正が必要な箇所をご報告いただく際は、[サポート] タブをご利用ください。
Copyright 2020 Google LLC All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。