LoginSignup
3
1

More than 5 years have passed since last update.

EC2 Systems Manager(SSM)でAMIMOTOのNginx / PHP / Perconaバージョンを確認する

Posted at

State Managerから「AWS-GatherSoftwareInventory」というドキュメントを関連付けすることで、インスタンス内の「applications」「awsComponents」「customInventory」「networkConfig」「windowsUpdates」をSSMエージェントが定期的に収集してくれる。

これをAWS-CLIやSDKから引っ張ってくるようにすれば、管理しているインスタンスの情報をssh接続せずに確認できるようになる。

今回の対象

例によってAMIMOTO AMI(HVM)です。

AWS-CLIでNginxのバージョンを調べる

$ aws ssm list-inventory-entries \
--instance-id YOUR_INSTANCE_ID \
--type-name "AWS:Application" \
--filters Key=Name,Values=nginx,Type=BeginWith
{
  "InstanceId": "i-XXXXXXXXXXXXXX",
  "TypeName": "AWS:Application",
  "Entries": [
    {
      "Publisher": "nginx inc. via OpsRock LLC",
      "Name": "nginx",
      "URL": "http://nginx.org/",
      "Version": "1.11.10",
      "ApplicationType": "System Environment/Daemons",
      "InstalledTime": "2017-03-22T00:20:56Z",
      "Architecture": "x86_64"
    }
  ],
  "SchemaVersion": "1.0",
  "CaptureTime": "2017-03-23T08:30:55Z"
}

--filtersを付けないとインスタンス内にあるアプリの情報全部出してくるので見るのが大変です。
クエリはKey=Name,Values=アプリ名,Type=BeginWithにしておくと前方一致で検索してくれるので、php-CCCみたいなものも取得できます。

AWS-CLI + jqでPHPのバージョンを見る

jqと組み合わせるといい感じに情報が取りやすいです。

$ aws ssm list-inventory-entries \
--instance-id YOUR_INSTANCE_ID \
--type-name "AWS:Application" \
--filters Key=Name,Values=php,Type=BeginWith | jq ".Entries[] | .Name,.Version"
"php"
"7.0.17"
"php-cli"
"7.0.17"
"php-common"
"7.0.17"
"php-devel"
"7.0.17"
"php-fpm"
"7.0.17"
"php-gd"
"7.0.17"
"php-json"
"7.0.17"
"php-mbstring"
"7.0.17"
"php-mcrypt"
"7.0.17"
"php-mysqlnd"
"7.0.17"
"php-opcache"
"7.0.17"
"php-pdo"
"7.0.17"
"php-pear"
"1.10.3"
"php-pecl-memcache"
"3.0.9"
"php-pecl-zip"
"1.13.5"
"php-process"
"7.0.17"
"php-xml"
"7.0.17"

AWS-CLIでNginx / Percona / PHPのバージョンを一気に調べる

--filtersのValuesはカンマ区切りで複数指定できます。
なので調べたいものをまとめて指定してやれば網羅も簡単です。

$ aws ssm list-inventory-entries \
--instance-id YOUR_INSTANCE_ID \
--type-name "AWS:Application" \
--filters Key=Name,Values=php,nginx,percona,Type=BeginWith | jq ".Entries[] | .Name,.Version"
"nginx"
"1.11.10"
"Percona-Server-client-56"
"5.6.35"
"Percona-Server-server-56"
"5.6.35"
"Percona-Server-shared-56"
"5.6.35"
"php"
"7.0.17"
"php-cli"
"7.0.17"
"php-common"
"7.0.17"
"php-devel"
"7.0.17"
"php-fpm"
"7.0.17"
"php-gd"
"7.0.17"
"php-json"
"7.0.17"
"php-mbstring"
"7.0.17"
"php-mcrypt"
"7.0.17"
"php-mysqlnd"
"7.0.17"
"php-opcache"
"7.0.17"
"php-pdo"
"7.0.17"
"php-pear"
"1.10.3"
"php-pecl-memcache"
"3.0.9"
"php-pecl-zip"
"1.13.5"
"php-process"
"7.0.17"
"php-xml"
"7.0.17"
3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1