先に結論
先に結論ですが、CloudWatchアラーム設定で、対象のカスタムメトリクスを指定する際のディメンションInstanceType
を修正すると解消しました。
事象
ある日、EC2インスタンスのスペックアップのため、インスタンスタイプ変更を行うことになりました。
まずは検証用の環境で、t3.micro → t3.smallに変更して挙動を確認していました。
インスタンスを停止し、タイプ変更後起動するところまで確認し、問題なさそうかなと思っていました。
しかし、ふとCloudWatchアラームの様子を見に行くと、対象インスタンスのアラームのうちいくつかがデータ不足
状態になっていました。
アラームの詳細を見ると、メトリクス値が出ておらず、グラフが途切れていました。
原因と修正
インスタンスタイプ変更作業後からその状態になっていたので、今回の作業が原因だろうと考えて確認していました。
データ不足状態のアラーム設定を見ていると……ありました。ディメンションにInstanceType
という項目が。
カスタムメトリクス監視の場合、対象メトリクスを指定するディメンション(dimensions)にインスタンスタイプを指定する項目があります。
インスタンスタイプ変更を行ってもアラーム設定が自動で変わるわけではないので、この部分が古いインスタンスタイプのままとなっていたことが原因でした。
すぐにアラームを編集し、InstanceType
のみ修正したところ、インスタンスタイプ変更後の時刻からメトリクスが収集されていることと、アラームが正常(OK)
状態になったことを確認できました。
おわりに
既存環境のインスタンスタイプ変更として慎重に実施したつもりでしたが、カスタムメトリクス監視が関連していることについては見落としていました。
検証環境で気づけて良かったと思いつつ、今後は関連するリソースとして意識していこうと思います。
これからインスタンスタイプ変更を予定されている方、同様の事象に遭遇した方の参考になれば幸いです。