初めに
チームでTerraformを使い、かつTerraform Cloudを使わない場合はStateファイルをリモートに置くことがベストプラクティスとされています。
Azureのストレージの一つであるBlob Storageには、書き込みのロック機能があり、同時にterraform Apply
してしまってStateファイルがめちゃくちゃになるなどの事故を防ぐことができます。
安全にStateファイルを管理できてとても良い構成なのですが、terraform apply
を誤ってCtrl+Cなどで中断してしまうと、ファイルがロックされた状態のままになり、Stateファイルの更新が出来なくなります。
解決方法が意外とweb上に落ちておらず、すこし時間かかったのでここに置いておきます。
解決方法
-
ストレージアカウントの保管先のコンテナ>terrafrom.tfstateファイルを選択
リースステータスが「ロック済み」になっていて、編集できない...
-
上記画面の「リースの解約」を選択すると、確認画面が出るので「はい」を押す
-
Stateファイルの手動修正
反映状況が中途半端なものは手動で編集したり、terraform import
したりで修正
Stateファイルは「編集」タブからAzure Portal上で編集可能
最後に
手癖でローカルにあるときと同じようにCtrl+Cをやらかしてしまうことがあったので、他の方も参考になれば幸いです。