How to change the AWS account using the Elastic Beanstalk CLI

I deployed an app using elastic beanstalk to my personal AWS account..Now I want to change the AWS credentials so the eb cli knows to deploy to a different account. But it does not ask me for the AWS keys when I type "eb init". Where do I specify this?


I had to add a new profile to this file ~/.aws/config. Example of the file with 2 profiles:

[profile eb-cli]
aws_access_key_id = XXXXXXXXXXXXX
aws_secret_access_key = XXXXXXXXXXXX

[profile eb-cli2]
aws_access_key_id = XXXXXXXXXX
aws_secret_access_key = XXXXXXXXXXXX

Also make sure to update the profile value in your application .elasticbeanstalk/config.yml


Bpn's answer is correct just add the next step to avoid spending time as I did..

After updating the ~/.aws/config file, just run:

eb init --profile <profilename>

in order to switch between the account.

(in this case profilename = eb-cli2)


Using export AWS_EB_PROFILE="default" I was able to use my key from my default profile from ~/.aws/credentials.

For more details: https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3-configuration.html


The awsebcli tool automatically creates a file named ~/.aws/config and you can see your keys in there under the [profile eb-cli] category. Just change them there.

[profile eb-cli]
aws_access_key_id = ...
aws_secret_access_key = ...

Specify the profiles in ~/.aws/credentials:

[myprofile2] 
aws_access_key_id = ...
aws_secret_access_key = ...  

Like other has indicated. Then use it in eb cli like this:

eb init --profile myprofile2 

Basically append "--profile myprofile2" in all eb commands:

eb deploy --profile myprofile2 
eb open --profile myprofile2