【AWS】【SSM】Systems Manager の SSM エージェントインストールおよびその他 Systems Manager から認識されるようにする設定手順【Linux】

今回は 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 の場合は以下の手順が必要になります。

  1. Systems Manager 用のロールの作成
  2. EC2 インスタンスへの IAM ロールの割り当て
  3. SSM エージェント(SSM Agent)のインストール
  4. SSM エージェントの動作確認

 

 

 

 

Systems Manager 用のロールの作成

Systems Manager 用のロールを作成します。

 

AWS 管理コンソールより「サービス」「セキュリティ、ID、およびコンプライアンス」「IAM」をクリックします。

【AWS】【SSM】Systems Manager の SSM エージェントインストールおよびその他 Systems Manager から認識されるようにする設定手順

 

 

 

 

 

IAM ダッシュボードに移動したら左側ペインより「ロール」をクリックします。

【AWS】【SSM】Systems Manager の SSM エージェントインストールおよびその他 Systems Manager から認識されるようにする設定手順

 

 

 

 

 

「ロールの作成」ボタンをクリックします。

【AWS】【SSM】Systems Manager の SSM エージェントインストールおよびその他 Systems Manager から認識されるようにする設定手順

 

 

 

 

「信頼されたエンティティの種類を選択」「AWS サービス」を選択し、「このロールを使用するサービスを選択」「EC2」を選択し、「次にステップ:アクセス権限」ボタンをクリックします。

【AWS】【SSM】Systems Manager の SSM エージェントインストールおよびその他 Systems Manager から認識されるようにする設定手順

 

 

 

 

 

「ポリシーのフィルタ」「SSM」と入力し検索をして「ASmazonSSMFullAccess」にチェックを入れて「次のステップ:タグ」ボタンをクリックします。

※今回はポリシー ASmazonSSMFullAccess をアタッチしますが業務に関連する場合は必要なポリシーだけを割り当てるようにします。 

【AWS】【SSM】Systems Manager の SSM エージェントインストールおよびその他 Systems Manager から認識されるようにする設定手順

 

 

 

 

 

「タグの追加」で必要な場合はタグを作成して「次のステップ:確認」ボタンをクリックします。

【AWS】【SSM】Systems Manager の SSM エージェントインストールおよびその他 Systems Manager から認識されるようにする設定手順

 

 

 

 

 

確認画面で「ロール名」を入力し「ロールの作成」ボタンをクリックします。

【AWS】【SSM】Systems Manager の SSM エージェントインストールおよびその他 Systems Manager から認識されるようにする設定手順

 

 

 

 

下図のようにロールが作成されていることを確認します。

【AWS】【SSM】Systems Manager の SSM エージェントインストールおよびその他 Systems Manager から認識されるようにする設定手順

 

 

 

 

 

【補足】Systems Manager で IAM ロールにアタッチできるポリシー一覧

Systems Manager で管理する EC2 インスタンス用の IAM ロールを作成しますが、IAM ロールにアタッチできる Systems Manager 関連のポリシー一覧を以下に記載します。

 

【AWS】【SSM】Systems Manager の SSM エージェントインストールおよびその他 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」をクリックします。

【AWS】【SSM】Systems Manager の SSM エージェントインストールおよびその他 Systems Manager から認識されるようにする設定手順

 

 

 

 

 

 

対象の EC2 インスタンスを選択し、「アクション」「インスタンスの設定」「IAM ロールの割り当て/置換」をクリックします。

【AWS】【SSM】Systems Manager の SSM エージェントインストールおよびその他 Systems Manager から認識されるようにする設定手順

 

 

 

 

 

 

 

 

「IAM ロールの割り当て/置換」画面で先ほど作成した IAM ロールを選択します。

【AWS】【SSM】Systems Manager の SSM エージェントインストールおよびその他 Systems Manager から認識されるようにする設定手順

 

 

 

 

 

 

 

先ほど作製した IAM ロール(SSMFullAccessRole)を選択したら「適用」ボタンをクリックします。

【AWS】【SSM】Systems Manager の SSM エージェントインストールおよびその他 Systems Manager から認識されるようにする設定手順

 

 

 

 

以下のように「IAM ロールオペレーションに成功しました」のメッセージが表示されることを確認します。

【AWS】【SSM】Systems Manager の SSM エージェントインストールおよびその他 Systems Manager から認識されるようにする設定手順

 

 

 

 

SSM Agent(SSM エージェント)のインストール

