ヤマムギ

growing hard days.

*

CloudWatchエンドポイントがIPv6に対応したのでCloudWatchエージェントからカスタムメトリクスを送信しました

      2026/01/03

追記

翌日のブログで、CloudWatchエージェントのアップデートにより、CloudWatchとEC2両方のデュアルスタックエンドポイントを使用できる方法を記録しています。
素早く対応方法を知りたい方はそちらをご覧ください。

CloudWatchエージェントがEC2サービスエンドポイントのデュアルスタックに対応したのでIPv6だけでカスタムメトリクス送信できた!

ブログの状況

昨年の1月頃にこのブログのパブリックIPv4アドレスをなくしました。
当時はPutMetricDataの送信先のCloudWatchエンドポイントがIPv6に対応していなかったので、カスタムメトリクスは諦めました。
CloudWatch Logsは当時からIPv6に対応していたので、CloudWatchエージェントはログだけを送信していました。

CloudWatchエンドポイントのIPv6対応

Amazon CloudWatch が IPv6 のサポートを開始
昨年7月にCloudWatchエンドポイントがIPv6に対応しました!

他のサービス同様に既存のIPv4エンドポイントとは別に、IPv4とIPv6の両方に対応したデュアルスタックエンドポイントが追加されました。

東京リージョンの場合、既存エンドポイントはmonitoring.ap-northeast-1.amazonaws.comで、デュアルスタックエンドポイントはmonitoring.ap-northeast-1.api.awsです。

CloudWatchエージェントの設定

CloudWatchエージェントのパラメータのmetricsセクションで、endpoint_overrideを設定して、デュアルスタックエンドポイントに送信するようにしました。

上記の設定を/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.jsonに追記して、CloudWatchエージェントを停止して、開始しました。

停止

開始

動的なディメンションが追加できない問題が残りました

従来、カスタムメトリクスではmetricsセクションにディメンションとして、オートスケーリンググループの名前やインスタンスIDを設定します。

こうしておかないと、例えば次のようなメモリ使用量を取得した場合、その次の画面のようにすべてのインスタンスから送信されたカスタムメトリクスが区別なく表示されるので本来のモニタリングの目的を果たせなくなります。

そこで、append_dimensionsを設定します。
すると、次のエラーが/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.logに出力されました。

EC2のサービスエンドポイントhttps://ec2.ap-northeast-1.amazonaws.com/へリクエスト送信してエラーになっています。
EC2にもec2.ap-northeast-1.api.awsというIPv6対応のデュアルスタックエンドポイントはありますが、${aws:InstanceId}などを設定した際に、CloudWatchエージェントのリクエスト先をそちらへ向ける方法がわかりません。

CloudWatch Logsのログストリームのように、”{instance_id}”と設定してメタデータから取得してくれればいいのですが、これもできないようです。

このAWSアカウントの東京リージョンでは、このブログのオートスケーリンググループしか起動していないので、ディメンションなしでもいいかもしれませんが、ひとまず今日はここまでとして、また解決しましたら別ブログに記録します。
最終的に現在のamazon-cloudwatch-agent.jsonのパラメータは次のようになりました。


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「AWS認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS ,

  関連記事

AWS Summit Tokyo 2017 Day3 開場~基調講演~Dev Day Night

AWS Summit Tokyo 2017 参加2日目のDay3です。 基調講演 …

S3バケットのリクエスタ支払い

S3バケットのリクエスタ支払いを試しました。 バケットの設定 検証用のS3バケッ …

S3オブジェクトロックを試しました

S3オブジェクトロックが必要になる要件に今のところ、出会ってないのでまだ設定した …

オンプレミスに見立てたオハイオリージョンにVyOSインスタンスを起動して東京リージョンからVPN接続

AWSクイックスタートのActive Directory Domain Serv …

新しいVPCウィザード(2022年)がすんごく便利になってました

VPCウィザードがすんごく便利になってました。 ウィザードの左ペインで設定を選択 …

PyCharmにAWS CloudFormationプラグインをインストールして入力補完してみる

JetBrainsのPython統合開発環境(IDE)のPyCharmを1年ちょ …

LINE BOT AWARDS 2017に応募しました

LINEの友達追加QRです。 動作のご確認にどうぞ LINE BOT AWARD …

Amazon Linux2(EC2)にEC-CUBE 4をインストール

こちらのHOMEお知らせ・コラムAmazon Linux2にEC-CUBE4.0 …

Amazon SNSサブスクリプションフィルターで優先度別のSQSキューにサブスクライブする

EC2のコンシューマーアプリケーションは優先度の高いキューのメッセージを先に処理 …

AWS CodeStarのプロジェクトテンプレートLambda+Pythonによって生成されるもの

勉強会のデモで、AWS CodeStarのプロジェクトテンプレートLambda+ …