Amazon EC2 Systems ManagerのRun Commandをやってみた #reinvent
はじめに
本日のAWS re:Invent 2016で発表された新機能、Amazon EC2 Systems Manager。
速報記事は以下です。
この機能の1つであるRun Commandをやってみました。
やってみた
Amazon EC2 Systems Managerに管理されるEC2の要件
- 以下のOSであること
- 64-Bit and 32-Bit Systems
- Amazon Linux 2014.09, 2014.03 or later
- Ubuntu Server 14.04 LTS or 12.04 LTS
- Red Hat Enterprise Linux (RHEL) 6.5 or later
- CentOS 6.3 or later
- 64-Bit Systems Only
- Amazon Linux 2015.09, 2015.03 or later
- Red Hat Enterprise Linux (RHEL) 7.x or later
- CentOS 7.1 or later
- 64-Bit and 32-Bit Systems
- SSMエージェントがインストールされていること(インストール手順)
- EC2にIAM Role(AmazonEC2RoleforSSM)が設定されていること(設定手順)
- EC2がインターネットアクセスできること
Run Commandの設定
EC2管理コンソールのメニューにSYSTEMS MANAGER SERVICESとSYSTEMS MANAGER SHARED RESOURCESというメニューが追加されています。今回はSYSTEMS MANAGER SERVICESにある「Run Command」をクリックします。
[Welcome to EC2 Systems Manager – Run Command]と表示されます。[Run a command]ボタンをクリックします。
[Run a command]画面が開きます。[Command document]では18個のコマンド(SSMドキュメント)が定義されています。
今回は一番わかりやすい「AWS-RunShellScript」を実行してみることにします。
[Target Instances]でコマンド実行対象とするインスタンスを選択します。
[Commands]に実行したいシェルスクリプトを記載します。[Working Directory]はシェルスクリプトを実行するときのディレクトリです。[Execution Timeout]はSSMエージェントがコマンドを実行できない際のタイムアウト時間です。
[Comment]にはこのコマンド定義へのコメントをつけることができます。[Timeout]はインスタンス接続に対するタイムアウトです。S3に関する設定は、コマンドの実行結果をS3に保存する際に設定します。またSNS Topicを設定することで、コマンドの失敗などがあった場合に通知することができます。全部設定したら[Run]ボタンをクリックします。
コマンドが実行されました。[View result]ボタンをクリックします。
コマンドが実行され、StatusがSuccessになっていることがわかります。
[Output]タグの[View Output]をクリックします。
コマンドの実行結果が確認できます!
さいごに
複数のサーバを対象にコマンド実行が出来るため、情報の取得やアップデート作業などに便利に活用できそうです。