AWSEC2 Systems ManagerWordPress

AMIMOTOのWordPressバージョンをEC2 SSMでインベントリするドキュメントをCloudFormationで作ってみた

ぱっと見なんのことやらというタイトルですが、結構便利です。 経緯 EC2 System ManagerでWordPressのバージョンを管理したい インベントリするためにはaws-cliのコマンドをインスタンス内で実行し […]

広告ここから
広告ここまで

ぱっと見なんのことやらというタイトルですが、結構便利です。

経緯

  • EC2 System ManagerでWordPressのバージョンを管理したい
  • インベントリするためにはaws-cliのコマンドをインスタンス内で実行しないといけない
  • EC2 System ManagerのRun Commandを使えばSSHせずにインベントリできそう
  • どうせならEC2 System Managerのドキュメントにしておけばいちいちコマンド打たなくてすみそう
  • CloudFormationならYAMLでコマンド定義できるよね

事前準備

インスタンスの準備

まずはAMIMOTO AMIを起動します。

UserDataに以下のコードを追記するとEC2 SSM エージェントのインストールも同時に行える(はず)です。

#!/bin/bash
cd /tmp
curl https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm -o amazon-ssm-agent.rpm
yum install -y amazon-ssm-agent.rpm

参考:SSM エージェントのインストール – Amazon Elastic Compute Cloud

joのインストール

JSON生成にjoを利用します。

AMIMOTO AMIでJSON生成ツール”jo”を使用して、EC2 Systems ManagerのInventory Managerを使ってみる | WP-kyoto

使用するCloudFormation

https://gist.github.com/hideokamoto/dfff6a2158e42048b2f6c7c683f34bbe

マネージドコンソールから利用する

EC2の「コマンド履歴」から追加したドキュメントを実行します。

成功していれば「マネージドインスタンス」の「インベントリ」でWordPressのバージョンが確認できます。

使い所

今回はWordPressのバージョンを表示するだけでしたが、sudo -u ec2-user /usr/local/bin/wp core versionの部分をよしなに書き換えてやれば、「WP更新用のドキュメント」や「プラグインのバージョンをインベントリするドキュメント」みたいなものも作れそうです。

あとはまだ未トライですが、Automationと組み合わせることができれば管理しているWPの状態を定期的にモニタリングすることもできるかなと思います

追記

「Automationで自動化すればいい」思っていたのですが、どうやら勘違いでした。
正しくは「State Managerで関連付けすることで、自動的にインベントリできる」です。

「State Manager」の[関連付けの作成]で画像のように作成したドキュメントを設定してやると、設定した間隔でドキュメントに定義したコマンドを実行してくれます。

今回作ったドキュメントは、「AMIMOTO AMIのデフォルトインストールされたWordPressのバージョンをインベントリする」というものです。
ですので、大量のAMIMOTO AMIインスタンスを運用している時にState Managerでこのドキュメントを関連付けしておけば、運用しているWordPressのバージョンをインベントリからまとめて確認することが可能となる・・・はずです。

ブックマークや限定記事(予定)など

WP Kyotoサポーター募集中

WordPressやフロントエンドアプリのホスティング、Algolia・AWSなどのサービス利用料を支援する「WP Kyotoサポーター」を募集しています。
月額または年額の有料プランを契約すると、ブックマーク機能などのサポーター限定機能がご利用いただけます。

14日間のトライアルも用意しておりますので、「このサイトよく見るな」という方はぜひご検討ください。

広告ここから
広告ここまで

Related Category posts