
Datadogを用いてAWSリソースを監視する
本記事ではAmazon Web Service (以下、AWS)リソースをDatadogにて一元管理し、アラームを設定することで効率的にリソース状況を把握する方法を記載いたします。
はじめに

情報通信技術(ICT)を用いたサービスの高度化、多様化が進み様々な分野でICTが活用されており、総務省の発行する[情報通信白書]によるとクラウドサービスを一部でも利用している企業は全体の7割にも及ぶと公表されおり今後も利用が進むと考えられております。
そのクラウドサービスのトップシェアとなるAWSはコンピューティングやコンテナ、データベースを始めとしたサービスを200種以上提供しており、便利な反面リソース状況の把握が困難です。
そこでDatadogを用いることで、リソース状況を纏めて管理し、異常をいち早く検知する必要することで、機会損失を最小に押さえてサービスの安定稼働を期待できます。
本記事前半では設定に伴う事前準備を、後半では実際の設定例を紹介いたします。
モニタリングサービスはなぜ必要なのか
クラウド環境の普及に伴い、注目されているのがモニタリングサービスです。モニタリング環境の整備に監視が集まっているのは、DXの浸透が一つの理由に挙げられるでしょう。業務のデジタル環境への依存が進み、クラウドの安定稼働を実現することで、重大なインシデントを回避することが、企業の安定成長に直結するからです。
モニタリングサービスの導入によって、クラウドの安定稼働を阻害する要因、例えばサーバーダウンの兆候やストレージの不足、そしてセキュリティの脆弱性の早期発見などを実現できます。
Datadogについて
上述のようなニーズを解消する上で、有効なサービスとして人気が高いのがDatadogです。Datadogはクラウドアプリケーションを監視する上で必要な、ほぼ全ての機能を一元的に提供できます。
インフラの監視やアプリのパフォーマンス監視、リアルタイムでのログの管理など、モニタリング環境に求められる多くの機能を提供しているソリューションです。
また、単純にデータを収集できるだけでなく、データを分析し、利活用するための仕組みも整えられています。データ分析の体制を構築して、セキュリティに反映させていきたいと考えている企業にとって、魅力的なサービスと言えるでしょう。
Datadogの強み
Datadogが高く評価されている理由の一つは、セキュリティの強化と業務効率化を両立できる点です。上述のようなモニタリング業務は、従来だと別個に対応し、情報を集約の上対策しなければなりませんでした。
一方でDatadog環境においては、このような業務の煩雑化を回避し、情報の集約から分析までをまとめて対応することができます。少人数でのセキュリティ対応であっても、十分なパフォーマンスを発揮できるでしょう。
また、チーム内での運用可能性を高めるため、複数ユーザーによる運用に適した機能も整えられています。独自のダッシュボードをチーム内で共有し、情報の共有や意思決定を高速化できるのが強みです。
事前準備
ここでは、Datadogの導入に際して実施すべき事前準備について、解説します。今回はAWSに導入することを前提に、手続きを見ていきましょう。
概要
AWSリソースをDatadogへ表示させるためにはAWSインテグレーションを用いる事で、効率良く監視対象のサービスをDatadogへ連携する事が可能です。本項ではDatadogの初期設定からインテグレーションのインストールまでの手順を解説いたします。
Datadog初期設定
Datadogホームページより[ 無料トライアル ]を選択し遷移後の[ 1. Your account ]へ、必要情報を記載の上、[ サインアップ ]を選択することで[ 2. Your Stack ]へ遷移します。
[ 2. Your Stack ]にて一覧より[ AWS ]を接続スタックへ選択し[ Next ]を選択することで[ 3. Agent Setup ]へ遷移します。
[ 3. Agent Setup ]にて必ず1つ以上の環境へDatadog Agentを導入する必要があるため、AWSにて任意のEC2(Amazon Linux)を起動し対象サーバにて[ Use our easy one-step install. ]へ表示されているAgentインストールコマンドを実行します。
インストール完了後に[ Next ]が選択可能となるため選択し[4. AWS (Optional)]へ遷移しますが、特に編集不要でSkipを選択しDatadogのトップページが表示されることを確認します。
インテグレーションの設定
トップページの左カラムより[ Integrations ]を選択し検索窓へ[ Amazon Web Services ]を入力すると、1件のみ検索結果に表示されるため表示された[ Amazon Web Services > Install ]を選択します。

