EC2 Systems Managerでオンプレ環境のWindowsを管理する #reinvent

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、菊池です。

re:Inventで発表された新サービス、EC2 System Managerでは、マネージドインスタンスに登録することでオンプレミス環境の物理マシンやVMも管理することが可能です。

こちらのエントリではオンプレのCentOSを管理してみました。今回はWindowsのVMをマネージドインスタンスに登録し、State Managerでコマンドを実行してみました。

やってみた

管理対象

  • Windows Server 2012 R2
  • Hyper-V上のVMとして稼働

マネージドインスタンスへの登録

VMをEC2 System Mangerのマネージドインスタンスへ登録します。Windowsの場合には下記リンクの手順で実施します。

大まかな流れはLinuxの時と同様です。

  • EC2 System Managerのアクティベーションを作成
  • SSM Agentのインストール

アクティベーションの作成

管理対象のVMを認証するためのアクティベーションキーを作成します。

マネジメントコンソールのEC2管理画面の左メニューにある、SYSTEM MANAGER共有リソース -> アクティベーション -> アクティベーションの作成と進みます。

vm-ssm-000

各項目を入力します。

  • インスタンス制限:このアクティベーションで何台のインスタンスを認証させるか
  • IAMロール:今回は事前に作成していませんでしたので、このタイミングで作成します。
  • アクティベーションの有効期限:キーの有効期限です

ssm-win-001

作成されました。表示されるアクティベーションコードとアクティベーションIDを控えておきます

vm-ssm-003

オンプレWindowsへのSSM Agentのインストール

続いて、SSM Agentのインストールです。ドキュメント記載の通り、PowerShellで以下のコマンドを実行します。regionは今回は東京リージョンなのでap-northeast-1に、codeidは先ほど作成したアクティベーションの値に書き換えます。

$dir = $env:TEMP + "\ssm"
New-Item -ItemType directory -Path $dir
cd $dir
(New-Object System.Net.WebClient).DownloadFile("https://amazon-ssm-region.s3.amazonaws.com/latest/windows_amd64/AmazonSSMAgentSetup.exe", $dir + "\AmazonSSMAgentSetup.exe")
Start-Process .\AmazonSSMAgentSetup.exe -ArgumentList @("/q", "/log", "install.log", "CODE=code", "ID=id", "REGION=region") -Wait
Get-Content ($env:ProgramData + "\Amazon\SSM\InstanceData\registration")
Get-Service -Name "AmazonSSMAgent"

実行画面です。

ssm-win-002

登録が完了し、Managed Instancesに表示されました!

ssm-win-003

Run Commandを使ってみる

Run Commandを試しました。

AWS-ListWindowsInventryを選択して実行します。

ssm-win-004

S3に結果を出力するためのバケット、プレフィックスを入力し、実行します。

ssm-win-005

問題なく成功しました!

ssm-win-006

S3の指定したバケットに結果が出力されています。

ssm-win-007

ファイルの中は以下のようになっています。

Get-OSInventory - OEM1 - 2016-12-17T00:27:13Z
    Schema:  1.0
    Publisher:  Microsoft Corporation
    OSName:  Microsoft Windows Server 2012 R2 Datacenter Evaluation
    OSVersion:  6.3.9600
    ExtendedProperties:  
                               
                                   Key:  ServicePackLevel
                                   Value:  null
                               
                               
                                   Key:  OSArchitecture
                                   Value:  64 ビット
                               
                               
                                   Key:  OSLanguageId
                                   Value:  1041
                               
                               
                                   Key:  OSLanguage
                                   Value:  日本語 (日本)
                               
                               
                                   Key:  ProductType
                                   Value:  3
                               
                               
                                   Key:  OperatingSystemSKU
                                   Value:  80
                               
                               
                                   Key:  OperatingSystemSKUName
                                   Value:  null
                               

プラットフォームの情報が取得できました!

まとめ

いかがでしょうか。Linuxに続きオンプレ環境のWindowsもEC2 System Managerも管理することができました。Windowsの方が用意されているコマンドが充実しており、ログイン不要で一括した管理ができますので、これまでと違った運用方法ができるかもしれません。