Help us understand the problem. What is going on with this article?

[Tips] Systems Manager Run Command (プライベートサブネット)

はじめに

Systems Manager Run CommandをプライベートサブネットのEC2インスタンスに対して実行する際にハマったので備忘録。
※あくまで動作確認につき権限周りガバガバ。。。

前提

・プライベートサブネット上にSSMエージェントがインストールされたEC2インスタンスが存在すること。
 SSMエージェントについてはこちら
・コマンド出力にS3を使用する。

手順

  1. EC2に割り当てるIAMロールにAWS管理ポリシー「AmazonEC2RoleforSSM」をアタッチする。

  2. 実行するIAMユーザーに下記のポリシーをアタッチする。
     AWS管理ポリシー「AmazonEC2FullAccess」
     AWS管理ポリシー「AmazonSSMFullAccess」

  3. VPCエンドポイント作成 (←ここでハマった)
    下記の4つのエンドポイントを作成。
     「com.amazonaws.ap-northeast-1.ssm」
     「com.amazonaws.ap-northeast-1.ec2messages」
     「com.amazonaws.ap-northeast-1.ssmmessages」
     「com.amazonaws.ap-northeast-1.s3」

 SSMのエンドポイントのみで実行できると思い込んでしまったのが失敗。
 「com.amazonaws.ap-northeast-1.ssm」のみ作成してSystems Manager Run Commandのコンソール
 からコマンド実行したところ、進行中のステータスのまま完了しませんでした。

上記1〜3の設定でコマンドのステータスが完了となり、ログも出力されました。

おわりに

エンドポイントの不足でコマンドが完了しないということに気づくまでが長かったです。。
私自身、権限周りを設定する機会があまり無く、そちらばかり疑っていました。
勉強不足ですね。。

参考サイト
Systems Manager Run Command をプライベートサブネット上の EC2インスタンスに対して実行する手順と注意点
↑こちらのサイトがより詳しく、丁寧です。

AWS Systems Managerユーザーガイド
↑公式サイト

MrK27
社会人3年目にIT業界に転職しました。(元 総合小売業) インフラエンジニアとしてSES企業に所属しています。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away