概要
AWS Systems Manager(通称SSM)にふれる機会があったので、
知ったことをまとめておく
SSMとは
AWSの構成管理ツールのサービスである。
SSMを利用するためには、「SSMエージェント」を操作対象のEC2インスタンスへインストールする必要がある。
SSMには、EC2に対して構成変更を加えるときに使う設定ファイルを保存できる「パラメータストア」という機能があり、EC2に対してエージェントのインストールやパラメータストア内に保存した設定ファイルを選択してのエージェントの起動ができる。、
エージェントとしては例えばCloudWatchエージェントをSSHログインして直接作業せずとも、SSMコンソール経由でインストール、起動できる。
例えば冗長構成のEC2インスタンスがあり、各インスタンスへCloudWatchエージェントをインストール、設定を適用して起動・・・とやりたい場合、パラメータストアに保存した設定ファイルを使いまわしつつSSMコンソール経由で作業できるため、楽にミスなく作業できるというメリットがある。
SSMエージェントのセットアップ
1. インストール
参考記事:https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/sysman-manual-agent-install.html
例. EC2インスタンスのディストリビューションがUbuntu14.04の場合
# EC2インスタンスへSSHログイン
# 一時ディレクトリを作成
mkdir /tmp/ssm
# 一時ディレクトリへ移動
cd /tmp/ssm
# SSMエージェントのパッケージをDL
wget https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/debian_amd64/amazon-ssm-agent.deb
# SSMエージェントをインストール(インストールとともにデーモンとして起動する)
sudo dpkg -i amazon-ssm-agent.deb
# SSMエージェントのステータスを確認
sudo status amazon-ssm-agent
=>amazon-ssm-agent start/runningと表示されればOK
※なお、以降はEC2インスタンスを再起動した場合も自動的に立ち上がるようになる
以上
2. SSMコンソールでの疎通確認
SSMコンソールページへアクセス > インスタンスとノード-マネージドインスタンス
→SSM管理対象のEC2インスタンスが一覧表示される
一覧にSSMエージェントをインストールしたインスタンスがあればOK
以上
SSMコンソールからEC2へ任意のエージェントをセットアップ
※例. CloudWatchエージェントの場合 (&Ubuntu 14.04の場合)
1. インストール
SSMコンソールへアクセス > 「インスタンスとノード」 > 「マネージドインスタンス」ページで対象のインスタンスにチェックを入れて、「アクション」 > 「コマンドを実行」 と押下
→「コマンドの実行」ページが表示される
「コマンドの実行」ページの「コマンドドキュメント」セクションで「AWS-ConfigureAWSPackage」にチェックを入れる > 「コマンドのパラメータ」セクションの「Action」で「install」を選択 > 「Name」で「AmazonCloudWatchAgent」を入力 > 「Version」で「latest」を選択 > 「ターゲット」セクションで「インスタンスを手動で選択する」を選択し、「Instances」でCloudWatchエージェントをインストールするEC2インスタンスにチェックを入れる > 「実行」を押下
→コマンドID: XXXXXXXのページが表示される。(しばらく待ってF5で更新してステータスが成功になればOK)
これにより、内部的にはaptでのインストールが走る模様。
2. インストール確認
対象のEC2インスタンスへSSHログインして以下のコマンドでCloudWatchエージェントがインストールされていることを確認(ubuntu14.04の場合)
# EC2へSSHログイン
# 目的のエージェントのインストール確認
apt list --installed | grep cloudwatch
=>amazon-cloudwatch-agent XXXXXX [installed,local]
と表示されていればOK
パラメータストア
設定ファイルの編集
SSMコンソールへアクセス > アプリケーション管理-パラメータストア > 編集したい設定ファイルを選択して「編集ボタンを押下」
→「パラメータの詳細」ページへ遷移
「パラメータの詳細」ページの「値」フィールドを編集して、「変更の保存」を押下
以上
なお、無料利用枠の場合は設定ファイルの文字数は4096文字までとなっている。
半角スペースもカウントされるので注意。節約したいならときには可読性を犠牲にする必要も。
SSMコンソールからEC2の任意のエージェントを起動
例. CloudWatchエージェントの場合 (&Ubuntu 14.04の場合)
SSMコンソールへアクセス > インスタンスとノード-Run Command > 「Run Command」ボタンを押下
!
→「コマンドの実行」ページが表示される。
AmazonCloudWatch-ManageAgentにチェック > 以下の通り設定して「実行」を押下
- コマンドのパラメータセクション
- Action:configure
- Mode:ec2
- Optional Configuration Source:ssm
- Optional Configuration Location : 適用するパラメータストア上の設定ファイル名
- Optional Restart:yes
- ターゲットセクション
- ターゲット:監視対象のインスタンス
以上