概要
Amplify CLIのバージョンによってはAWSアカウントを跨いだAssumeRoleを行ってinitすると、AmplifyプロジェクトがAssume元のアカウントに作成されてしまうことがあります。
そんな時にAssumeRole先のアカウントをAmplifyCLIを使って管理する方法をまとめます。
前提
~/.aws/credential
と~/.aws/profile
が設定されている
AssumeRoleを使わない時
一応AssumeRoleを使わない、通常時のプロジェクト作成方法もまとめます。
プロジェクト作成時コマンドを実行
amplify init
質問に答えていく
? Enter a name for the project SampleAmplifyGraphql
? Enter a name for the environment dev
? Choose your default editor: None
? Choose the type of app that you're building javascript
Please tell us about your project
? What javascript framework are you using react
? Source Directory Path: src
? Distribution Directory Path: build
? Build Command: npm run-script build
? Start Command: npm run-script start
答えていくと、以下のようにAWS profileを使うか聞かれるのでYを答える
? Do you want to use an AWS profile? Yes
どのプロファイルを使うのか、~/.aws/profile
のリストが表示されるので、使用したいものを選ぶ
? Please choose the profile you want to use admin
これでデプロイに使用するAWS Profileが設定できた
AssumeRoleを使う場合
プロジェクトの作成だけCLIではなくAWSコンソールから作成します。
作成したプロジェクトに後からProfileの設定を行います。
クラウドににプロジェクトを作成する
-
New App
->Create app backend
から適当なプロジェクト名を入力して作成
ローカルにプロジェクトを作成する
- 作成したプロジェクトの
Open admin UI
からバックエンド管理画面に移動 - 右上にある
Local setup instructions
をクリックした時に表示されるコマンドをコピー - ターミナルから先ほどコピーしたコマンドを実行
- 質問に答えていく
- ここではAWS Profileの設定について質問されない
? Choose your default editor: None
? Choose the type of app that you're building javascript
Please tell us about your project
? What javascript framework are you using react
? Source Directory Path: src
? Distribution Directory Path: build
? Build Command: npm run-script build
? Start Command: npm run-script start
? Do you plan on modifying this backend? Yes
プロジェクトに使用するAWS Profileを設定する
コマンドを実行
amplify configure project
質問に答えていく
? Enter a name for the project SampleAmplifyGraphql
? Choose your default editor: None
? Choose the type of app that you're building javascript
Please tell us about your project
? What javascript framework are you using react
? Source Directory Path: src
? Distribution Directory Path: build
? Build Command: npm run-script build
? Start Command: npm run-script start
? Do you want to enable container-based deployments? No
プロジェクトレベルの設定をするか聞かれるのでYと答える
? Do you want to set the project level configuration Yes
AWS Profileを使うか聞かれるのでYと答える
? Do you want to use an AWS profile? Yes
どのプロファイルを使うのか、~/.aws/profile
のリストが表示されるので、使用したいものを選ぶ
? Please choose the profile you want to use admin
これでデプロイに使用するAWS Profileが設定できた