いよいよcopilot で環境を作成へ
copilot-cliの実行ユーザーに対するポリシーで四苦八苦していた今までですが、既存のポリシーアタッチで進めることを決意して進めております。
ただしcopilot-cliをアップデートする前と少し変更があったようなので記載します。
私は先にcopilot app initを実行します。
おすすめのアクションとしてcopilot initがいいと勧められるんですが、どうもminimumの環境がデプロイされてからmanifest.ymlを更新して再デプロイという動作がちょっと苦手でそうしています。
ですので
copilot app init
copilot env init
copilot svc init
copilot svc deploy --env test
といった手順を踏んでデプロイしていたんです。
これで正常にECSでサービスを開始して利用できたのですが、copilot-cliをアップデートしたらどうも同じ手順ではサービスのデプロイができなくなりました。
落雷で停電したためエラーのコピペはできていないのですが、、
エラーはサービスをテスト環境にデプロイしようとしたら失敗しましたというようなもので、何がないから失敗したといった詳細なエラーはコンソールの出力を見ても、CloudFormationのスタック詳細を見てもわかりませんでした。
そこで一度copilot app deleteで全てを削除して、copilot initで実行してみると成功!
そこでサービスを開始するために不足時していた実行コマンドに気づきました。
copilot app init
copilot env init
copilot env deploy --name test
copilot svc init
copilot svc deploy --env test
copilot env deploy が追加されていたんですね。
copilot-cli
v1.20.0にアップデートされて、環境ごとのmanifestが用意されて、環境の変更もcopilot env deleteをしなくても更新が可能になったことから環境のデプロイが用意されたのだと思います。
ネットワーク構成などあらかじめ決まっていたら、copilot env initで作成されたmanifest.ymlを更新して、copilot env deployするといいかもしれません。
※copilot initすると何かしらの未完成のサービス用意して動かしてmanifest.ymlを更新し再度deployする必要があると思っていて、もしくはコマンド実行時のオプションを長々と書く必要があると思っているので個人的な考えです。
さて次はmanifest.yamlを変更して試していこうかと思っています。
コメント
コメントを投稿