インフラストラクチャパフォーマンスモニタリング機能の CloudWatch サブスクリプションを使ってみた #reinvent
こんにちは、大前です。
現在開催中の re:Invent 2022 にて、AWS グローバルネットワークのレイテンシをモニタリングするための機能がネットワークマネージャーの機能として追加されました。
ネットワークマネージャー上でレイテンシをモニタリングするだけでなく、CloudWatch メトリクスへの発行もできる様なので、今回はそれを試してみました。
やってみた
メトリクス化したい情報を CloudWatch サブスクリプションに登録
コンソール上で、CloudWatch メトリクスとして発行したいものを選択した状態で、右上の「CloudWatch サブスクリプションを管理」をクリックします。※画像は既にサブスクライブ状態になっています
画面遷移したら、CloudWatch メトリクス化したいものを選択し、「サブスクリプションの更新」→「サブスクライブ」をクリックすることで、CloudWatch へのメトリクス発行を有効にできます。下記画像は既にサブスクライブ状態になっているものですが、不要になったら逆にサブスクリプションを解除することもできそうです。
今回は以下について CloudWatch サブスクリプションの設定を行いました。
- インターリージョン(=リージョン間)
- ソース : ap-northeast-1 送信先 : ap-northeast-3
- インターアベイラビリティーゾーン(=AZ間)
- ソース : apne-az1 送信先 : apne-az2
- ソース : apne-az1 送信先 : apne-az3
- ソース : apne-az1 送信先 : apne-az4
- イントラアベイラビリティーゾーン(=AZ内)
- ソース : apne-az1 送信先 : apne-az1
ちなみに、CloudWatch へメトリクスを送信することで料金が発生します。どの料金が発生するか明示しているドキュメントは見つけられなかったのですが、おそらくカスタムメトリクスの料金が発生するものと思われます。
CloudWatch メトリクスを見てみる
少し時間をおいて CloudWatch メトリクスが発行されていることが確認できました。ディメンジョンとしては「AWS/EC2/InfrastructurePerformance」> 「Destination,MetricType,Period,Scope,Source,Statistic」にメトリクスが発行される様です。メトリクスの属性として、Source
や Destination
、Scope
なども確認できます。
試しにインターアベイラビリティーゾーンのメトリクスを表示させてみます。ネットワークマネージャー側と同様のグラフが確認できることがわかります。
CloudWatch Alarm を作ってみる
CloudWatch に発行したメトリクスに対する CloudWatch Alarm も通常通り作成できました。
ある程度一定の値が期待されるメトリクスかと思いますので、もしアラームを設定するのであれば異常検出に基づくアラームを作成するのがマッチしそうな気がします。
基本的に AWS インフラ基盤における障害は AWS Health にて確認が可能ですが、必要に応じて CloudWatch Alarm を併用することで、AWS インフラ基盤の異常を速やかに検知できる様になりそうです。
CloudWatch Dashboard に追加してみる
CloudWatch メトリクスとして発行されているため、当然 CloudWatch Dashboard にもウィジェットとして追加ができます。普段から CloudWatch Dashboard を閲覧する運用をしている場合は、CloudWatch メトリクス化してダッシュボードに追加しておけば、一々ネットワークマネージャー側を確認しにいく必要がなくなるので、これはなかなか良さそうです。
おわりに
インフラストラクチャのパフォーマンスの CloudWatch サブスクリプションを利用してみました。
CloudWatch メトリクスとして発行された後は、通常のメトリクスと同様に利用が可能です。
また、CloudWatch Dashboard を利用した運用をしている場合、ダッシュボード上で AWS インフラ基盤のパフォーマンスもモニタリングできる様になるのは嬉しいケースもあるのではないでしょうか。
以上、AWS 事業本部の大前でした。