cdk deployでサービスリンクロールのエラーが発生したとき

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時にエラーが発生する場合があります。
これは、おそらくサービスリンクロールの作成に時間がかかるためです。

この場合、以下の手順で対処できます。

  1. エラーが発生したら、一度デプロイを中止します。
  2. 数分待ってから、再度cdk deployを実行します。

試しにもう一度cdk deployを実行すると、今度は成功しました。

初回のデプロイ時にのみエラーが発生することがあるため、この現象に遭遇した場合は、少し待ってから再度デプロイを試みると良いでしょう。

この方法でエラーを回避できることを確認しましたので、同じ問題に直面した場合の参考にしてください。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください