AWS Systems ManagerでLinuxサーバーにアクセスできるようにする
AWS Systems Manager(以後SSM)では、VPSやオンプレミスのサーバーに対してSSM Agentをインストールする事でアクセス管理対象とする事が可能となっています。
今回は自分で運用しているVPSに対して、SSMでアクセスできるようにしてみました。
構成イメージ

このような構成でアクセスできるようにやってみました。
Step1. アクティベーションの作成
1-1. アドバンスドインスタンス層の有効化
オンプレサーバーでSession Managerを使用するには、アドバンスドインスタンス層への変更が必要です。
- AWSコンソールにログイン
- Systems Manager を開く
- 左メニュー → Fleet Manager
- 右上の「設定」→「インスタンスティアの設定を変更」をクリック
- 「アドバンスド」を選択して保存
1-2. Hybrid Activationの作成
- Systems Manager → 左メニュー → ノード管理 → ハイブリッドアクティベーション
- 「アクティベーションを作成」をクリック
- 以下を入力して作成
| 設定項目 | 入力値 |
|---|---|
| 説明 | 任意(例: bastion-server-activation) |
| インスタンス制限 | 登録するサーバー台数(例: 1) |
| IAMロール | デフォルト(自動作成)でOK |
| 有効期限 | デフォルトでOK(1日) |
⚠️ 作成後に表示される Activation ID と Activation Code は必ずメモしてください。画面を閉じると二度と確認できません。
| 取得する情報 | 例 |
|---|---|
| Activation ID | xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
| Activation Code | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
Step2. サーバー(Linux)にSSM Agentをインストール
2-1. 対象サーバーにログイン
2-2. SSM Agentのインストール
以下コマンドを順に実行
① SSM Agentパッケージのインストール
sudo dnf install -y https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm
② Hybrid Activationの登録(ACTIVATION_CODE・ACTIVATION_IDをStep1のメモした値に置き換える)
sudo amazon-ssm-agent -register \
-code "ACTIVATION_CODE" \
-id "ACTIVATION_ID" \
-region "ap-northeast-1"
③ SSM Agentの起動・自動起動設定
sudo systemctl enable amazon-ssm-agent
sudo systemctl start amazon-ssm-agent
④ 起動確認
sudo systemctl status amazon-ssm-agent
# 以下のように表示されれば成功です:
amazon-ssm-agent.service - amazon-ssm-agent
Active: active (running)
Step3. マネージドインスタンスの確認
3-1. AWSコンソールで確認

- Systems Manager → Fleet Manager → マネージドノード を開く
- 登録したサーバーが一覧に表示されることを確認
- Pingステータスが「Online」になっていることを確認
Step4. IAM Identity Centerでユーザーを追加
① IAM Identity Center → Users → 「ユーザーを追加」
以下を入力:
| 項目 | 入力値 |
|---|---|
| ユーザー名 | 例: user-1 |
| メールアドレス | ユーザーのメールアドレス |
| 名(First name) | 名前 |
| 姓(Last name) | 苗字 |
| 表示名 | 任意 |
② グループへの追加
- 該当グループ(SSMUsersなど)を選択してユーザーを追加
③ 「ユーザーを追加」で保存
④ 招待メールからパスワード設定
- 「Accept invitation」リンクをクリック
- パスワードを設定
⑤ MFAデバイスの登録
- IAM Identity Centerポータルにログイン
- 右上のユーザー名 → 「MFAデバイス」→「MFAデバイスを登録」
- AuthenticatorアプリでQRコードをスキャン
⑥ AWS CLIのSSO設定
aws configure sso
aws sso login --profile {プロファイル名}
Step5. ログイン確認
5-1. Session Manager Pluginの確認(ユーザーPC)
未インストールの場合は以下でインストールします。
brew install --cask session-manager-plugin
session-manager-plugin --version
5-2. SSOログイン
aws sso login --profile SSMAccess-{ユーザー名}-{アカウントID}
ブラウザが開き、IAM Identity CenterのポータルでMFA認証を行います。
5-3. SSMセッション接続
Step3でメモしたノードIDを使って接続します。
aws ssm start-session \
--target mi-XXXXXXXXXXXXXXXXX \
--profile SSMAccess-{ユーザー名}-{アカウントID}
以下のプロンプトが表示されれば接続成功です:
Starting session with SessionId: xxxx
sh-5.1$