認証情報
AWS Copilot は、AWS API へのアクセス、アプリケーションのメタデータの保存と検索、アプリケーションのワークロードの展開と運用に AWS クレデンシャルを使用します。
AWS認証情報の設定方法については、AWS CLIのドキュメントで詳しく説明されています。
Application 用の認証情報
Copilot はデフォルトの認証情報プロバイダーチェーンに沿って認証情報を検索し、認証情報を使用して Service と Environment が関連づけられた Application のメタデータを保存または検索します。
Tips
名前付きプロファイルを使用して Application 用の認証情報を保存することを推奨します。
もっとも簡単な方法は [default]
プロファイルを利用することです:
# ~/.aws/credentials
[default]
aws_access_key_id=AKIAIOSFODNN7EXAMPLE
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
# ~/.aws/config
[default]
region=us-west-2
あるいは AWS_PROFILE
環境変数を設定して別の名前付きプロファイルを指定できます。例えば Application 用に [my-app]
という名前のプロファイルを [default]
プロファイルの代わりに用いることができます。
Note
Application に AWS アカウントのルートユーザーの認証情報を用いることはできません。代わりにこちらで説明されているようにまず IAM ユーザーを作成してください。
# ~/.aws/config
[profile my-app]
credential_process = /opt/bin/awscreds-custom --username helen
region=us-west-2
# 指定した名前付きプロファイルを用いた Copilot コマンドの実行
$ export AWS_PROFILE=my-app
$ copilot deploy
Caution
環境変数 AWS_ACCESS_KEY_ID
, AWS_SECRET_ACCESS_KEY
, AWS_SESSION_TOKEN
を直接用いることは推奨しません。なぜならそれらの認証情報が上書きされたり失効したりすると Copilot が Service や Environment を検索できなくなるからです。
サポートされている config
ファイルの設定についてもっと詳しく知りたい方は設定ファイルと認証情報ファイルに関するドキュメントをご参照ください。
Environment 用の認証情報
Copilot における Environment は Application が存在するのとは別の AWS アカウントやリージョンに作成できます。Environment を最初に作成する際 Copilot はどの一時クレデンシャルまたは名前付きプロファイルを使用するか尋ねます。
$ copilot env init
Name: prod-iad
Which credentials would you like to use to create prod-iad?
> Enter temporary credentials
> [profile default]
> [profile test]
> [profile prod-iad]
> [profile prod-pdx]
Application 用の認証情報とは異なり、Environment 用の AWS 認証情報は Environment の作成と削除の時のみ必要です。したがって一時的な環境変数からそれらの値を安全に使うことができます。Copilot が尋ねたり使用したりする認証情報はフラグとして扱われます。なぜならデフォルトの認証プロバイダーチェーンは Application 用の認証情報のために使われるからです。