【HashiCorpの販売代理店が教える】 5分で分かるDrift Detectionとは?【後編】【使い方&利用開始手順をエンジニアが解説】
■この記事を読む前の疑問
・Drift Detectionってどうすれば利用できるんだろう
・Drift Detectionの運用方法が知りたい
こういった疑問に答えます。
■目次
- Drift Detectionの利用開始手順をご紹介します。
-
Drift Detectionの運用方法をご紹介します。
-
最後に
この記事を書いている私は東京エレクトロンデバイスのHashiCorp製品担当エンジニアをしております。今回は後編としてDrift Detectionの利用開始手順と実際の差分機能を確認していきます。
■Drift Detectionの利用開始手順をご紹介します。
ここで、Drift Detectionについて軽くおさらいしましょう。
Drift Detectionとは、HCP Terraform(旧 :Terraform Cloud) の機能で、Terraformで定義されている状態と実際クラウド上の設定状態の差分(Drift)を検知する機能です。
差分の確認は最終実行を起点として24時間ごとに実行されます。また、手動で実行することもできます。より詳しいDrift Detectionの概要、利用シナリオにつきましてはこちらの前編を御覧ください。
それではDrift Detectionの設定を有効にし、利用を開始してみましょう。設定を有効にし、直ぐに利用を開始できます。
※本手順は、2024年9月現在のGUIに沿った手順となりますが、GUIの画面構成はアップデートで変更となる場合がございます。あらかじめご了承ください。
- HCP Terraform のOrganizationのワークスペース一覧から Drift Detectionを有効にしたい任意のワークスペースを選択肢しワークスペースに移動
- サイドメニューの [Health] をクリック
- [Drift] 画面の [Health settings.] をクリック
- [Health Settings] になったら [Health Assessments] の [Enable] にチェックを入れる
- [Save settings] をクリックし設定を保存
■Drift Detectionの運用方法をご紹介します。
前章の手順で、Drift Detectionを有効にしました。ここで、差分を検知した場合の運用方針を解説します。
クラウド上の設定が正しいとする場合 | クラウド上の設定をTerraformのStateファイルに反映します。その後、手動で設定ファイル (.tf) を変更します。 |
Terraformで行った設定が正しいとする場合 | クラウド上の設定がTerraformのStateファイルの状態と同じになるよう、PlanとApply を実行します。 |
それでは実際にDrift Detectionで差分が検出されることを確認してみましょう。※今回の手順ではAWSを使用しておりますが、利用するクラウドプロパイダの指定はございません。
動作確認のための差分を作成 : AWS管理コンソールを使って意図的に差分を作成するため、EC2リソースの設定を変更します。
- AWS管理コンソールにログイン
- EC2のダッシュボードから [インスタンス (実行中)] – [インスタンスID] をクリックしてインスタンスの概要に移動
- インスタンス概要画面の [タグ] をクリックして [タグを管理] をクリック
- タグの値を、今回は ”terraform-handson-ec2-Drift” に設定して [保存] をクリック
- インスタンスの名前が ”terraform-handson-ec2-Drift” に変更されたことを確認
Drift Detectionの動作確認 : 作成した差分を元に、実際に差分が検出されることを確認します。
- HCP Terraform の Organization のワークスペース一覧から Drift Detectionを有効にした任意のワークスペースに移動
- サイドメニューの [Health] をクリック
- Drift 画面の [Start health assessment] をクリック
- 差分検出が終了したら、リソース名を展開して変更になった箇所を確認
■最後に
いかがだったでしょうか!Drift Detectionを利用することで、インフラストラクチャの管理と運用の精度を高めることができますので、是非機能を利用してみてください。
ここまでご覧いただきありがとうございました。さらにもっと知りたい人は以下からホワイトペーパーをダウンロードしていただき、HCP Terraform (旧 : Terraform Cloud)のご利用をご検討ください。