オンプレミス環境のUbuntuをSystems Managerで管理する
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
ターゲットは、先に登録したオンプレのデバイスを指定
他は何もせず実行
結果はこんな感じ
とりあえず、登録まではこんな感じ。
時間ができたらパッチ当てとかの自動化もやっていく
Discussion