Skip to content

This is how to properly select AWS CLI profiles for your stacks/accounts #3961

Description

@jeshan

There are various discussions here about how to use select the appropriate CLI profiles. I have not found any suitable solution until now.
In particular, AWS_PROFILE wasn't enough since cdk needs to make calls in different accounts for different stacks.

I wanted a solution that could:

  1. reuse my existing profiles (~/.aws/config), but also
  2. different profiles for different accounts (in my case, this implied different cdk stacks), while
  3. keeping the cli invocation simple.

The trick is to use the plugin feature which really means just a javascript class.
You can define a class which will be loaded at runtime. It allows you to pick some profile for a certain account ID.

Here is the gist and an example cdk.json:
https://gist.github.com/jeshan/178dfa811df0f652b30d3cc61058512d/

Note that you can also specify plugins with: cdk --plugin ... deploy

I'm leaving this here as a how-to for the community. Feel free to copy the class into your project.

If anybody knows of a simpler way to achieve this, please let me know.

Metadata

Metadata

Assignees

Labels

management/devenvRelated to CDK development/build environmentmanagement/trackingIssues that track a subject or multiple issuesops-excellenceOperational Excellencepackage/toolsRelated to AWS CDK Tools or CLI

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions