Debian インスタンス に SSM Agent インストールする方法
本日のブログでは、AWSが提供するDebianインスタンスにSSM Agentをインストールする方法についてまとめました。
AWSが提供するさまざまなAMIの中には、SSM Agentがインストールされているものと、されていないものがあります。
※ 事前インストール済みのAMIとしては、Amazon Linux 2023やWindows Serverなどがあります。
本日取り上げるDebianインスタンスは、SSM Agentが事前インストールされていないAMIです。
そのため、Debian AMIでインスタンスを構築した場合、基本的にSSM経由での接続はできません。

DebianインスタンスでSSMを使用するには、SSM Agentを手動でインストールする必要があります。
今回は以下の公式ドキュメントを参考にしてSSM Agentをインストールしてみました。
本日の検証環境は以下のとおりです。

- 東京リージョン
- EC2インスタンス
- OS:Debian 13(ARM64)
- セキュリティグループにHTTPS設定
- プライベートサブネットに配置
- NATゲートウェイ経由でSSMと通信
- S3エンドポイント設定
- インターネット通信がないAWSネットワーク内部からS3にアクセスしてSSM Agentのインストールファイルを取得する
- 今回はNATゲートウェイ経由でインターネットアクセスが可能なため、不要(参考としてS3エンドポイント経由のコマンドも記載)
今回はインスタンスに接続せず、EC2作成時のユーザーデータ(User Data)にSSM Agentのインストールコマンドを記述し、インストールを行います。
※ リージョンによってコマンドが変わるため、URLのリージョン名部分を実際に使用するリージョンに変更してください。
#!/bin/bash
wget https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/debian_arm64/amazon-ssm-agent.deb
sudo dpkg -i amazon-ssm-agent.deb
sudo systemctl enable amazon-ssm-agent
sudo systemctl start amazon-ssm-agent
S3エンドポイントを使用する場合
S3エンドポイントを使用する場合は、コマンドが以下のように異なります。
#!/bin/bash
wget https://s3.ap-northeast-1.amazonaws.com/amazon-ssm-ap-northeast-1/latest/debian_arm64/amazon-ssm-agent.deb
sudo dpkg -i amazon-ssm-agent.deb
sudo systemctl enable amazon-ssm-agent
sudo systemctl start amazon-ssm-agent
2つのコマンドの違いは、インストールファイルをインターネット経由で取得するか、AWSの内部S3バケット経由で取得するかという点にあります。
インスタンスのアーキテクチャがx86_64の場合
インスタンスのアーキテクチャがx86_64の場合も、コマンドが異なります。
#!/bin/bash
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
sudo systemctl start amazon-ssm-agent
#!/bin/bash
wget https://s3.ap-northeast-1.amazonaws.com/amazon-ssm-ap-northeast-1/latest/debian_amd64/amazon-ssm-agent.deb
sudo dpkg -i amazon-ssm-agent.deb
sudo systemctl enable amazon-ssm-agent
sudo systemctl start amazon-ssm-agent
インストール対象のインスタンスがどのアーキテクチャを使用しており、どのサブネットに配置されているかをしっかり確認したうえで、適切なコマンドを実行するようにしてください。
インスタンス作成後にシステムログを確認すると、以下のような結果が確認できます。
[ 16.393239] cloud-init[503]: 2026-04-15 04:18:54 (29.7 MB/s) - 'amazon-ssm-agent.deb' saved [32766354/32766354]
[ 16.478792] cloud-init[503]: Selecting previously unselected package amazon-ssm-agent.
[ 16.634664] cloud-init[503]: (Reading database ... 30093 files and directories currently installed.)
[ 16.637881] cloud-init[503]: Preparing to unpack amazon-ssm-agent.deb ...
[ 16.647194] cloud-init[503]: Preparing for install
[ 16.650286] cloud-init[503]: -> Systemd detected
[ 16.658448] cloud-init[503]: inactive
[ 16.665417] cloud-init[503]: Failed to stop amazon-ssm-agent.service: Unit amazon-ssm-agent.service not loaded.
[ 16.859189] cloud-init[503]: Unpacking amazon-ssm-agent (3.3.4177.0-1) ...
[ 17.518339] cloud-init[503]: Setting up amazon-ssm-agent (3.3.4177.0-1) ...
[ 17.528836] cloud-init[503]: Starting agent
[ 17.538559] cloud-init[503]: Created symlink '/etc/systemd/system/multi-user.target.wants/amazon-ssm-agent.service' → '/usr/lib/systemd/system/amazon-ssm-agent.service'.
[ OK ] Started amazon-ssm-agent.service - amazon-ssm-agent.
SSM Agentが正常にインストールされると、SSM経由でのインスタンスへの接続が可能になります。





