Debian インスタンス に SSM Agent インストールする方法

Debian インスタンス に SSM Agent インストールする方法

2026.06.04

本日のブログでは、AWSが提供するDebianインスタンスにSSM Agentをインストールする方法についてまとめました。

AWSが提供するさまざまなAMIの中には、SSM Agentがインストールされているものと、されていないものがあります。
※ 事前インストール済みのAMIとしては、Amazon Linux 2023やWindows Serverなどがあります。
https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/ami-preinstalled-agent.html#

本日取り上げるDebianインスタンスは、SSM Agentが事前インストールされていないAMIです。
そのため、Debian AMIでインスタンスを構築した場合、基本的にSSM経由での接続はできません。
debian01

DebianインスタンスでSSMを使用するには、SSM Agentを手動でインストールする必要があります。
今回は以下の公式ドキュメントを参考にしてSSM Agentをインストールしてみました。
https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/agent-install-deb.html

本日の検証環境は以下のとおりです。
debian03

  • 東京リージョン
  • EC2インスタンス
    • OS:Debian 13(ARM64)
    • セキュリティグループにHTTPS設定
    • プライベートサブネットに配置
  • NATゲートウェイ経由でSSMと通信
  • S3エンドポイント設定
    • インターネット通信がないAWSネットワーク内部からS3にアクセスしてSSM Agentのインストールファイルを取得する
    • 今回はNATゲートウェイ経由でインターネットアクセスが可能なため、不要(参考としてS3エンドポイント経由のコマンドも記載)

今回はインスタンスに接続せず、EC2作成時のユーザーデータ(User Data)にSSM Agentのインストールコマンドを記述し、インストールを行います。
※ リージョンによってコマンドが変わるため、URLのリージョン名部分を実際に使用するリージョンに変更してください。

SSM Agent インストール
#!/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エンドポイントを使用する場合は、コマンドが以下のように異なります。

AWS 内部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
AWS 内部S3バケット経由
#!/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経由でのインスタンスへの接続が可能になります。
debian02

この記事をシェアする

関連記事