EC2 Systems Managerでオンプレ環境のサーバを管理する #reinvent
こんにちは、菊池です。
re:Inventで発表された新サービス、EC2 System Managerでは、マネージドインスタンスに登録することでオンプレミス環境の物理マシンやVMも管理することが可能です。AWSのEC2とオンプレのサーバが存在するハイブリッドな環境でも、その両方をSystem Managerで管理できます。
今回、オンプレ環境としてHyper-Vで稼働するVMをマネージドインスタンスに登録し、State Managerでコマンドを実行してみました。
やってみた
管理対象
- CentOS 7
- Hyper-V上のVMとして稼働
マネージドインスタンスへの登録
VMをEC2 System Mangerのマネージドインスタンスへ登録します。
大まかな流れは以下の通りです。
- EC2 System Managerのアクティベーションを作成
- SSM Agentのインストール
アクティベーションの作成
管理対象のVMを認証するためのアクティベーションキーを作成します。
マネジメントコンソールのEC2管理画面の左メニューにある、SYSTEM MANAGER共有リソース -> アクティベーション -> アクティベーションの作成と進みます。
各項目を入力します。
- インスタンス制限:このアクティベーションで何台のインスタンスを認証させるか
- IAMロール:今回は事前に作成していませんでしたので、このタイミングで作成します。
- アクティベーションの有効期限:キーの有効期限です
作成されました。表示されるアクティベーションコードとアクティベーションIDを控えておきます。
オンプレサーバへのSSM Agentのインストール
続いて、SSM Agentのインストールです。今回はCentOS7ですので、公式ドキュメント記載の通りにコマンドを入力します。
まずはrpmのダウンロード。
# mkdir /tmp/ssm # curl https://amazon-ssm-ap-northeast-1.s3.amazonaws.com/latest/linux_amd64/amazon-ssm-agent.rpm -o /tmp/ssm/amazon-ssm-agent.rpm
インストールします。
# yum install -y /tmp/ssm/amazon-ssm-agent.rpm
アクティベーションコードを使って登録します。
# systemctl stop amazon-ssm-agent # amazon-ssm-agent -register -code "xxxxxxxxxxxxxxxxx" -id "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" -region "ap-northeast-1" 2016/12/13 09:21:41 Failed to load instance info from vault. RegistrationKey does not exist. Error occured fetching the seelog config file path: open /etc/amazon/ssm/seelog.xml: no such file or directory 2016-12-13 09:22:28 INFO Successfully registered the instance with AWS SSM using Managed instance-id: mi-xxxxxxxxxxxxxxxx #
Agentを起動します。
# systemctl start amazon-ssm-agent
これで完了です。マネジメントコンソールでマネージドインスタンスを表示すると、サーバが登録されています!
Run Commandを使ってみる
せっかくなので、Run Commandを試しました。
AWS-UpdateSSMAgentを選択して実行します。
成功のステータスになりました。
出力を表示してみます。
すでに最新版なのでスキップされたようです。先ほどインストールしたのであたりませかもしれませんがw
まとめ
というわけで、オンプレ環境に見立てた、Hyper-Vで稼働するCentOSをEC2 System Managerに登録してみました。
EC2インスタンスと同様に、Run CommandやState Managerで管理できるようになったことで、ハイブリット環境の運用が変わってくるかもしれません。