本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定 EB CLI
安裝 EB CLI 之後,您就可以執行 eb init 以設定您的專案目錄和 EB CLI。
下列範例說明首次在名為 eb init 的專案資料夾執行 eb
的設定步驟。
欲初始化 EB CLI 專案
-
首先,EB CLI 會提示您選擇一個區域。輸入您要使用之區域相對應的編號,然後按 Enter (確認)。
~/eb $
eb init
Select a default region 1) us-east-1 : US East (N. Virginia) 2) us-west-1 : US West (N. California) 3) us-west-2 : US West (Oregon) 4) eu-west-1 : Europe (Ireland) 5) eu-central-1 : Europe (Frankfurt) 6) ap-south-1 : Asia Pacific (Mumbai) 7) ap-southeast-1 : Asia Pacific (Singapore) ... (default is 3):3
-
接著,提供您的存取金鑰和私密金鑰,讓 EB CLI 能夠為您管理資源。存取金鑰於 AWS Identity and Access Management 主控台內建立。如果您沒有金鑰,請參閱《Amazon Web Services 一般參考》中的如何取得安全憑證?。
You have not yet set up your credentials or your credentials are incorrect. You must provide your credentials. (aws-access-id):
AKIAJOUAASEXAMPLE
(aws-secret-key):5ZRIrtTM4ciIAvd4EXAMPLEDtm+PiPSzpoK
-
Elastic Beanstalk 中的應用程式為資源,其中包含一組與單一 Web 應用程式建立關聯的應用程式版本 (來源)、環境及已儲存組態。您每次使用 EB CLI 將來源碼部署至 Elastic Beanstalk 時,都會建立新的應用程式版本,並新增至清單。
Select an application to use 1) [ Create new Application ] (default is 1):
1
-
預設應用程式名稱為您執行 eb init 的資料夾名稱。輸入可描述專案的名稱。
Enter Application Name (default is "eb"):
eb
Application eb has been created. -
選擇符合您 Web 應用程式開發所用之語言或架構的平台。若您尚未開發應用程式,請選擇您喜歡的平台。您很快就會了解如何啟動範例應用程式,而且稍後可隨時變更此設定。
Select a platform. 1) Node.js 2) PHP 3) Python 4) Ruby 5) Tomcat 6) IIS 7) Docker 8) Multi-container Docker 9) GlassFish 10) Go 11) Java (default is 1):
1
-
選擇 yes (是) 以指派 SSH 金鑰對到您 Elastic Beanstalk 環境中的執行個體。這可讓您直接連接以進行故障排除。
Do you want to set up SSH for your instances? (y/n):
y
-
選擇現有金鑰對或建立新的金鑰對。欲使用 eb init 來建立新的金鑰對,ssh-keygen 必須安裝於您的本機機器且可從命令列取用。EB CLI 會為您向 Amazon EC2 註冊新的金鑰對,並將私有金鑰存放於本機使用者目錄中名為
.ssh
的資料夾。Select a keypair. 1) [ Create new KeyPair ] (default is 1):
1
您的 EB CLI 安裝設定現已完成且就緒。如需建立並使用 Elastic Beanstalk 環境的說明,請參閱 使用 EB CLI 管理 Elastic Beanstalk 環境。
使用 .ebignore 忽略檔案
您可將檔案 .ebignore
新增至專案目錄,藉此指示 EB CLI 忽略該目錄中的特定檔案。此檔案的運作方式如同 .gitignore
檔案。將專案目錄部署至 Elastic Beanstalk 並建立新的應用程式版本時,EB CLI 不會將 .ebignore
指定的檔案納入其所建立的來源套件中。
若 .ebignore
不存在但 .gitignore
存在,則 EB CLI 會忽略 .gitignore
指定的檔案。若 .ebignore
存在,則 EB CLI 不會讀取 .gitignore
。
若 .ebignore
存在,EB CLI 不會使用 git 命令來建立您的原始碼套件。這表示 EB CLI 會忽略 .ebignore
指定的檔案,並納入所有其他檔案,尤其是未遞交的來源檔案。
注意
在 Windows 中,新增 .ebignore
會使 EB CLI 在建立原始碼套件時,存取符號連結並納入連結檔案。此已知問題將於未來的更新中修正。
使用命名設定檔
如您將登入資料做為具名描述檔存放在 credentials
或 config
檔案,您可使用 --profile 選項來明確指定描述檔。例如,下列命令會使用 user2
設定檔來建立新的應用程式。
$ eb init --profile
user2
您亦可設定 AWS_EB_PROFILE
環境變數來變更預設的設定檔。設定此變數後,EB CLI 會自指定設定檔讀取登入資料,而不從 default
或 eb-cli 讀取。
Linux、macOS 或 Unix
$ export AWS_EB_PROFILE=
user2
Windows
> set AWS_EB_PROFILE=
user2
部署成品而非專案資料夾
您可將下列行新增至專案資料夾內的 .elasticbeanstalk/config.yml
,藉此指示 EB CLI 部署您所產生的 ZIP 檔或 WAR 檔案,做為不同的建置程序的一部分。
deploy:
artifact: path/to/buildartifact.zip
若您於 Git 儲存庫設定 EB CLI,而且不要將成品遞交至來源,請使用 --staged
選項來部署最新的建置。
~/eb$ eb deploy --staged
組態設定和優先順序
EB CLI 使用提供者鏈結在許多不同的地方尋找 AWS 登入資料,包括系統或使用者環境變數以及本機 AWS 組態檔案。
EB CLI 根據以下順序尋找登入資料和組態設定:
-
命令列選項 ‒ 使用
--profile
來指定具名描述檔以覆寫預設設定。 -
環境變數 ‒
AWS_ACCESS_KEY_ID
和AWS_SECRET_ACCESS_KEY
。 -
AWS 登入資料檔案 ‒ 位於 Linux 和 OS X 系統上的
~/.aws/credentials
,或是 Windows 系統上的C:\Users\
。除了預設的設定檔外,此檔案還可以包含多個命名設定檔。USERNAME
\.aws\credentials -
AWS CLI 組態檔案 ‒ 位於 Linux 和 OS X 系統上的
~/.aws/config
,或是 Windows 系統上的C:\Users\
。此檔案可以包含每個預設設定檔、命名設定檔和 AWS CLI 特定組態參數。USERNAME
\.aws\config -
傳統 EB CLI 組態檔案 ‒ 位於 Linux 和 OS X 系統上的
~/.elasticbeanstalk/config
,或是 Windows 系統上的C:\Users\
。USERNAME
\.elasticbeanstalk\config -
執行個體描述檔登入資料 ‒ 這些登入資料可用於具備指派執行個體角色的 Amazon EC2 執行個體,並透過 Amazon EC2 中繼資料服務交付。執行個體描述檔必須具備使用 Elastic Beanstalk 的許可。
若登入資料檔案包含名為「eb-cli」的命名設定檔,則 EB CLI 會偏好該設定檔,而非預設設定檔。若找不到描述檔,或所找到的描述檔未具備使用 Elastic Beanstalk 的許可,則 EB CLI 會提示您輸入金鑰。
執行個體中繼資料
若要從 Amazon EC2 執行個體使用 EB CLI,請建立可以存取所需資源的角色,並在執行個體啟動時,指派該角色到執行個體。啟動執行個體並使用 pip
安裝 EB CLI。
~$ sudo pip install awsebcli
pip
預先安裝在 Amazon Linux 上。
EB CLI 會讀取來自執行個體中繼資料的登入資料。如需詳細資訊,請參閱《IAM 使用者指南》中的授予在 Amazon EC2 執行個體上執行的應用程式存取 AWS 資源的許可。