オンプレミス環境のUbuntuをSystems Managerで管理する

3491 ワード

AWS Systems Manager(以後SSM)ではEC2インスタンスだけでなくオンプレミスのサーバーに対してもSSM Agentをインストールし管理対象とすることができるので、管理対象にしてみる。

全体的には、公式の以下のドキュメントを参照
ハイブリッド環境で AWS Systems Manager を設定する

対象は、Ubuntuが動いてるRasberry Pi4

Activecationの作成

SSMにオンプレミス環境のサーバーを登録するには、のアクティベーションを作成する必要がる。アクティベーションが完了するとすぐに、アクティベーションコードとアクティベーション ID が発行される。ハイブリッド環境でサーバーと VM に AWS Systems Manager SSM Agent をインストールするときに、このコードと ID の組み合わせを指定する。

AWS Systems Manager > ハイブリッドアクティベーション > アクティベーションの作成

  • (Optinal) アクティベーションの説明 : My Activation
  • インスタンス制限 : 1
  • IAM ロール : デフォルトのロール (AmazonEC2RunCommandRoleForManagedInstances)
  • アクティベーションの有効期限 : 未指定 (未指定の場合は1日後が期限になります)
  • (Optinal) デフォルトのインスタンス名 : 未指定


アクティベーションの作成をしたら、画面上部に「Activation Code」と「Activation ID」が表示されるので控えておく。

SSM Agent をインストールしてActivation (Ubuntu arm64)

debを利用する方法と、Snapを使い方法の二つがある。今回はdebでやる。

パッケージのURLは以下
Intel 64-bit (x86_64)
https://s3.region.amazonaws.com/amazon-ssm-region/latest/debian_amd64/amazon-ssm-agent.deb

ARM 64-bit (arm64)
https://s3.region.amazonaws.com/amazon-ssm-region/latest/debian_arm64/amazon-ssm-agent.deb

Intel 32-bit (x86)
https://s3.region.amazonaws.com/amazon-ssm-region/latest/debian_386/amazon-ssm-agent.deb

mkdir /tmp/ssm
curl https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/debian_arm64/amazon-ssm-agent.deb -o /tmp/ssm/amazon-ssm-agent.deb
sudo dpkg -i /tmp/ssm/amazon-ssm-agent.deb
sudo service amazon-ssm-agent stop
sudo -E amazon-ssm-agent -register -code "activation-code" -id "activation-id" -region "region" 
sudo service amazon-ssm-agent start

成功していれば、こんな感じでフリートマネージャーから確認できる。

RunCommandでリモートでコマンドを実行してみる

Run Command(AWS-RunShellScript)を試してみます。

AWS Systems Manager > Run Command > Run Command



ターゲットは、先に登録したオンプレのデバイスを指定

他は何もせず実行

結果はこんな感じ

とりあえず、登録まではこんな感じ。
時間ができたらパッチ当てとかの自動化もやっていく