広告スペース(バナー)
🟪Terraform レッスン
Terraformの基本を知ろう5
リソースの定義と検証5
状態(state)を理解しよう4
変数と出力値4
モジュールとワークスペース5
プランの保存と高度な状態管理5
応用的なTerraformの機能8
レッスン 35 / 37

state drift(ドリフト)とは?

「コード上の設定と、実際のクラウドの状態がずれてしまった」という状況を指すのがドリフトです。ドリフトとは、Terraformの管理下にあるはずのリソースが、コード外の操作(管理コンソールでの手動変更など)によって、コードの内容と食い違ってしまう現象です。

ドリフトが発生すると、次回のterraform plan実行時に、意図していない差分(コード側に戻そうとする変更、または逆に予期しない変更)が表示され、混乱の原因になります。

例えば、Terraformで管理しているセキュリティグループのルールを、誰かが管理コンソールから直接追加してしまうと、次のplanでそのルールが「削除される」差分として表示されてしまいます。

よくあるつまずきは、ドリフトが起きていることに気づかずapplyしてしまい、手動で加えた重要な変更を意図せず元に戻してしまうことです。定期的なplanの確認でドリフトを早期発見するのが重要です。

実務では「変更は必ずコード経由で行う」というルールの徹底が、ドリフトを防ぐ最も効果的な対策です。

Terraform
試してみよう(疑似ターミナルへの入力例)
terraform plan

🧑‍💻 このコマンドは Terraformの疑似ターミナル に実際に入力して試せます(このページ自体には操作可能なターミナルはありません)。

🎯
ここまでできればゴール達成!
手動変更などによる、コードと実際の状態のズレ(ドリフト)が理解できるようになります。
広告スペース(バナー)
広告スペース(記事内)