Engineer.社会人からWEBエンジニアになった人間の備忘録的勉強記録この広告は、90日以上更新していないブログに表示しています。ECS久しぶりにこちらに書きます。(関係ないですけど、QiitaとBlogの使い分けって難しいですよね。いうWebサイトのFargate化を進めていたときにデプロイで少しハマったことを書きます。appの実行環境をEC2からFargateに載せ替えるにあたり、デプロイの自動化も進めていました。appのデプロイの手順は上の図のような形で作戦を練っていました。image作成・ECRにpushタスク定義を更新(2のimageを使う)サービスを更新(3のタスク定義を使う)し、既存タスクを最新のサービスを使ったタスクに入れ替える1はGitの操作なので除きますが、2〜4の操作はCI上(今回はCircleCIを使っています)で行う操作なので、AWSのAPIを叩く必要があります。2と3は普通にECRにpushし、タスク定義をupdateするためのAPIを叩くことで実現できます。公式にもドキュメントがあるのでこれらが参考になります。Serviceサービスのデプロイはデプロイタイプによって利用するAPIが異なる今回の話題の中心は4のデプロイについてです。ECSではサービスのデプロイ方法(=デプロイタイプ)は2種類の方法が利用できます。実はこの2種類のデプロイタイプのそれぞれで叩くべきAPIが異なります。CodeDeployのCreateDeploymentズバリここでハマってしまいました。具体的に見ていきましょう。CLIを用いると以下のような操作でデプロイを行うことができます。入れ替わっていることが見て取れます。「サービスをデプロイするにはサービスを更新(=update-service)すればよい」のです。叩くとどうなるでしょうか。deployment.結果、InvalidParameterExceptionで怒られてしまいました。デプロイするならCodeDeployのdeploymentをトリガーしろと言っていますね。このようにCodeDeployを使っていると、UpdateServiceを叩いたところでデプロイすることはできません。"d-XXXXXXXXX"}これでCodeDeployによるデプロイプロセスが開始されました。まとめECSのデプロイはデプロイタイプによって叩くべきAPIが異なります。create-deployment)以上、何かのご参考になれば幸いです。(4)はてなブログをはじめよう!shirakiyaさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。