0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

HCP Terraform における Lock の仕組み

Posted at

Terraform の lock とは

Terraform では、状態ファイル(state)は単一の真実の源泉であり、複数ユーザーが同時に変更すると破損や意図しない差分が発生する可能性があります
これを防ぐために用意されている仕組みが lock(ロック) です。

lock が取得されている間は、変更系の操作がブロックされ、同時 Apply を防止することで安全性を担保します。

以下では、HCP Terraform(Terraform Cloud)の画面を例に、ロックの動きを簡単に説明します。

ロックの動作

1. ユーザー A がロックを取得する

Apply など state を更新する操作を開始すると、Workspace にロックが設定されます。
この間、別ユーザーは state を変更できません。

image.png


2. 別ユーザーの Apply はロック解除まで待機する

他のユーザーが Apply(または Destroy)を実行すると、ロック解放まで待機状態 (Plan pending) になります。

image.png

ポイントとして、

  • Apply / Destroy → ロック待ち
  • Plan only → state を書き換えないため、待機せず実行可能

という挙動になります。

3. Workspace の Admin 権限があれば強制解除できる

操作が中断されてロックが残ったままになるケースでは、Workspace の Admin 権限を持つユーザーがロックを強制的に解除できます。

image.png

強制解除すると、他のユーザーはすぐに変更系の操作を再開できます。

まとめ

  • lock は state の競合を防ぐための安全装置
  • Apply / Destroy はロック中に実行できず待機する
  • Plan only は待機しない
  • Admin 権限があればロックを強制解除できる

Terraform のロック挙動を理解しておくことで、チーム利用時のトラブルを避けやすくなります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?