Elastic Beanstalk 簡介

Elastic Beanstalk(EB) 本質上是 Golden AMI 和 CloudFormation 之間的混合體,同時極大地簡化了 PuppetChef 的學習曲線。

Elastic Beanstalk 部署分為兩個元件:應用程式和環境。

應用

考慮這是你的頂級分組,你的應用程式本身。例如,單個應用程式(MyWebApp)可能具有多個環境(生產暫存)。

環境

每個環境都包含完整的體系結構部署( EC2 例項Elastic Load BalancerAutoscaling GroupCloudwatch Alarms )。將自動設定和維護整個環境配置。

部署應用程式

你的應用程式部署就像上傳包含程式碼的 zip 檔案一樣簡單。你上載的每個 zip 檔案(稱為應用程式版本 )都與應用程式相關聯,因此你可以上載一次並部署到多個環境

自定義環境

預設情況下,Elastic Beanstalk 將部署庫存亞馬遜維護的 AMI。對於大多數應用程式來說,這已經足夠了,但是你可能需要進行環境調整(例如,更改時區,新增程式碼中不存在的包/依賴項等)。

有兩種方法可以自定義使用的 EB AMI: ebextensions 或自定義 AMI。

ebextensions - 一個資料夾,字面意思是’.ebextensions’,可以選擇放在你的應用程式版本的根目錄 (你上傳的包含程式碼的 zip)。在 ebextensions 資料夾中,你可以放置​​YAML 檔案,定義你希望在部署過程中在伺服器端執行的任何自定義指令碼,依賴項等。有許多可用的掛鉤點,有關最新資訊,請檢視相關文件: http//docs.aws.amazon.com/elasticbeanstalk/latest/dg/ebextensions.html

知識/事情要注意

VPC 核取方塊 - 建立環境時,可以離散地選擇是否應在 VPC 中建立/放置環境。如果你需要應用程式與你建立的現有資源進行通訊,請選中此框。否則,Elastic Beanstalk 將建立一個與你的其他 VPC 隔離的新安全組。雖然你可以在建立後手動調整安全組設定,但嘗試將其新增到 VPC 中將在以後導致各種問題。

RDS - 建立環境時,你可以選擇在環境中建立 RDS 例項。建議不要使用此功能,因為只要你需要重建環境(例如藍色/綠色部署,故障排除),它就會破壞並重新建立 RDS 例項(以及所有資料)。