2015-05-27 44 views
1

我正在爲兩家不同的公司開發兩個不同的項目。他們每個人都可以訪問他們的AWS管理控制檯來部署Ruby應用程序。我在Mac OS/X上編寫代碼。使用EB部署管理多個AWS賬戶

我看不到在哪裏更改eb命令的配置以指向不同的帳戶。我做了eb init,但它似乎指向相同的AWS賬戶並在該賬戶上創建應用程序和服務器實例。當兩個不同的AWS賬戶用於兩個不同的項目並嘗試使用eb命令進行部署時,有人可以請幫助或指導我進行操作嗎?

+0

你能告訴當你運行'EB init'會發生什麼? – ydaetskcoR

+0

當我第一次運行eb init時,它會詢問應用程序名稱,區域等。當我運行它時,它不會要求它。我假設它存儲在配置文件中,所以它只是看起來在那裏。但是,它並沒有要求我的帳戶信息,以什麼IAM用戶使用。它違反了我的其他項目,因此最終創建並將應用程序部署到了錯誤的AWS賬戶。 – user2974739

+0

你可以試試運行'printenv |來自終端的grep「AWS_CREDENTIAL_FILE」? – ydaetskcoR

回答

2

的配置數據應該在部署之前存儲在~/.aws/config

你可以保持兩個不同的配置文件和簡單交換他們。如果你整天整天都在工作,那麼這很容易,但是如果你整天在兩者之間切換,可能會引起混淆。

您可以編寫一個簡單的腳本來在運行eb init之前交換它們。

既然你列出了Ruby作爲你的語言,我發現這正是你需要的完美寫作。 http://jtimberman.housepub.org/blog/2013/10/19/managing-multiple-aws-account-credentials/

+0

謝謝。這是我正在尋找的。 – user2974739

1

正確的方法是使用「命名的配置文件」。比方說,您有一個工作/默認AWS賬戶以及一個個人AWS賬戶。

編輯~/.aws/credentials看起來像這樣:

[default] 
aws_access_key_id = abcd1234KEY1 
aws_secret_access_key = abcd1234SECRET1 

[personal] 
aws_access_key_id = efghij6789KEY2 
aws_secret_access_key = efghij6789SECRET2  

然後使用eb init --profile personal使用您的個人帳戶。

AWS文檔瀏覽: http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3-configuration.html

+0

我看了一下我的配置,並且我有一個'.aws/config'和'.aws/credentials'。 Credentials包含'[default]'部分,而'config'包含'[profile eb-cli]'部分。後者是EB CLI所需的硬編碼配置文件嗎(或者我在某個時候創建​​了這個配置文件,並忘記了提供這個名稱)?無論如何,這個頁面http://docs.aws.amazon.com/cli/latest/userguide/cli-multiple-profiles.html與其他非EB的AWS CLI也是相關的。 – JHH

相關問題