次に対象の EC2 インスタンスにログインし、SSM エージェントをインストールします。

 

■環境

[ec2-user@Test ~]$ cat /etc/redhat-release
Red Hat Enterprise Linux release 8.0 (Ootpa)
[ec2-user@Test ~]$

 

 

■参考

Red Hat Enterprise Linux (RHEL)

https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/sysman-manual-agent-install.html#agent-install-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 
Red Hat Update Infrastructure 3 Client Configuration Server 8 Beta      1.9 kB/s | 2.1 kB     00:01 
Red Hat Enterprise Linux 8 for x86_64 – AppStream from RHUI (RPMs)       35 kB/s | 2.8 kB     00:00 
Red Hat Enterprise Linux 8 for x86_64 – BaseOS from RHUI (RPMs)          33 kB/s | 2.3 kB     00:00 
amazon-ssm-agent.rpm                                                    3.7 MB/s |  19 MB     00:05 
Dependencies resolved. 
======================================================================================================== 
 Package                      Arch               Version                 Repository                Size 
======================================================================================================== 
Installing: 
 amazon-ssm-agent             x86_64             2.3.662.0-1             @commandline              19 M 
 
Transaction Summary 
======================================================================================================== 
Install  1 Package 
 
Total size: 19 M 
Installed size: 61 M 
Downloading Packages: 
Running transaction check 
Transaction check succeeded. 
Running transaction test 
Transaction test succeeded. 
Running transaction 
  Preparing        :                                                                                1/1 
  Running scriptlet: amazon-ssm-agent-2.3.662.0-1.x86_64                                            1/1 
  Installing       : amazon-ssm-agent-2.3.662.0-1.x86_64                                            1/1 
  Running scriptlet: amazon-ssm-agent-2.3.662.0-1.x86_64                                            1/1 
Created symlink /etc/systemd/system/multi-user.target.wants/amazon-ssm-agent.service → /etc/systemd/system/amazon-ssm-agent.service. 
 
  Verifying        : amazon-ssm-agent-2.3.662.0-1.x86_64                                            1/1 
 
Installed: 
  amazon-ssm-agent-2.3.662.0-1.x86_64 
 
Complete! 
[ec2-user@Test ~]$ 

 

 

 

SSM エージェントが起動していることを確認します。

※SSM エージェントをインストールすると自動で起動されますが念のために確認します。

[ec2-user@Test ~]$ ps -ef | grep ssm 
root      1400     1  0 05:41 ?        00:00:00 /usr/bin/amazon-ssm-agent 
ec2-user  1447  1235  0 05:43 pts/0    00:00:00 grep –color=auto ssm 
[ec2-user@Test ~]$

 

 

systemctl status コマンドでも確認できます。

[ec2-user@Test ~]$ systemctl status amazon-ssm-agent -l –no-pager 
● amazon-ssm-agent.service – amazon-ssm-agent 
   Loaded: loaded (/etc/systemd/system/amazon-ssm-agent.service; enabled; vendor preset: disabled) 
   Active: active (running) since Sun 2019-06-30 05:41:26 UTC; 21min ago 
 Main PID: 1400 (amazon-ssm-agen) 
    Tasks: 8 (limit: 5003) 
   Memory: 12.0M 
   CGroup: /system.slice/amazon-ssm-agent.service 
           mq1400 /usr/bin/amazon-ssm-agent 
 
