ssmを使おうと思って来た方はなんの役にも立たないので注意
amazon linuxで立てたサーバーのログを見ていたら。
[root@admin ~]# ll -h /var/log/amazon/ssm/ 合計 96M -rw------- 1 root root 26M 6月 4 14:50 amazon-ssm-agent.log -rw------- 1 root root 29M 5月 2 19:10 amazon-ssm-agent.log.1 -rw------- 1 root root 3.4M 6月 4 14:50 errors.log -rw------- 1 root root 9.6M 4月 11 13:25 errors.log.1 -rw------- 1 root root 9.6M 4月 27 16:15 errors.log.2 -rw------- 1 root root 9.6M 5月 13 18:59 errors.log.3 -rw------- 1 root root 9.6M 5月 29 21:45 errors.log.4
なんかエラーがわらわら出ていた。 中身を見るとこんな感じ
[HealthCheck] error when calling AWS APIs. error details - NoCredentialProviders: no valid providers in chain. Deprecated. For verbose messaging see aws.Config.CredentialsChainVerboseErrors
Credentialsが無いぞと怒っているのかと思い確認してみるも存在はしている。
[ec2-user@ ~]$ ll .aws/ 合計 4 -rw-rw-r-- 1 ec2-user ec2-user 116 6月 4 14:34 credentials
中身も問題なさそう。(というかこれ必須ならデフォルト自動起動としておくなよと思うのだけれど) 調べると、インスタンスにEC2 Systems Manager APIとの通信ができるようにロールを関連付けろと。
とりあえず、フルアクセス権限のロールを上げたらエラーは消えた。
が、そもそもこのサーバーssmの機能を使ってない
ので、OFFった。
systemctl stop amazon-ssm-agent.service systemctl disable amazon-ssm-agent.service
まぁ、なんの解決にもなっていない
でも、デフォルトONになっているのに設定しないとエラーを吐き続けるというのはどうなのだろうか。
使う場合にはちゃんと適切なIAMに適切なロールを与えてあげれば動くはず。