我想為 AWS Elastic Beanstalk 應用程式建立可擴展、負載平衡的環境,並為負載平衡器指定自己的安全群組。
簡短描述
Elastic Beanstalk 會為您的負載平衡器建立預設安全群組。若要連接至負載平衡器的現有安全群組 (ManagedSecurityGroup),您可覆寫此預設行為。將更多組態檔案新增至 .ebextensions/ 目錄,Elastic Beanstalk 就不會建立預設安全群組。目錄位於您的應用程式部署套件。
**重要:**下列步驟僅適用於 Application Load Balancer 和 Classic Load Balancer。Network Load Balancer 沒有關聯的安全群組。您必須設定與目標關聯的安全群組,以接受來自 Network Load Balancer 的流量。
解決方法
使用 .ebextensions 指示 Elastic Beanstalk 服務將現有安全群組連接至您的負載平衡器。然後,移除 Elastic Beanstalk 為您建立的預設安全群組。
請完成下列步驟:
- 確認具有可供 Elastic Beanstalk 使用的現有安全群組。或者,在 Elastic Beanstalk 環境中為負載平衡器建立新的安全群組。
- 記下您的安全群組 ID。例如:sg-123456。
- 在您的本機應用程式程式碼目錄中建立 .ebextensions/ 目錄。
- 在 .ebextensions/ 目錄中,建立檔案 elbsg.config。例如:
~/workspace/my-app/
|-- .ebextensions
| |-- elbsg.config
|-- helloworld
**注意:**如需詳細資訊,請參閱使用組態檔案 (.ebextensions) 進行進階環境自訂。
- 根據 Elastic Beanstalk 環境的負載平衡器類型更新 elbsg.config 檔案。如需詳細資訊,請參閱使用負載平衡分配 Amazon ECS 服務流量。若要使用 Classic Load Balancer 建立新環境或更新現有環境,請使用 SecurityGroups 設定來覆寫預設安全群組。例如:
option_settings:
aws:elb:loadbalancer:
ManagedSecurityGroup: "sg-123456"
SecurityGroups: "sg-123456"
若要使用 Application Load Balancer 建立新環境或更新現有環境,請使用 SecurityGroups 設定來覆寫預設安全群組。例如:
option_settings:
aws:elbv2:loadbalancer:
ManagedSecurityGroup: "sg-123456"
SecurityGroups: "sg-123456"
**注意:**在上述範例中,將 sg-123456 取代為您的安全群組和受管安全群組 ID。先前的 .ebextensions 採用 YAML 格式。确保驗證 YAML 格式。
- 將您的程式碼和新的 .ebextensions/ 目錄一起部署為 Elastic Beanstalk 環境的新應用程式版本。
相關資訊
設定 Elastic Beanstalk 環境
aws:elb:loadbalancer
aws:elbv2:loadbalancer