cdk deploy
を実行した際に、サービスリンクロールのエラーが発生しました。
Resource handler returned message: “Invalid request provided: CreateCluster Invalid Request: Unable to assume the service linked role.”。
このエラーは、AWS ECSクラスターの作成時にサービスリンクロールを引き受けることができなかったことが原因です。
具体的には、サービスリンクロール (Service-Linked Role) が存在しないため、クラスターの作成に失敗しています。
Amazon ECS のサービスリンクロールの使用 – Amazon Elastic Container Serviceによると、
ほとんどの場合、サービスにリンクされたロールを手動で作成する必要はありません。AWS Management Console、AWS CLI、または AWS API でクラスターを作成したり、サービスを作成または更新したりすると、Amazon ECS によってサービスにリンクされたロールが自動的に作成されます。
とあるように、通常はサービスリンクロールは自動的に作成されます。
しかし、今回のように初回のcdk deploy
時にエラーが発生する場合があります。
これは、おそらくサービスリンクロールの作成に時間がかかるためです。
この場合、以下の手順で対処できます。
- エラーが発生したら、一度デプロイを中止します。
- 数分待ってから、再度
cdk deploy
を実行します。
試しにもう一度cdk deploy
を実行すると、今度は成功しました。
初回のデプロイ時にのみエラーが発生することがあるため、この現象に遭遇した場合は、少し待ってから再度デプロイを試みると良いでしょう。
この方法でエラーを回避できることを確認しましたので、同じ問題に直面した場合の参考にしてください。