smt7174 / 20240608-jawsug-kanazawa-cdk-workshop

0 stars 1 forks source link

defaultのprofileに従ってデプロイされますか? #4

Closed matyuda closed 5 months ago

matyuda commented 5 months ago

https://github.com/smt7174/20240608-jawsug-kanazawa-cdk-workshop?tab=readme-ov-file#aws%E3%81%AB%E3%83%87%E3%83%97%E3%83%AD%E3%82%A4%E3%81%99%E3%82%8B にてデプロイを行ったところ、profile指定をしてブートストラップを実行したAWSアカウントとは異なるdefaultのAWSアカウントにデプロイされました。

過去別のフォルダでブートストラップを実行していたのですが、使い分けを行うことはできるのでしょうか?

デプロイされてほしかった環境(workshopプロファイルで定義)

image

想定していない環境にデプロイされた状態(defaultプロファイルで定義)

image
smt7174 commented 5 months ago

これは「事前準備」の「ブートストラップについて」のソースコマンド(下記に再掲)のコメントに記載した通り、もしdefault以外の環境にデプロイしたい場合、cdk deploy コマンドにも(=ブートストラップ以外のコマンドにも) --profile <プロファイル名> のオプションをつける必要があります。

## デフォルト(default)以外のAWS CLIクレデンシャル情報を使用したい場合、下記のようにprofileオプション&プロファイル名を指定する
## これは他のcdkコマンドでも共通。(以後、この説明は省略します)
npx cdk bootstrap aws://123456789012/ap-northeast-1 --profile my-profile-name
matyuda commented 5 months ago

ありがとうございます。 --profile のオプションをつけることでデプロイできました。

なお、--profile のオプションをつけて昨日やり直した際には以下のメッセージが出てしまっていたのでご質問してしまったのですが、Default region nameが設定されていなかっただけでした💦

c:\work\20240608-jawsug-kanazawa-cdk-workshop\jawsug-kanazawa-cdk>npx cdk deploy --profile workshop Bundling asset JawsugKanazawaCdkStack/NodeJsLambdaFunction/Code/Stage...

cdk.out\bundling-temp-4951ee7aa077fd949e88405fc6a69407030cb059a28834bbab37f937e336d08c\index.js 1.6kb

Done in 628ms

✨ Synthesis time: 16.38s

current credentials could not be used to assume 'arn:aws:iam::NNNNNNNNN:role/cdk-hnb659fds-deploy-role-NNNNNNNNN-us-east-1', but are for the right account. Proceeding anyway. current credentials could not be used to assume 'arn:aws:iam::NNNNNNNNN:role/cdk-hnb659fds-deploy-role-NNNNNNNNN-us-east-1', but are for the right account. Proceeding anyway.

❌ Deployment failed: Error: JawsugKanazawaCdkStack: SSM parameter /cdk-bootstrap/hnb659fds/version not found. Has the environment been bootstrapped? Please run 'cdk bootstrap' (see https://docs.aws.amazon.com/cdk/latest/guide/bootstrapping.html) at Deployments.validateBootstrapStackVersion (c:\work\20240608-jawsug-kanazawa-cdk-workshop\jawsug-kanazawa-cdk\node_modules\aws-cdk\lib\index.js:443:12210) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Deployments.buildSingleAsset (c:\work\20240608-jawsug-kanazawa-cdk-workshop\jawsug-kanazawa-cdk\node_modules\aws-cdk\lib\index.js:443:10975) at async Object.buildAsset (c:\work\20240608-jawsug-kanazawa-cdk-workshop\jawsug-kanazawa-cdk\node_modules\aws-cdk\lib\index.js:443:197148) at async c:\work\20240608-jawsug-kanazawa-cdk-workshop\jawsug-kanazawa-cdk\node_modules\aws-cdk\lib\index.js:443:181290

JawsugKanazawaCdkStack: SSM parameter /cdk-bootstrap/hnb659fds/version not found. Has the environment been bootstrapped? Please run 'cdk bootstrap' (see https://docs.aws.amazon.com/cdk/latest/guide/bootstrapping.html)