LoginSignup
1
0

More than 1 year has passed since last update.

オンプレサーバをaws SystemManagerで管理する

Posted at

オンプレのサーバをCloudWatchでもりもり監視していると台数が増えてきますね?
1000台とかになったときにメトリクスを調整するのに設定変更を1台1台やるのはつらいじゃないすか。
そんなあなたのためにawsのSystemManagerのノード管理→Run Commandっていうので、awsコンソールから一斉にコマンドをなげることができます。

すでにパラメータストアにcloudwatch-agentの設定ファイルを保存してあるのでSSMエージェントをインストールしてSystemManagerのハイブリッドアクティベーションで登録するだけです。

tl;dr

オンプレのサーバにSSMマネージャを入れて、ハイブリッドアクティベーションをして、CloudWatchAgentの設定ファイルを更新します。fedora33で試しています。

SSMマネージャインストールと登録

下記のまんまでした。

直接URLからインストールします。

[root@deroris ~]# dnf install https://s3.ap-northeast-1.amazonaws.com/amazon-ssm-ap-northeast-1/latest/linux_amd64/amazon-ssm-agent.rpm

一度止めます。

[root@deroris ~]# systemctl stop amazon-ssm-agent

awsコンソールのノード管理→ハイブリッドアクティベーションからアクティベーションを登録します。

image.png

何も入れなかった。

image.png

作成すると上にActivation CodeとActivation IDが出てくる。

image.png

それをサーバで流す。一回やってるのでexistって言われてる。

[root@deroris ~]# amazon-ssm-agent -register -code "Dn1mldF8fahPooTKLd5C" -id "88f4a5bc-a7d2-4e95-9cde-3a692dd3b420" -region "ap-northeast-1"
Error occurred fetching the seelog config file path:  open /etc/amazon/ssm/seelog.xml: no such file or directory
Initializing new seelog logger
New Seelog Logger Creation Complete

Instance already registered. Would you like to override existing with new registration information? [Yes/No]: Y 
2021-07-29 19:02:09 INFO Successfully registered the instance with AWS SSM using Managed instance-id: mi-0d10b19839841c0ab

数秒で登録済みインスタンスが1になる。

image.png

サービスを開始してステータスを確認すべし。サービス開始するの忘れるので注意。

[root@deroris ~]# systemctl start amazon-ssm-agent
[root@deroris ~]# systemctl status amazon-ssm-agent
● amazon-ssm-agent.service - amazon-ssm-agent
     Loaded: loaded (/etc/systemd/system/amazon-ssm-agent.service; enabled; vendor preset: disabled)
     Active: active (running) since Thu 2021-07-29 19:03:51 JST; 2s ago
   Main PID: 1793358 (amazon-ssm-agen)
      Tasks: 21 (limit: 19076)
     Memory: 19.7M
        CPU: 165ms
     CGroup: /system.slice/amazon-ssm-agent.service
             ├─1793358 /usr/bin/amazon-ssm-agent
             └─1793389 /usr/bin/ssm-agent-worker

 7月 29 19:03:52 deroris.local amazon-ssm-agent[1793358]: 2021-07-29 19:03:51 INFO no_proxy:
 7月 29 19:03:52 deroris.local amazon-ssm-agent[1793358]: 2021-07-29 19:03:51 INFO Agent will take identity from OnPrem
 7月 29 19:03:52 deroris.local amazon-ssm-agent[1793358]: 2021-07-29 19:03:51 INFO [amazon-ssm-agent] using named pipe channel for IPC

ちゃんと動いていればフリートマネージャに表示される。

image.png

これでawsの配下に。

リモートからコマンドを流す

CloudWatchAgentを更新してみます。

パラメータストアのメトリクスを編集します。namespaceにNew2を入れました。(画像はまだNew)

image.png

ノード管理→Run CommandでAmazonCloudWatch-ManageAgentを選択します。

image.png

コマンドパラメータで画像のように入力します。
ModeをonPrem、Optional Configuration Locationにパラメータストアの設定名を入れます。

image.png

ターゲットに当該のノードを選択します。(ここに表示されていなければSSMの登録がうまくいってない)

image.png

コマンド出力をS3に保存したりできる。

んで実行

うまくいってればすぐに成功って表示されてくると思います。

image.png

あとは、CloudWatchで更新した項目(Namespace)が反映されているかみてみてください。

まとめ

サーバをセットアップするときはSSMエージェントを設定しておけばあとから楽になる。
オンプレやvps等のサーバがいっぱいある人にとっては便利かも。
問題なのは、そこまでAWSにロックインされていいのかってことか。
エージェント系なので、ポートを開けたりする必要はないからそのへんは楽かな。

※↑で使ったアクティベーションコード等はすでに捨てた。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0