Open3

AWSのcopilotコマンドでできることとユースケース別コマンド実行

TakafumiTakafumi

デプロイするとき

全ての始まり

$ copilot app init [name] [flags]

サービス用の環境を作成する。

何が起きる?

  • AWS上にインフラ操作用のIAMを作る
  • ローカル環境にはインフラ管理用の /copilotディレクトリを作る
    この中にインフラ管理に関するファイルが生成される
  • copilot app deleteでappがない場合は、サービス用の環境を作成する
Application name: test-copilot
✔ Proposing infrastructure changes for stack test-copilot-infrastructure-roles
- Creating the infrastructure for stack test-copilot-infrastructure-roles                       [create complete]  [43.8s]
  - A StackSet admin role assumed by CloudFormation to manage regional stacks                   [create complete]  [18.1s]
  - An IAM role assumed by the admin role to create ECR repositories, KMS keys, and S3 buckets  [create complete]  [18.7s]
✔ The directory copilot will hold service manifests for application test-copilot.
$ copilot deploy

サービスをデプロイする。
$ copilot env deployが実行されていない場合は、こちらも実行される。

TakafumiTakafumi

デプロイ後

サービスをデプロイしたい(既にマニフェストファイルとかがある状態

$ copilot deploy

マニフェストファイルからサービスと環境をデプロイする。
インフラがデプロイされているかのチェックをする。
(もしかしたら、環境がない状態でこれを実行してもいい感じに環境の初期化とかやってくれるかも)

デプロイ先はECS。

$ copilot deploy
The "copilot" directory is not associated with an application.
Run `copilot app init` to create or use an application.
✘ couldn't find an application associated with this workspace

環境の設定のみデプロイしたい

$ copilot env deploy —force

env/manifest.ymlの変更をデプロイしたいとき。
デプロイ先はVPCやサブネット、セキュリティグループなど。