事前準備(今回の解説で使用するツール)
Azureのリソースを作成するために、Azureアカウントが必須です。アカウントの作成がまだの場合は、アカウントを作成し、サブスクリプションの作成まで完了させてください。
さらに、今回の解説を進めるにあたり、以下の3つのツールが必要になります。
- Azure CLI:以下を参照してインストールしてください。
https://learn.microsoft.com/ja-jp/cli/azure/ - VSCode(Visual Studio Code)
- Terraform
これらのツールがまだインストールされていない場合は、それぞれの公式サイトからインストールを完了させてください。
この3つのツールが準備できましたら、次のステップに進み、Azureアカウントとの連携作業に取りかかりましょう。
terraformを利用してAzureのリソースを構築する際の流れ
まずは、全体の流れを把握しましょう。Terraformを使ってAzureリソースを構築する際の基本的な流れは、以下の6つのステップで進行します。
- terarform用のAzureユーザーを作成
- ローカルPCとAzureアカウントの紐づけ
- backendファイル作成(terraformで一番重要なファイル)
- terraform init でワークスペースの初期化
- VScodeでコード執筆
- Azure上にリソースデプロイ
1,terarform用のAzureユーザーを作成
まず最初のステップでは、Azureポータルの画面上でのユーザー作成です。今回は「グローバル管理者」権限を持ったユーザーを作成して解説します。実環境で利用する場合は、最小権限の原則にのっとった権限を付与してください。
ユーザーは既存のユーザーでも問題ありませんが、Terraformに特化したユーザーを作成することで、権限管理の手間やセキュリティリスクを最小限に抑えられます。
2,ローカルPCとAzureアカウントの紐づけ
次に、ローカル環境でAzure CLIを使用して、Azureアカウントと接続します。
コマンドプロンプト(Macはターミナル)に、下記コマンドを入力することで接続可能です。
az login
上記コマンドを実行すると、自動的にWebブラウザが開き、Azureのログイン画面が表示されます。今回利用するアカウントでサインインを行いましょう。
ログイン後、以下の表示が出ていれば、ページを閉じてターミナルを確認します。
ターミナル上でもエラーが出ていなければ、ステップ2 アカウントの紐付け作業は完了です。
3,Azure認証情報の登録
backendファイルの作成
backendファイルの作成手順は以下のとおりです。
- backendファイルを格納するフォルダの作成
- backend.tfファイルを作成
- VSCodeでファイルにコードを記述
今回は、Terraformがデプロイしたインフラの「現在の状態」が保存されたtfstateファイルを、AzureのS3バケット内に配置します。
AzureポータルのS3のページからtfstateファイルを格納するためのバケットを「バケットを作成」から作成してください。
mkdir AIT-terraform
mkdir ”任意の名前” でフォルダを作成。
cd AIT-terraform
cd コマンドで作成したフォルダに移動。
touch backend.tf
このコマンドを入力しbackend.tf ファイルを作成します。そして、フォルダ内に、backend.tfファイルが作成されていることを確認し、backend.tfファイルをVSCodeで開きます。

手順2:Azureポータルでアプリケーション登録
- Azureポータルにログイン
- メニューから 「Microsoft Entra ID」→「アプリの登録」→「新規登録」 を選択
- アプリケーション名(例:
AIT-terraform
)を入力し登録 - 登録完了後、「アプリケーション (クライアント) ID」 と 「ディレクトリ (テナント) ID」 を控えておく

手順3:クライアントシークレットの作成
- 左メニューの「証明書とシークレット」へ移動
- 「+新しいクライアントシークレット」をクリック
- 任意の説明(例:
AIT-client-secret
)と有効期限を入力
手順4:ロール割り当て(IAM設定)
TerraformがAzureリソースを操作できるように、ロールを割り当てます。
- サブスクリプション画面に移動
- 左メニューから「アクセス制御(IAM)」を選択
- 「ロールの割り当ての追加」→ 「特権管理者ロールまたは職務ロール」選択
- 適切なロール(例:共同作成者や所有者)を選び、先ほど作成したアプリ(サービスプリンシパル)をメンバーとして割り当て

先ほど作成したアプリケーションを選択します。

レビューと割り当てでロールやスコープを確認し、割り当てを実行します。

手順5:Terraform用ファイルの記述
backend.tf
または任意の .tf
ファイルに以下のように記述します。
provider "azurerm" {
subscription_id = "<構築したい先のサブスクリプションID>"
tenant_id = "<Microsoft Entra ID>"
client_id = "<クライアントID>"
client_secret = "<クライアントシークレット>"
}
コードの記述が終われば、3 backendファイル作成が完了です。
4,terraform init でワークスペースの初期化
次は、terraform init でワークスペースの初期化の手順です。
コマンドプロンプト上で、AIT-terraformフォルダに移動し、下記コマンドを入力します。
terraform init
init は「initialize(イニシャライズ)」の略で「初期化」を意味します。
ここまでの手順で正しく設定が行われていれば、下記画像のようにSuccessfullyと出力されます。

5,VScodeでコード執筆
ここまでの手順でローカル環境とterraformの連携は終了ですが、デモとしてterraformでリソースグループを作成する手順を解説します。
まずは、AIT-terraformフォルダ内に「resoucegroup.tf」ファイルを作成し、作成したファイルをVSCodeで開きます。作成したresouce-group.tfファイル内に下記のコードを入力しましょう。
# リソースグループの作成
resource "azurerm_resource_group" "ait-terraform-rg" {
name = "ait-terraform-rg"
location = "japaneast"
}
コードが書けたらターミナルで下記コマンドを入力します。
terraform plan
このコマンドを実行することで、どのリソースが追加・変更・削除されるかを確認できます。

Plan:1 to add →今の環境にリソースが追加される
0 to change →Azure環境内にすでにあるリソースに変更が加わる
0 to destroy →Azure環境内のリソースが削除される
今回はリソースグループを1つ作成する予定なので「1 to add」と記載されていれば成功です。
6,Azure上にリソースデプロイ
コードを執筆し、terraform planで確認まで行ったら下記のコマンドを実行します。
terraform apply
このコマンドは、terraform plan で生成された計画(プラン)を基に、実際にインフラに対する変更を適用します。このコマンドが実行されると、指定されたリソースが Azure上に構築または更新されます。
terraform applyの実行後、改めてplan結果が出力されます。問題なければ「yes」と入力しましょう。実行結果として、「complete」 と表示されていれば構築完了です。
作業完了後、Azureポータルにログインして、リソースグループが作成されていることを確認してみましょう。

7,デモで作成したリソースをコマンドで削除する方法
今回デモで作成したリソースグループをterraformのコードで削除する手順を解説します。
リソースを削除するには下記のコマンドを実行します。
terraform destroy
このコマンドはTerraform で管理しているインフラリソースを全て削除する際に使用します。
plan結果が出力されるため、1 to destroy となっていることを確認し、「yes」と入力します。
「Destroy complete!」と出力されていれば削除完了です。
まとめ
今回は、Terraform を使って Azure 上にリソースグループを構築する手順を解説しました。インフラ構成をコードとして管理できる「Infrastructure as Code(IaC)」の考え方は、再現性や保守性、チーム開発の効率化において非常に大きなメリットをもたらします。
Terraform によるリソース管理は初めは少し取っつきにくく感じるかもしれませんが、少しずつ使い慣れていくことで、より柔軟で信頼性の高いインフラ運用が実現できます。
今後は、仮想マシンやストレージアカウント、NSG など他のリソースとも組み合わせて、より実践的な構成管理に挑戦してみましょう。
コメント