Jun 30 05:48:49 Test amazon-ssm-agent[1400]: 2019-06-30 05:48:49 INFO [MessageGatewayService] Setting up websocket for controlchannel for instance: i-09c6efd0fd52a9db4, requestId: 070ebaf4-51c3-4309-806b-25e0ecb9be35 
Jun 30 05:48:49 Test amazon-ssm-agent[1400]: 2019-06-30 05:48:49 ERROR [MessageGatewayService] Failed to get controlchannel token, error: CreateControlChannel failed with error: createControlChannel request failed: unexpected response from the service <BadRequest xmlns=””>Unauthorized request. 
Jun 30 05:51:29 Test amazon-ssm-agent[1400]: 2019-06-30 05:51:29 INFO [MessagingDeliveryService] [Association] Schedule manager refreshed with 0 associations, 0 new associations associated 
Jun 30 05:51:53 Test amazon-ssm-agent[1400]: 2019-06-30 05:51:53 INFO [HealthCheck] HealthCheck reporting agent health. 
Jun 30 05:56:19 Test amazon-ssm-agent[1400]: 2019-06-30 05:56:19 INFO [MessageGatewayService] Setting up websocket for controlchannel for instance: i-09c6efd0fd52a9db4, requestId: 6494ee8f-f553-4af9-a994-a2c82f03a9cb 
Jun 30 05:56:19 Test amazon-ssm-agent[1400]: 2019-06-30 05:56:19 ERROR [MessageGatewayService] Failed to get controlchannel token, error: CreateControlChannel failed with error: createControlChannel request failed: unexpected response from the service <BadRequest xmlns=””>Unauthorized request. 
Jun 30 05:56:26 Test amazon-ssm-agent[1400]: 2019-06-30 05:56:26 INFO [LongRunningPluginsManager] There are no long running plugins currently getting executed – skipping their healthcheck 
Jun 30 05:56:53 Test amazon-ssm-agent[1400]: 2019-06-30 05:56:53 INFO [HealthCheck] HealthCheck reporting agent health. 
Jun 30 06:01:30 Test amazon-ssm-agent[1400]: 2019-06-30 06:01:30 INFO [MessagingDeliveryService] [Association] Schedule manager refreshed with 0 associations, 0 new associations associated 
Jun 30 06:01:53 Test amazon-ssm-agent[1400]: 2019-06-30 06:01:53 INFO [HealthCheck] HealthCheck reporting agent health. 
[ec2-user@Test ~]$

 

 

 

SSM エージェントの起動手順

SSM エージェントが起動していない場合の起動手順です。

[root@Test ~]# systemctl start amazon-ssm-agent

 

 

SSM エージェントの自動起動の設定

SSM エージェントの自動起動が設定されているか確認します。

 

■自動起動の設定がされている場合

[root@Test ~]# systemctl list-unit-files | grep ssm 
amazon-ssm-agent.service                    enabled 
[root@Test ~]#

 

 

自動起動の設定がされていない場合(「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 
Dependencies resolved. 
======================================================================================================== 
 Package                     Arch              Version                   Repository                Size 
======================================================================================================== 
Removing: 
 amazon-ssm-agent            x86_64            2.3.662.0-1               @@commandline             61 M 
 
Transaction Summary 
======================================================================================================== 
Remove  1 Package 
 
Freed space: 61 M 
Is this ok [y/N]: 
Running transaction check 
Transaction check succeeded. 
Running transaction test 
Transaction test succeeded. 
Running transaction 
  Preparing        :                                                                                1/1 
  Running scriptlet: amazon-ssm-agent-2.3.662.0-1.x86_64                                            1/1 
Removed /etc/systemd/system/multi-user.target.wants/amazon-ssm-agent.service. 
 
  Erasing          : amazon-ssm-agent-2.3.662.0-1.x86_64                                            1/1 
  Running scriptlet: amazon-ssm-agent-2.3.662.0-1.x86_64                                            1/1 
  Verifying        : amazon-ssm-agent-2.3.662.0-1.x86_64                                            1/1 
 
Removed: 
  amazon-ssm-agent-2.3.662.0-1.x86_64 
 
Complete!

 

 

 

 

SSM エージェントの動作確認

SSM エージェントの動作確認をします。

 

AWS 管理コンソールより「サービス」「管理とガバナンス」「Systems Manager」をクリックします。

【AWS】【SSM】Systems Manager の SSM エージェントインストールおよびその他 Systems Manager から認識されるようにする設定手順

 

 

 

 

 

「Systems Manager」のダッシュボードより、左側ペインの「ランコマンド」をクリックします。

【AWS】【SSM】Systems Manager の SSM エージェントインストールおよびその他 Systems Manager から認識されるようにする設定手順

 

 

 

 

 

「コマンドの実行」ボタンをクリックします。

【AWS】【SSM】Systems Manager の SSM エージェントインストールおよびその他 Systems Manager から認識されるようにする設定手順

 

 

 

 

 

 

「コマンドのドキュメント」「AWS-RunShellScript」を選択します。

【AWS】【SSM】Systems Manager の SSM エージェントインストールおよびその他 Systems Manager から認識されるようにする設定手順

 

 

 

 

 

 

以下のように「ターゲットインスタンス」に SSM エージェントをインストールした EC2 インスタンスが表示されていることを確認します。

【AWS】【SSM】Systems Manager の SSM エージェントインストールおよびその他 Systems Manager から認識されるようにする設定手順

 

 

 

 

 

 

 

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

AlphaOmega Captcha Medica  –  What Do You See?
     
 

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください