📝
【SSM】EC2にSSM経由でアクセスする方法
目的
EC2にSSM経由でアクセスできるようにすること
目次
- IAMロール付与
- SSMでEC2にアクセス
- amazon-ssm-agentをインストール・起動
- トラブルシューティング
- SSMでEC2にアクセスできない
- Failed to execute operation: File existsが表示される
IAMロール付与
- ポリシー
AmazonSSMManagedInstanceCore
が含まれたロールを作成 - 作成したロールをEC2に付与
AmazonEC2RoleforSSMは使わないのか
AmazonSSMManagedInstanceCore
は内含されている権限が多く、将来非推奨になるため使用しないようにしてみます。
SSMでEC2にアクセス
最大10分ほど待つと、SSMでEC2にアクセスできるようになります。
AWSコンソールからSSM経由でEC2にアクセスできることを確認してください。
SSMでEC2にアクセスできない場合
amazon-ssm-agentがEC2にインストールされていない可能性があります。
次項に沿ってEC2にamazon-ssm-agentをインストールし、起動してみてください。
amazon-ssm-agentをインストール・起動
この項は SSMでEC2にアクセス
ができない時のみ実行してください。
SSMでEC2にアクセスできない場合
EC2にamazon-ssm-agentをインストールしてください。
利用しているOSとCPUの種類によってコマンドが少し異なるので、詳細は公式を参照してください。
AmazonLinux2のARM64を使用しているEC2の場合は、次のコマンドでamazon-ssm-agentをインストールできます。
$ curl -O https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_arm64/amazon-ssm-agent.rpm # このURLがCPUによって異なる
$ sudo yum install -y ./amazon-ssm-agent.rpm
$ sudo systemctl enable amazon-ssm-agent
$ sudo systemctl start amazon-ssm-agent
$ sudo systemctl status amazon-ssm-agent
トラブルシューティング
どうしてもSSMでEC2にアクセスできない
アウトバウンド443ポートの通信が許可されていない可能性があります。
アウトバウンド443ポートの通信許可しているか、セキュリティグループを確認してみてください。
Failed to execute operation: File existsが表示される
1度disableしてからenableにしてみてください。
$ sudo systemctl disable amazon-ssm-agent
$ sudo systemctl enable amazon-ssm-agent
Discussion