app init
$ copilot app init [name] [flags]
コマンドの概要
copilot app init
はコマンドを実行したディレクトリ内に新しい Application を作成します。 Service は Application 内に作成していきます。
質問への回答の後、CLI は、Service 用に作成されたインフラストラクチャーを管理する為の AWS Identity and Access Management ロールを作成します。作業ディレクトリ配下に新しいサブディレクトリ copilot/
を確認できます。 copilot
ディレクトリには Service 用の Manifest ファイルと追加のインフラストラクチャーが格納されます。
copilot app init
はカスタムドメイン名や AWS タグを利用したい場合、パーミッションバウンダリー用の IAM ポリシーを指定したい場合に利用します。それ以外の典型的なケースでは、同じ動作をする copilot init
を利用します。
フラグ
Copilot CLI における全てのコマンドと同じ様に、必要なフラグを指定しなかった場合、必要な情報を全て入力する様に求められます。フラグを指定して情報を指定すると、プロンプトをスキップできます。
--domain string Optional. Your existing custom domain name.
-h, --help help for init
--permissions-boundary Optional. The name or ARN of an existing IAM policy with which to set a
permissions boundary for all roles generated within the application.
--resource-tags stringToString Optional. Labels with a key and value separated by commas.
Allows you to categorize resources. (default [])
--domain
フラグは、 Application が利用している AWS アカウント上の Amazon Route 53 に登録されたドメイン名を指定します。これにより Application 内の全てのサービスが同じドメイン名を利用することが出来るようになります。次の例の様に Service に対してアクセス出来るようになります。https://{svcName}.{envName}.{appName}.{domain}
--permissions-boundary
フラグは Application が利用している AWS アカウント上にある IAM ポリシーを指定できます。このポリシー名は、Copilot により作成される全ての IAM ポリシーに付加される ARN 名の一部になります。
--resource-tags
フラグは、Application 内の全てのリソースに対してカスタムタグを追加します。
コマンド例: copilot app init --resource-tags department=MyDept,team=MyTeam
実行例
"my-app"という名前の新しい Application を作成します。
$ copilot app init my-app
$ copilot app init --domain example.com
$ copilot app init --resource-tags department=MyDept,team=MyTeam