チュートリアル編~Terraformを利用してAzureリソースをデプロイしてみる
目次
前回の記事:準備編~Terraformを利用してAzureリソースをデプロイしてみる!で環境の準備が完了しましたので、今回はチュートリアル編です。
Terraform公式サイトにあるビルドページをもとに進めたいていきます。
1. Terraform用のフォルダ作成
1-1. フォルダ作成の前に…
第一歩として、Terraform用のフォルダを作成します。PowerShellを起動し、まずはAzureアカウントにログインします。
1 |
az login |
忘れずにTerraform用の変数をセットします。PowerShellの$profile変数に設定されているのであれば、この作業はスキップしてください。
1 2 3 4 |
$env:ARM_CLIENT_ID="<service_principal_app_id>" $env:ARM_SUBSCRIPTION_ID="<azure_subscription_id>" $env:ARM_TENANT_ID="<azure_subscription_tenant_id>" $env:ARM_CLIENT_SECRET="<service_principal_password>" |
ARM_CLIENT_ID:サービスプリンシパルID
ARM_SUBSCRIPTION_ID:あなたが操作したいリソースがあるサブスクリプションID
ARM_TENANT_ID:サブスクリプションがあるテナントID (ポータル画面からEntraIDを検索すると出てきます)
ARM_CLIENT_SECRET:サービスプリンシパルをテキスト変換したもの ($sp.PasswordCredentials.SecretTextの実行結果)
変数のセットが完了したか確認します。
1 |
gci env:ARM_* |
1-2. フォルダの作成
フォルダ作成のためのコマンドを実行します。
1 |
New-Item -Path "C:ToYourPath" -Name "learn-terraform-azure" -ItemType "directory" |
フォルダの作成が完了しました。
1-3. Terraformファイルの作成
続いて、実行ファイルである、main.tfを作成します。
LinuxのVIMのようなコマンドのように、画面上で編集することができないため、何かしらのエディターで以下の内容のファイルを作成します。
こちらは変数に設定したAzureテナントに対して、myTFResourceGroupというリソースグループを作成するものです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# main.tf # Configure the Azure provider terraform { required_providers { azurerm = { source = "hashicorp/azurerm" version = "~> 3.0.2" } } required_version = ">= 1.1.0" } provider "azurerm" { features {} } resource "azurerm_resource_group" "rg" { name = "myTFResourceGroup" location = "japaneast" } |
※適切なlocationにするように注意してください。
2. tfファイルの初期化
先ほど作成したtfフォルダを初期化します。ここから、terraformコマンドを実行します。
※作成したフォルダ階層に移動してください。
1 |
terraform init |
初期化に成功した場合は、こちらのような実行結果が返ってくると思います。
番外編 – tfファイルのフォーマット化
公式の推奨から、tfファイルを読みやすいようにterraformコマンドを実行します。
1 |
terraform fmt |
もう一つのやり方として、terraform validateコマンドを実行します。こちらは検証コマンドです。
1 |
terraform validate |
3. 実行
それでは、main.tfファイルを実行します。terraformコマンドを実行します。
1 |
terraform apply |
実行されると、以下のような実行結果が返ってきます。こちらの画面は正常にリソースを読み込まれていることを意味しています。
作成していいか問われていますので、問題がなければ、Yesと回答します。
Yesと回答した結果・・・
無事作成されたようです。
では、Azure Portalからも確認してみます。
無事作成されていることを確認できました。
正常に実行が完了すると、terraform.tfstateというファイルが作成されます。このファイルにはリソースの情報が含まれます。
そのため、いつでもコマンドでリソースを確認することが可能です。
1 |
terraform show |
作成したリソースの一覧のみを確認することも可能です。
1 |
terraform state list |
次回は、実際にコマンドでリソースを作成してみます。
この記事を書いた人
- 森 信之介
- テクニカルマーケターとして、ブログ執筆、セミナー講師を行っております!
この投稿者の最新の記事
- 2024年3月26日ブログWindowsのメモ帳にスペルチェック機能が追加!
- 2024年3月25日ブログBCPの策定や見直しのhow to – ガートナー社が抑えておくべき3のポイントを発表
- 2024年3月22日ブログスポーツにもAIの力を~「TacticAI」が登場
- 2024年3月21日ブログChatGPTやGeminiに並ぶ「Claude3」のプロンプトライブラリをご紹介!