1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

個人的備忘録:AWS ECSのデプロイ時にServiceNotFoundExceptionが出たときのチェックポイント

Posted at

はじめに

AWS ECS (Elastic Container Service) を利用していると、aws ecs update-service コマンド実行時に ServiceNotFoundException エラーが発生することがあります。

このエラーは、ECSのクラスターやサービスが正しく設定されていない場合に発生するものです。

本記事では、このエラーの原因と解決方法について詳しく解説します。

書こうと思ったきっかけ

AWS ECS を利用してアプリケーションのデプロイを行っていた際に、この ServiceNotFoundException エラーに遭遇しました。

初めて見たエラーだったため、原因を特定するのに時間がかかりました。

同じ問題で悩んでいる方の助けになればと思い、記事にまとめることにしました。

ServiceNotFoundException とは?

このエラーは、aws ecs update-service コマンドを実行した際に、指定したECSサービスが見つからない場合に発生します。

aws ecs update-service --cluster my-cluster --service my-service --force-new-deployment

上記のようなコマンドを実行した際に、以下のエラーが表示されることがあります。

An error occurred (ServiceNotFoundException) when calling the UpdateService operation:

このエラーが発生する原因は複数あります。

エラーの主な原因と確認方法

1. クラスターが存在しない

指定したクラスターが本当に存在しているかを確認するために、以下のコマンドを実行します。

aws ecs list-clusters --region ap-northeast-1

出力に my-cluster が含まれていない場合、クラスターが存在しないため作成する必要があります。

2. ECSサービスが存在しない

クラスター内に my-service が存在するかを確認します。

aws ecs list-services --cluster my-cluster --region ap-northeast-1

もし my-service がリストに含まれていない場合、サービスが作成されていないか、削除された可能性があります。

3. AWSリージョンが異なる

デフォルトのリージョンを確認するには、以下のコマンドを実行します。

aws configure list

ap-northeast-1 以外のリージョンが設定されていた場合、コマンドの --region オプションを適切に指定する必要があります。

aws ecs update-service --cluster my-cluster --service my-service --force-new-deployment --region ap-northeast-1

4. IAM権限が不足している

AWS IAM の権限不足が原因でエラーが発生する可能性もあります。

現在のIAMユーザーを確認するには、以下のコマンドを実行します。

aws sts get-caller-identity

次に、ECS関連のポリシーが適用されているか確認します。

aws iam list-attached-user-policies --user-name your-user

ECSサービスを更新するには、以下のポリシーが必要です。

  • AmazonECS_FullAccess
  • AWSServiceRoleForECS
  • AmazonEC2ContainerServiceforEC2Role

ポリシーが不足している場合は、IAMコンソールから適切な権限を付与してください。

まとめ

今回の ServiceNotFoundException の原因として、ECSサービスの未作成、クラスターやリージョンの指定ミス、IAM権限不足などが考えられます。

※どんな状況でも落ち着いて、丁寧に切り分けながら確認することが大切です。

私もこのエラーで悩みましたが、適切なトラブルシューティングを行い解決できました。本記事が同じ問題に直面している方の助けになれば幸いです。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?