EC2 Systems ManagerのRun CommandをWindowsServerで試してみた #reinvent
はじめに
AWS re:Invent 2016で新機能EC2 Systems Managerが発表されました。 機能の1つであるRun CommandをWindowsServerで試してみました。 OSにログインせずとも、OS、アプリケーション、アップデートの状態を確認出来ました。 結果はAWSコンソールで確認できるほか、SNSで通知したりs3に配置できます。
やってみた
s3バケットの作成
マネージドコンソールでは2500文字までの表示になるため、s3に出力します。 s3バケットを作成し、バケットポリシーを設定します。 以下のバケットポリシーを適用しました。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "sitemanager", "Effect": "Allow", "Principal": { "Service": "ssm.amazonaws.com" }, "Action": "*", "Resource": "arn:aws:s3:::bucket-name" } ] }
IAMロールを適用してEC2を作成
Run Commandを実行するには、EC2にIAMロールを割り当てる必要があります。 IAMコンソールで以下のIAMロールを作成し、EC2作成時に割り当てます。
- IAMロールタイプ:Amazon EC2 Role for Simple Systems Manager
- ポリシー:AmazonEC2RoleforSSM
Run Command
検証はオレゴンリージョンで行いました。 EC2コンソールの左メニュー"Run Command" > "Run a Command"を選択します。
ドキュメントの選択
数が多いので、プラットホームで絞ると良いでしょう。 今回は"AWS-ListWindowsInventory"を使います。 OS、アプリケーション、アップデートの状態を表示するドキュメントです。
List information about the operating system, installed applications, or installed updates. We recommend exporting results to an Amazon S3 bucket. Output can exceed the maximum.
ターゲットの選択
対象にするEC2を選択します。 IAMロールを設定しないと、一覧に出ません。
パラメータの入力
パラメータを入力します。 パラメータはドキュメントによって異なります。 "AWS-ListWindowsInventory"では、表示する内容を選択できるようです。
タイムアウト、s3バケットへの格納、通知
結果をs3バケットに格納したり、SNSで通知出来ます。 今回はs3に格納します。
AWS CLI実行コマンド
コマンドで実行する場合のコマンドが表示されます。 これは便利ですね。
結果の確認
すぐにステータスが"Success"になりました。 View Outputを選択します。
結果を確認できます。 2500文字を超えて切り詰められていました。
s3には"stdout"ファイルが配置されました。 "stdout"ファイルの結果を抜粋します。 全文はこちらをご覧ください。コンピュータ名はマスクしています。
OS Informationには言語やエディションが表示されます。
Key:OSLanguage Value:日本語 (日本) Key:OperatingSystemSKUName Value:Standard Server Edition
List Installed Applicationsでは、アプリケーションのバージョンなどを確認出来ます。
Name: EC2ConfigService Version: 4.0.1343.0 Publisher: Amazon Web Services InstalledOn: 2016-11-22T00:00:00Z InstallLocation: null
List Installed Updatesでは、パッチの適用状況を確認出来ます。
HotFixId:KB3195362 Description:Update InstalledOn:2016-11-22T00:00:00Z InstalledBy:NT AUTHORITY¥SYSTEM
終わりに
Run Commandを使って、OSにログインせずとも情報を取得できることを確認しました。 リモートデスクトップせずにWindows Serverを利用するケースが出てきそうです。
検証環境
- オレゴンリージョン
- Windows_Server-2012-RTM-Japanese-64Bit-Base-2016.11.23(ami-e7e24d87)