Amazon Elastic Compute Cloud (Amazon EC2) Linux インスタンスに AWS Systems Manager Agent (SSM Agent) をインストールし、インスタンスの起動前に起動させたいと思っています。
簡単な説明
SSM Agent がプリインストールされている Amazon マシンイメージ (AMI) のリストについては、「SSM Agent がプリインストールされた Amazon Machine Images (AMIs)」を参照してください。
他のバージョンの Linux AMI から作成された Amazon EC2 インスタンスに SSM Agent を手動でインストールする必要があります。起動前に Amazon EC2 Linux インスタンスにユーザーデータを追加することで、SSM Agent をインストールできます。Fleet Manager の設定で SSM Agent の自動更新を有効にすることで、SSM Agent を最新の状態に保つことができます。
重要: SSM Agent をインストールする前に、次の要件が満たされていることを確認してください。
解決策
- SSM Agent で使用する AWS Identity and Access Management (AWS IAM) インスタンスプロファイルを作成します。
2. 新しい Amazon EC2 インスタンスを起動します。次に、アプリケーションや OS のイメージ、インスタンスタイプ、キーペア、ネットワーク設定、ストレージなどのインスタンスパラメータを設定します。
3. [詳細詳細] セクションを開きます。[IAM インスタンス] の [プロファイル] ドロップダウンリストで、ステップ 1 で作成したインスタンスプロファイルを選択します。
4. [ユーザーデータ] ボックスに、次の情報を入力します。
Amazon Linux 2023、Amazon Linux 2、RHEL 7、CentOS 7 (64 ビット)
#!/bin/bash
cd /tmp
sudo yum install -y https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm
sudo systemctl enable amazon-ssm-agent
sudo systemctl start amazon-ssm-agent
RHEL 9、RHEL 8、CentOS 8
#!/bin/bash
cd /tmp
sudo dnf install -y https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm
sudo systemctl enable amazon-ssm-agent
sudo systemctl start amazon-ssm-agent
注: SSM Agent が正しく動作するには、RHEL 9、RHEL 8、または CentOS 8 インスタンスに Python 2 または Python 3 がインストールされている必要があります。Python がインストールされていることを確認するには、上記のコマンドの例に次のコマンドを追加します。
sudo dnf install python3
Amazon Linux、CentOS 6 (64 bit)
#!/bin/bash
cd /tmp
sudo yum install -y https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm
sudo start amazon-ssm-agent
Ubuntu 22 および Ubuntu 16 (Debインストーラー), Debian 8 および 9
#!/bin/bash
mkdir /tmp/ssm
cd /tmp/ssm
wget https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/debian_amd64/amazon-ssm-agent.deb
sudo dpkg -i amazon-ssm-agent.deb
sudo systemctl enable amazon-ssm-agent
Ubuntu 14 (Debインストーラー)
#!/bin/bash
mkdir /tmp/ssm
cd /tmp/ssm
wget https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/debian_amd64/amazon-ssm-agent.deb
sudo dpkg -i amazon-ssm-agent.deb
sudo start amazon-ssm-agent
Suse 15、Suse 12
#!/bin/bash
mkdir /tmp/ssm
cd /tmp/ssm
wget https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm
sudo rpm --install amazon-ssm-agent.rpm
sudo systemctl enable amazon-ssm-agent
sudo systemctl start amazon-ssm-agent
詳しくは、「ユーザーデータおよびコンソール」を参照してください。
6. 起動するインスタンスの数を入力します。
7. インスタンスを起動します。
Windows の場合は、「起動時に Amazon EC2 Windows インスタンスに AWS Systems Manager Agent (SSM Agent) をインストールする方法を教えてください。」を参照してください。
SSM Agent の自動更新を有効にする
1. AWS Systems Manager コンソールを開きます。
- ナビゲーションペインで [Fleet Manager] を選択します。
3. [設定] タブを選択し、[エージェントの自動更新] で [SSM Agent の自動更新] を選択します。
注: SSM Agent の自動更新設定は、この設定が設定されているリージョンのすべてのマネージドノードに適用されます。
4. その後、SSM Agent のフリートを設定します。
- フリートのアップデート先の SSM Agent のバージョンを変更するには、[設定] タブの [エージェントの自動更新] で [編集] を選択します。次に、[パラメータ] の [バージョン] に、更新する SSM Agent のバージョン番号を入力します。バージョン番号を指定しない場合、エージェントは最新バージョンに更新されます。
- 定義したスケジュールを変更するには (デフォルトでは 14 日ごとに実行されます)、[設定] タブの [エージェントの自動更新] で [編集] を選択します。その後、「関連付けのための cron および rate 式」に基づき [スケジュールを指定] の [スケジュールあり] オプションを使用して、好みのスケジュールを設定します。
- 更新後バージョンの SSM Agent がアカウント内のマネージドノードに自動的にデプロイされないようにするには、[設定] タブの [エージェントの自動更新] で [関連付けの削除] を選択します。これにより、マネージドノードの SSM Agent を自動更新するステートマネージャー関連付けが削除されます。
関連情報
SSM Agent への更新の自動化
Linux 用 EC2 インスタンスで SSM Agent を使用する
AWS Systems Manager のセットアップ
Windows Server 用 EC2 インスタンスで SSM Agent を使用する
Systems Manager で EC2 インスタンスがマネージドノードとして表示されない、または「接続が失われました」というステータスが表示されるのはなぜですか?