Error getting valid credentials (AKID ): NoCredentialProviders: no valid providers in chain. Deprecated.

はじめに

ECSでコンテナを動かそうとすると、作成されるEC2でdocker logsに

というエラーが記述された。その原因と対策を明記する。

原因

ecsを実行するEC2インスタンスのroleに適切な権限がない。

roleに以下の通り権限を付与する

 

もしEC2へattachするroleを変更したい場合は、ECSの画面からではなく、CloudFormationの画面から変更を行う。

これは、ECSのサービス作成時、裏でCloudFormationが実行されるため。

具体的な手順はクラメソさんのBlogが非常にわかりやすい。

Amazon ECSでインスタンスタイプを変更する

変更点は以下の箇所

 

有効化するには現在起動しているEC2インスタンスをterminateすること。

オートスケールの設定がされているので、自動で新しい設定のインスタンスが立ち上がる。