ECSにてBlue/Greenデプロイメントのサービス作成時にエラー発生

0

コンテナのサービスの作成を実施したところ下記のエラーが発生しました。 Blue/Greenデプロイメントを設定しようとしていますが、下記のエラーとなってしまいます。 対応方法等あればご教示お願いいたします。

以下、CloudFormationでのイベント詳細 ECSService CREATE_FAILED Resource handler returned message: "PutEcsTaskSetInput#deploymentController CODE_DEPLOY is not supported by ECN. (Service: AmazonECS; Status Code: 400; Error Code: ClientException; Request ID: 586c19cc-05ee-45a8-ae2a-889b4df6b359; Proxy: null)" (RequestToken: 3e847f8e-1b87-2e39-2133-a3be8b371317, HandlerErrorCode: GeneralServiceException)

  • Riku_Kobayashi様 ご確認及びご回答いただきありがとうございます。 ご指摘の通り、ServiceConnect-オプションをオフにしたところサービスの作成ができたことを確認致しました。

    >Service Connectはローリングアップデートでのみサポートされているので作成時にエラー>になっているのだと思います。(私の環境ではこれを有効にしていません) >なので、ServiceConnect-オプションで「Service Connect をオンにする」のチェックを外>してください。

    リンク先のガイドのService Connect に関する考慮事項において記載されているのを確認しました。私の資料の確認不足となりお騒がせ致しました。 この度はご確認およびご指摘いただき誠にありがとうございました。

hidano
gefragt vor 4 Monaten411 Aufrufe
2 Antworten
0
Akzeptierte Antwort

タスク定義などはどのような設定になっていますか?
以下のエラーメッセージから何かタスク定義でサポートされていないような設定になっているのではないかと予想しています。

CODE_DEPLOY is not supported by ECN

profile picture
EXPERTE
beantwortet vor 4 Monaten
  • 返答ありがとうございます。SBクリエイティブ株式会社の”awsコンテナ設計・構築[本格]入門”という書籍で学習しているのですが UIが変更されており、設定値に自信がない状態です。 エラー内容からECN(External Capacity Provider?)の設定が間違っているのかと疑っていますが、少々知識不足で解決まで至っておりません。 以下にタスク定義の抜粋を記載しますが、ほかに必要な情報等ありますでしょうか

    タスク定義ファミリー:一意の値 リビジョン:5(最新)

    ▼インフラストラクチャーの要件 起動タイプ:AWS Fargate OS:Linux/v86_64 タスクサイズ:.5vCPU 1GBメモリ

    ▼条件付きのタスクロール タスクロール:ecsTaskExecutionRole タスク実行ロール:ecsTaskExcutionLRole

    ▼コンテナ コンテナの詳細 名前:app イメージURL:AWS_ACCOUNT_ID.dkr.ecr.ap-northeast-1.amazonaws.com/sbcntr-backend:v1 プライベート認証:なし ポートマッピング:80 TCP app HTTP

    読み取り専用ルートファイルシステム:読み取り専用

    リソース割り当て制限 0.25CPU メモリのハード制限:1 メモリのソフト制限:0.5

    ログ取集の使用 default値

    ▼各種オプション default値

  • ご確認ありがとうございます。 タスク定義は問題なさそうに見えます。 サービス設定はどのようになっていますか? 私の環境でBlue/Greenデプロイ設定をUIからやってみたのですがエラーを再現できなかったので差分を確認したいと考えています。

  • 原因がわかりました。 Service Connectはローリングアップデートでのみサポートされているので作成時にエラーになっているのだと思います。(私の環境ではこれを有効にしていません) なので、ServiceConnect-オプションで「Service Connect をオンにする」のチェックを外してください。 https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/service-connect.html

    Service Connect でサポートされるのは、ローリングデプロイを使用するサービスのみです。ブルー/グリーンおよび外部デプロイタイプを使用するサービスはサポートされていません。

0

ご確認いただき誠にありがとうございます。サービスの作成は以下の通りの設定となっております。また、本日再度作成しましたが、同一のエラーが返却されました。

▼コンピューティング設定 コンピューティングオプション:起動タイプ 起動タイプ:FARGATE プラットフォームのバージョン:1.4.0

▼デプロイ設定 アプリケーションタイプ:サービス ファミリー:一意の値 リビジョン:5(最新) サービス名:一意の値 サービスタイプ:レプリカ 必要なタスク:2

▼デプロイオプション デプロイタイプ:ブルー/グリーンデプロイ (AWS CodeDeploy を使用) デプロイ設定:CodeDeployDefault.ECSAllAtOnce CodeDeployのサービスロール:AWSCodeDeployRoleForECS

▼ServiceConnect-オプション ServiceConnect:オン ServiceConnectの設定:クライアント側のみ 名前空間:local ログ収集の使用:オン(default値)

▼サービス検出ーオプション サービス検出を使用:オン 名前空間を設定:新しい名前空間を作成(local) サービスの検出サービスを設定:新しいサービスの検出サービスを作成(sbcntr-ecs-backend-service) DNSレコード: タイプA TTL60

▼ネットワーキング VPC:作成したもの サブネット:コンテナ用に作成したもの(プライベートVPC) セキュリティグループ:コンテナ用に作成したセキュリティグループ インバウンド(HTTP/TCP/80)の通信を許可 パブリックIP:オフ

▼ロードバランシング ロードバランサー:ALB ApplicationLoadBarancer:作成した既存のロードバランサー ヘルスチェック:120 コンテナ:作成したコンテナ(app) リスナー プロダクションリスナー 作成した既存のリスナー:(80/HTTP) テストリスナー 作成した既存のリスナー:(10080/HTTP) ターゲットグループ1 作成したターゲットグループ: sbcntr-tg-sbcntrdemo-blue /healthcheck HTTP ターゲットグループ2 sbcntr-tg-sbcntrdemo-green /healthcheck HTTP

▼サービスのAutoScalingーオプション default値(オフ)

▼タグーオプション AmazonECSマネージドタグを有効にする:オン タグの伝播先:伝播しない

hidano
beantwortet vor 4 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen