Blog

Azureでtfstateファイルを管理する

※本記事に記載されている内容は、2024年12月時点の情報です。

はじめに

こんにちは。ニフティの塚崎です。

今回は、AzureリソースをTerraformで構築する際にtfstateファイルを管理する方法をまとめてみました。

tfstateファイルをリモートで管理する際、AWSではS3 + DynamoDBの構成でバックエンドを構築すると思います。今回はそれのAzure版をやってみました。

Azureでtfstateファイルを管理するにはAzure Blob Storageを利用します。Azure Blob Storageを利用することでファイルの共有とロックができます。

やり方

今回はAzure CLIを使用します。インストール方法は以下を見てください。

https://learn.microsoft.com/ja-jp/cli/azure/install-azure-cli?view=azure-cli-latest 

1.Azureログイン

Azureにログインします。また、ログイン時にサブスクリプションの選択が求められるので、今回作業するサブスクリプションを指定してください。

サブスクリプション情報を確認するコマンド

サブスクリプションを変更したい場合は以下を見てください。

https://learn.microsoft.com/ja-jp/cli/azure/account?view=azure-cli-latest#az-account-set

2.ストレージアカウント作成

ストレージアカウントを作成します。注意点として、ストレージアカウント名はグローバルで一意にする必要があります。また、ここではリソースグループは既に作成されていることを想定しています。(リソースグループが無い場合は適宜作成してください)

オプション:リソースグループの作成(無い場合)

参考

https://learn.microsoft.com/ja-jp/cli/azure/storage/account?view=azure-cli-latest#az-storage-account-create

https://learn.microsoft.com/ja-jp/cli/azure/group?view=azure-cli-latest#az-group-create

3.アカウントキー取得

ストレージアカウントのアカウントキーを取得します。コンテナの作成にアカウントキーが必要になるみたいです。

valueの値がアカウントキー(今回はkey1の方を利用)

参考

https://learn.microsoft.com/ja-jp/cli/azure/storage/account/keys?view=azure-cli-latest#az-storage-account-keys-list

4.ストレージコンテナ作成

ストレージコンテナを作成します。

参考

https://learn.microsoft.com/ja-jp/cli/azure/storage/container?view=azure-cli-latest#az-storage-container-create

ここまでリソースの設定は完了です。

リソース作成

試しに、TerraformでAzure仮想マシンを作成し、tfstateファイルがストレージで管理されているかを確認してみます。

main.tfを作成し、以下の内容でapplyします。

仮想マシンが作成されました。コンテナにもtfstateファイルが置いてあるので問題なさそうです。

おわりに

今回は、Azure Blob StorageでTerraformのtfstateファイルをリモート管理する方法について解説しました。

Azure環境でTerraformを活用される際の参考になれば幸いです。

ニフティでは、
さまざまなプロダクトへ挑戦する
エンジニアを絶賛募集中です!
ご興味のある方は以下の採用サイトより
お気軽にご連絡ください!

ニフティに興味をお持ちの方は
キャリア登録をぜひお願いいたします!

connpassでニフティグループに
参加いただくと
イベントの
お知らせが届きます!