AWSの概要説明下に表示される[ + Add AWS Account(s) ]を選択します。

遷移後に[ Automatically using CloudFormation ]を選択し[ リージョン ][ API key]をそれぞれ入力することで[ Launch CloudFormation template ]が選択可能となりますので選択します。
※ログの転送、クラウドセキュリティはユースケースに合わせて有効化します。

別タブでAWSコンソールが立ち上がり[ CloudFormation>スタック >スタックの作成 ]へ遷移します。
※未ログインの場合はログインしてください。
[ テンプレート ]、[ スタックの名前 ]、[ パラメータ ]の内容をそれぞれ確認し問題がなければ画面下部のチェックボックスへチェックを入れて[ スタックの作成 ]を押下します。
下記4個のスタックが作成されてステータスが[ CREATE_COMPLETE ]となることを確認します。
・〓スタック名〓
・〓スタック名〓-ForwarderStack-〓ID〓
・〓スタック名〓-DatadogAPICall-〓ID〓
・〓スタック名〓-DatadogIntegrationRoleStack-〓ID〓
Datadogへ戻り[ Integrations ]から[ Installed ]へ[ Amazon Web Services ]が表示されていることを確認出来ればインテグレーションのインストールが完了となります。

任意のリソースを監視する
前項でリソース状況を連携する準備が整いましたので本項では実際にモニター設定を設定します。
サービスへのインテグレーションのインストール
Datadogトップページの左カラムより[ Integrations ]を選択し検索窓へ監視したいサービス名を入力し、検索結果に対象サービスが表示されるので、[ + INSTALL ]を選択します。

設定画面が立ち上がるので[ Configuration ]より[ Install Integration ]を選択します。

Datadogへ戻り[ Integrations ]から[ Installed ]へ前項でインストールしたサービスが表示されていることを確認出来ればインテグレーションのインストールが完了となります。

任意のリソースを監視します
Datadogトップページの左カラムより[ Monitors > New Monitor ]を選択し[ Integration ]を選択します。
遷移後の画面より前項でインストールした監視対象のサービス名を選択し遷移後画面で、任意の監視項目を選択します。

モニター設定画面にて監視要件に合った設定を行いCreateを選択することで監視可能となります。
各項番の概要は以下の通りです、
①Choose the detection method | 検出方法をしきい値、変更、異常検出、外れ値、予報から選択します。 |
②Define the metric | タグやメトリックスを組み合わせて監視対象リソースのデータ収集方法を設定します。使用できるタグやメトリックは公式ドキュメントにて公開されております。※参考サイト1 |
③Set alert conditions | 前項で定義したメトリック値に対してアラートの発報の閾値を設定します。発報条件は①で設定した内容に応じて変わります。 |
④Notify your team | 通知先と通知内容を設定します。任意のアラート件名や特定の連絡先のみへ通知などモニターごとに設定可能です。 |
⑤Define permissions and audit notifications | モニター設定の権限を設定します。複数ユーザを作成する場合は設定する場合もあります。 |
前項で作成したモニター設定が[ Manage Monitors ] に表示されていることを確認出来れば設定完了となります。

参考サイト1:アラームの収集
最後に

今回は既存のAWSリソースをDatadogにて監視する設定方法を紹介させていただきました。モニタリングサービスの導入は、複雑化し依存度の高まるクラウド環境を外部から守る上で、重要な取り組みです。Datadogはモニタリングソリューションとして非常に人気が高く、導入によって得られるセキュリティ強化や業務効率化の効果は大きなものとなります。
AWS以外にもMicrosoft AzureやGoogle Cloud等他クラウドのリソースを纏めて管理が可能な点や、アプリケーション パフォーマンス監視(APM)を用いてアプリケーションの問題点を分析可能な点など、Datadogはサービスの安定性を高めるにはとても優れているツールとなります。
しかし問題点としてモニターを設定し通知しても受信者が気付かなければサービスの安定性が損なわれてしまいます。
当社ではDatadogのモニターからのアラートメールをトリガーに障害対応や運用保守を代行させていただくサービスをご提供しております。
もしご興味がございましたらぜひ気軽にご相談ください。
最後までお読みいただき、ありがとうございました。