1. 背景
非ASGのLinuxベースのEC2インスタンスで業務アプリケーションを実行していた。
EC2インスタンスの運用にあたって、以下の運用ツールのエージェントをEC2にインストールして利用していた。
| 運用ツール名 | 用途 |
|---|---|
| CloudWatch Agent | EC2内で出力されたログメッセージやメモリ使用率・ディスク使用率のメトリクスの収集・監視通知に利用 |
| Datadog | EC2内で稼働するプロセス関連のメトリクスの収集・監視通知に利用 |
| Deep Security | EC2のウイルス対策に利用 |
運用保守の一環で、以下のような形でLinux OSをバージョンアップし、新バージョンLinuxのEC2のリリースを行うことになった。

新バージョンLinuxのEC2のリリースにあたり、新旧インスタンスの識別をしやすくしつつ、業務利用するEC2インスタンスのインスタンス名を固定する目的でインスタンス名を以下のようなイメージで変更することにした。
| 旧EC2(EC2①)の インスタンス名 |
新EC2(EC2①')の インスタンス名 |
|
|---|---|---|
| 新バージョンリリース前 | EC2① | EC2①_NEW |
| 新バージョンリリース後 | EC2①_OLD | EC2① |
変更作業時はEC2インスタンスの「Name」を手動で変更した。

2. この記事のテーマ
今回インスタンス名を変更したEC2で利用している運用ツールにはインスタンス名を利用しているものがあったので、EC2のインスタンス名変更時に運用ツールがどんな挙動をとったかを紹介する。
なお、今回は業務アプリケーションではEC2のインスタンス名に依存するようなロジックがないことを確認済みで、業務アプリケーション観点ではインスタンス名変更は特に問題なかった。
3. 各運用ツールが保持するEC2インスタンスのメタデータ
利用している各運用ツールでは管理対象のEC2インスタンスの識別用のメタデータを保持しているが、保持するメタデータは以下のようにツールによって異なっていた。
| 運用ツール名 | 保持するメタデータ |
|---|---|
| CloudWatch Agent | インスタンスID、インスタンス名 |
| Datadog | インスタンスID、ホスト名、IPアドレス |
| Deep Security | インスタンスID、インスタンス名、IPアドレス |
※メタデータとして記載している項目は運用ツールのコンソールから判断した内容で、全項目を網羅しているとは限らず、ツールの設定によっても異なる場合がある。
参考までにCloudWatch Agentの場合、今回のインスタンスでは添付の画像のようにCloudWatchのコンソールにてログの表示でログストリーム名にインスタンスID、メトリクスの表示でインスタンス名とインスタンスIDを利用していた。
ちなみにログ出力先のロググループやログストリームの名前はCloudWatch Agentの設定次第で決まり、インスタンスのIPアドレスやホスト名等を設定することも可能。(参考:CloudWatch エージェント設定ファイルを手動で作成または編集する)
今回は運用ツール3種類のうちインスタンス名を利用していることがコンソールから見てとれたCloudWatch AgentとDeep Securityについて、インスタンス名変更前後で問題が出ないか注視した。
4. EC2のインスタンス名変更時の運用ツールの挙動
EC2インスタンス名変更時のCloudWatch AgentとDeep Securityの挙動は以下の通りだった。
エラー発生有無
CloudWatch AgentとDeep Securityいずれもツールが停止するなどのエラーは発生しなかった。
新旧インスタンスの識別可否
新バージョンリリース前の旧インスタンス名と新バージョンリリース後の新インスタンス名は重複するが、CloudWatch AgentとDeep Securityいずれもコンソール上で新旧インスタンスの情報が混ざる形で表示されることはなかった。
おそらくいずれのツールもインスタンスの識別子としてインスタンス名ではなくインスタンスIDを使っているのだと思われる。
コンソール上のインスタンス名表示
CloudWatch AgentとDeep Securityいずれもコンソール上のインスタンス名はインスタンス名変更直後は変更前のインスタンス名のままだった。
コンソール上のインスタンス名が切り替わらないままだと新旧インスタンスが紛らわしく運用保守上困りそうだと思っていたが、Deep Securityはインスタンス名変更から約10分後に自動で切り替わり、CloudWatch Agentも約4時間後に自動で切り替わった。
5. まとめ
運用ツールの種類や設定によって保持するEC2のメタデータは異なる。
CloudWatch AgentとDeep Securityはインスタンス名を保持する状況でEC2のインスタンス名を変更しても、コンソール上のインスタンス名表示が切り替わるのに多少時間かかる点以外は特に問題なかった。

