今回は AWS Systems Manager(SSM)の SSM エージェントインストールおよび設定手順について解説します。
以下、Systems Manager 関連の記事です。
【AWS】Systems Manager の基本(システム運用)
【AWS】Systems Manager で EC2 インスタンスを自動起動・自動停止する(オートメーション)
AWS Systems Manager エージェント (SSM エージェント)とは
Systems Manager で EC2 インスタンスを操作するためには SSM エージェントが必要になります。
AWS Systems Manager エージェント(SSM エージェント)は、以下の環境にインストールして管理ができます。
- Amazon EC2 インスタンス
- オンプレミスサーバー(データセンターやオフィスの物理サーバー)
- 仮想マシン(VM、VMware の仮想マシン等)
- Linux、Windows 両方の OS
AWS Systems Manager エージェント(SSM エージェント)は Amazon のソフトウェアです。
SSM エージェントを利用することにより、Systems Manager が上記のリソースを一括して更新、管理、および設定できるようになります。
SSM エージェントは、AWS クラウド上の Systems Manager サービスからのリクエストを処理し、リクエストに指定されたとおりに実行します。
■参考サイト
SSM エージェント の使用
https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/ssm-agent.html
SSM(Systems Manager)で EC2 インスタンスが利用できるようにする手順【Linux】
SSM(Systems Manager)で EC2 インスタンスを利用するためには環境設定(SSM エージェントのインストールやその他権限の設定)が必要になります。
Linux の場合と、Windows の場合で環境の設定方法が異なります。
Linux の場合の手順概要
Linux の場合は以下の手順が必要になります。
- Systems Manager 用のロールの作成
- EC2 インスタンスへの IAM ロールの割り当て
- SSM エージェント(SSM Agent)のインストール
- SSM エージェントの動作確認
Systems Manager 用のロールの作成
Systems Manager 用のロールを作成します。
AWS 管理コンソールより「サービス」–「セキュリティ、ID、およびコンプライアンス」–「IAM」をクリックします。
IAM ダッシュボードに移動したら左側ペインより「ロール」をクリックします。
「ロールの作成」ボタンをクリックします。
「信頼されたエンティティの種類を選択」で「AWS サービス」を選択し、「このロールを使用するサービスを選択」で「EC2」を選択し、「次にステップ:アクセス権限」ボタンをクリックします。
「ポリシーのフィルタ」に「SSM」と入力し検索をして「ASmazonSSMFullAccess」にチェックを入れて「次のステップ:タグ」ボタンをクリックします。
※今回はポリシー ASmazonSSMFullAccess をアタッチしますが業務に関連する場合は必要なポリシーだけを割り当てるようにします。
「タグの追加」で必要な場合はタグを作成して「次のステップ:確認」ボタンをクリックします。
確認画面で「ロール名」を入力し「ロールの作成」ボタンをクリックします。
下図のようにロールが作成されていることを確認します。
【補足】Systems Manager で IAM ロールにアタッチできるポリシー一覧
Systems Manager で管理する EC2 インスタンス用の IAM ロールを作成しますが、IAM ロールにアタッチできる Systems Manager 関連のポリシー一覧を以下に記載します。
- AmazonEC2RoleforSSM ← Systems Manager 用のロールで Amazon EC2 のデフォルトポリシーです。(Default policy for Amazon EC2 Role for Simple Systems Manager service role.)
- AmazonSSMAutomationApproverAccess ← オートメーション(自動化)実行を表示し、承認を待っているオートメーションに承認決定を送信するためのアクセスを提供します。(Provides access to view automation executions and send approval decisions to automation waiting for approval.)
- AmazonSSMAutomationRole ← オートメーション(自動化)文書内で定義されたアクティビティーを実行するための EC2 オートメーション(自動化)サービスに対する許可を提供します。(Provides permissions for EC2 Automation service to execute activities defined within Automation documents)
- AmazonSSMDirectoryServiceAccess ← このポリシーにより、SSM エージェントは、管理対象インスタンスをドメインに参加させるために、ユーザーに代わってディレクトリサービスにアクセスできます。(This policy allows SSM Agent to access Directory Service on behalf of the customer for domain-join the managed instance.)
- AmazonSSMFullAccess ← Amazon SSMへのフルアクセスを提供します。(Provides full access to Amazon SSM.)
- AmazonSSMMaintenanceWindowRole ← EC2 メンテナンスウィンドウで使用されるサービスロールです。(Service Role to be used for EC2 Maintenance Window)
- AmazonSSMManagedInstanceCore ← AWS Systems Manager サービスコア機能を有効にするための Amazon EC2 ロールのポリシーです。(The policy for Amazon EC2 Role to enable AWS Systems Manager service core functionality.)
- AmazonSSMReadOnlyAccess ← Amazon SSMへの読み取り専用アクセスを提供します。(Provides read only access to Amazon SSM.)
- AmazonSSMServiceRolePolicy ← Amazon SSMによって管理または使用されているAWSリソースへのアクセスを提供します。(Provides access to AWS Resources managed or used by Amazon SSM)
- AWSResourceAccessManagerFullAccess ← AWS Resource Access Managerへのフルアクセスを提供します。(
Provides full access to AWS Resource Access Manager)
- AWSResourceAccessManagerServiceRolePolicy ← 顧客の組織構造への読み取り専用 AWS Resource Access Managerアクセスを含むポリシーです。 ロールを自己削除するための IAM 権限も含まれています。(Policy containing Read-only AWS Resource Access Manager access to customers’ Organizations structure. It also contains IAM permissions to self-delete the role.)
EC2 インスタンスへの IAM ロールの割り当て
IAM ロールを作成したら、ロールを EC2 インスタンスへ割り当てます。
AWS 管理コンソールより「サービス」–「コンピューティング」–「EC2」をクリックします。
対象の EC2 インスタンスを選択し、「アクション」–「インスタンスの設定」–「IAM ロールの割り当て/置換」をクリックします。
「IAM ロールの割り当て/置換」画面で先ほど作成した IAM ロールを選択します。
先ほど作製した IAM ロール(SSMFullAccessRole)を選択したら「適用」ボタンをクリックします。
以下のように「IAM ロールオペレーションに成功しました」のメッセージが表示されることを確認します。
SSM Agent(SSM エージェント)のインストール
次に対象の EC2 インスタンスにログインし、SSM エージェントをインストールします。
■環境
[ec2-user@Test ~]$ cat /etc/redhat-release |
■参考
Red Hat Enterprise Linux (RHEL)
■RedHat 64 ビットインスタンスの場合
[ec2-user@Test ~]$ sudo yum install -y https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm |
SSM エージェントが起動していることを確認します。
※SSM エージェントをインストールすると自動で起動されますが念のために確認します。
[ec2-user@Test ~]$ ps -ef | grep ssm |
systemctl status コマンドでも確認できます。
[ec2-user@Test ~]$ systemctl status amazon-ssm-agent -l –no-pager |
SSM エージェントの起動手順
SSM エージェントが起動していない場合の起動手順です。
[root@Test ~]# systemctl start amazon-ssm-agent |
SSM エージェントの自動起動の設定
SSM エージェントの自動起動が設定されているか確認します。
■自動起動の設定がされている場合
[root@Test ~]# systemctl list-unit-files | grep ssm |
自動起動の設定がされていない場合(「disabled」の場合)は以下のコマンドで自動起動の設定をします。
[root@Test ~]# systemctl enable amazon-ssm-agent.service |
SSM Agent(SSM エージェント)のアンインストール
SSM エージェントが不要になった場合の SSM エージェントのアンインストール手順です。
※SSM エージェントは EC2 インスタンスに対して様々な操作を実行できるので不要な場合はアンインストールをします。
[ec2-user@Test ~]$ sudo yum remove amazon-ssm-agent |
SSM エージェントの動作確認
SSM エージェントの動作確認をします。
AWS 管理コンソールより「サービス」–「管理とガバナンス」–「Systems Manager」をクリックします。
「Systems Manager」のダッシュボードより、左側ペインの「ランコマンド」をクリックします。
「コマンドの実行」ボタンをクリックします。
「コマンドのドキュメント」で「AWS-RunShellScript」を選択します。
以下のように「ターゲットインスタンス」に SSM エージェントをインストールした EC2 インスタンスが表示されていることを確認します。
コメント