背景
昨年末にCloudWatch Agentがリリースされました。AWS公式サイト
このツールのハンズオンイベントがあり、そちらに参加した際に
関連ツールであるSSM Agentのバージョン確認方法が分かりませんでした。
※CloudWatch Agentの導入条件としてSSM Agentのバージョン制約があるため
現在のSSM Agentのバージョンを確認したかったのですが
amazon-ssm-agentコマンドには versionオプションが無いようです。
(2018/2/20時点で2.2.93.0 以降である必要があります)
Usage of amazon-ssm-agent:
-clear
-code string
-fingerprint
-i string
instance id
-id string
-r string
instance region
-region string
-register
-similarityThreshold int
(default 40)
-y
SSM AgentのVersion確認方法
結論から言うと、awscliで確認することができました。
$ aws ssm describe-instance-information --query InstanceInformationList[] --output table
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| DescribeInstanceInformation |
+--------------+----------------+-------------+----------------------+------------------+-------------------+-------------+-------------------+---------------+-------------------+----------------+
| AgentVersion | ComputerName | IPAddress | InstanceId | IsLatestVersion | LastPingDateTime | PingStatus | PlatformName | PlatformType | PlatformVersion | ResourceType |
+--------------+----------------+-------------+----------------------+------------------+-------------------+-------------+-------------------+---------------+-------------------+----------------+
| 2.2.120.0 | ip-10-3-1-240 | 10.3.1.240 | i-XXXXXXXXXXXf40dbc | False | 1519115377.69 | Online | Amazon Linux AMI | Linux | 2017.09 | EC2Instance |
| 2.2.257.0 | ip-10-3-1-146 | 10.3.1.146 | i-XXXXXXXXXXX9834ff | True | 1519115509.41 | Online | Amazon Linux AMI | Linux | 2017.09 | EC2Instance |
+--------------+----------------+-------------+----------------------+------------------+-------------------+-------------+-------------------+---------------+-------------------+----------------+
バージョンだけ抽出したいケースは下記のようにすることで確認できます。
$ aws ssm describe-instance-information --query InstanceInformationList[?InstanceId==\`ターゲットのインスタンスID\`].AgentVersion --output text
2.2.257.0
※ちなみにSystem ManagerコンソールのInventoryでも SSM AgentのVersionは確認することができます。
Cloudwatch AgentのVersion確認方法
ついでにCloudwatch AgentのVersion確認方法も調べたのですが、下記コマンドで確認することができました。
$ /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -m ec2 -a status
{
"status": "running",
"starttime": "2018-02-20T07:00:28+0000",
"version": "1.208.0"
}