【HashiCorp担当エンジニアが教える】 5分で分かる Drift Detection 【前編】
■この記事を読む前の疑問
・Drift Detectionとはなんだろう
・Drift Detectionはどんな場面で利用する?
・Drift Detectionを使用することでどんな問題が解決できる?
こういった疑問に答えます。
■目次
・Drift Detectionとは?
・Drift Detectionの利用シナリオ
・Drift Detectionを使用することでどんな問題が解決できるのか
・最後に
この記事を書いている私は東京エレクトロンデバイスのHashiCorp製品担当エンジニアをしております。
今回は前編としてDrift Detectionの概要を解説していきます。
■Drift Detectionとは?
Drift DetectionとはTerraform Cloudの機能で、Terraformで管理されているインフラストラクチャの状態と、実際のクラウドプロバイダー上でのリソースの状態との間に発生した変更(”ドリフト”)を検出する機能です。
HashiCorp社、Terraform Cloudについては以下の記事で紹介されておりますので、一度ご覧になってください
このドリフトは、クラウドのコンソール画面などで人が直接リソースに変更を加えた場合などで生じます。Drift Detectionを利用することで、インフラストラクチャの管理と運用の精度を高めることができます。
Drift Detectionは、以下のステップで機能します。
①状態の同期
Terraform Cloudでは、ドリフト検出をデフォルトで4時間毎に実行します。また手動で実行することもできます。これにより、インフラストラクチャの変更をリアルタイムに監視することが可能になります。
↓
②リソースの状態確認
Terraform CloudはクラウドプロバイダーのAPIを使用して、管理下にあるリソースの現在の状態を取得します。
↓
③ドリフトの検出と報告
TerraformのState(状態)ファイルとクラウドプロバイダーから取得したリソースの実際の状態を比較し、差異がある場合はドリフトとしてユーザに報告します。
この報告はTerraform Cloudのダッシュボード上で確認することができ、どのリソースがどのように変更されたかの詳細を確認できます。
また、Drift Detectionを最大限に活用するために以下の機能も備えております。
〇通知の設定
ドリフトが検出された場合に通知を受け取れるように、通知設定を行うことができます。これには、メール、Slack、または他の通知サービスを介してアラートを受け取ることができます。
■Drift Detectionの利用シナリオ
利用シナリオとして、以下の3つのシナリオがあると考えております。
・予期していなかった変更
・不正アクセス
・保全
こちらのシナリオについて、次の項目で詳細にご説明致します。
■Drift Detectionを使用することでどんな問題が解決できるのか
その1 :予期していなかった変更
- Terraform以外の手段でインフラストラクチャに変更(クラウドのコンソール画面などで人が直接リソースに変更)を行ったことに気づいた時
- リソース増強で一時的な変更が外部から設定され、その後変更が放置されて無駄なコストがかかってしまった時
Drift Detectionを使用することで期待できる効果 : 予期せぬ問題やエラーの原因となる可能性のあるドリフトを発見できます。
その2 : 不正アクセス
- 広いレンジでのアクセス許可や意図しないパブリックネットワークからのアクセス許可
Drift Detectionを使用することで期待できる効果 : 設定不備から生じる不正アクセスによるリソースの改ざんを未然に防止できます。
その3 : 保全
- 不用意なインフラストラクチャの変更によるシステムダウン
Drift Detectionを使用することで期待できる効果 : 実際のクラウドプロバイダー上でのリソースの状態が理想の状態で維持されているかを監視できます。
■最後に
いかがだったでしょうか! 以上をまとめると、Drift Detectionを使用することで次の効果を期待できます。
- 手動監視による時間と労力を大幅に削減
- 外部からの予期していなかった変更の発見と対応
- インフラの保全
ここまでご覧いただきありがとうございました。さらにもっと知りたい人は是非、以下からホワイトペーパーをダウンロードしていただき、Terraform Cloudのご利用をご検討ください。
次回はDrift Detectionの運用、具体的な使い方について掲載します。