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

2016.12.13

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

こんにちは、菊池です。

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共有リソース -> アクティベーション -> アクティベーションの作成と進みます。

vm-ssm-000

各項目を入力します。

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

vm-ssm-002

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

vm-ssm-003

オンプレサーバへの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

これで完了です。マネジメントコンソールでマネージドインスタンスを表示すると、サーバが登録されています!

vm-ssm-005

Run Commandを使ってみる

せっかくなので、Run Commandを試しました。

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

vm-ssm-012

成功のステータスになりました。

vm-ssm-013

出力を表示してみます。

vm-ssm-014;

すでに最新版なのでスキップされたようです。先ほどインストールしたのであたりませかもしれませんがw

まとめ

というわけで、オンプレ環境に見立てた、Hyper-Vで稼働するCentOSをEC2 System Managerに登録してみました。

EC2インスタンスと同様に、Run CommandやState Managerで管理できるようになったことで、ハイブリット環境の運用が変わってくるかもしれません。