本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Elastic Beanstalk 啟動並連接到EC2傳統的外部 Amazon RDS 實例(已淘汰)
重要
Amazon EC2-經典版於 2022 年 8 月 15 日終止標準支援。如需詳細資訊,請參閱 EC2-經典網路正在淘汰-以下是如何準備
如果搭配使用 C EC2 lassic (noVPC) AWS Elastic Beanstalk,程序會因安全性群組的運作方式不同而稍有變更。在EC2傳統版中,資料庫執行個體無法使用EC2安全群組,因此它們會取得僅適用於 Amazon 的資料庫安全群組RDS。
您可以將規則新增至允許安全群組輸入存取的資料庫EC2安全群組。不過,您無法將資料庫安全群組連接至與您的環境相關聯的 Auto Scaling 群組。若要避免在資料庫安全群組和環境之間建立相依性,您必須在 Amazon 中建立第三個安全群組EC2。然後,您需要在資料庫安全群組中新增規則,以將傳入存取權限授予新安全群組。最後,您應將其指派至 Elastic Beanstalk 環境中的 Auto Scaling 群組。
注意
-
如果您是從 Elastic Beanstalk 建立,並隨後從 Beanstalk 環境解耦的資料庫開始,則可以略過第一組步驟,並以建立橋接安全群組下分組的步驟繼續進行。
-
如果您計劃為生產環境使用解耦的資料庫,請確認該資料庫使用的儲存類型是否適合您的工作負載。如需詳細資訊,請參閱 Amazon RDS 使用者指南中的資料庫執行個體儲存和修改資料庫執行個體。
若要在EC2傳統版中啟動RDS執行個體 (noVPC)
-
開啟 RDS 管理主控台
。 -
選擇建立資料庫。
-
繼續透過精靈進行。請記下您輸入下列選項的值:
-
Master username (主要使用者名稱)
-
Master Password (主密碼)
-
-
當您進入 Network and Security (網路與安全) 設定的 Configure advanced settings (設定進階設定) 時,請選擇下列項目:
-
VPC—
Not in VPC
. 如果無法使用此選項,您的帳戶可能不支援 EC2-Classic,或者您可能選擇的執行個體類型僅在中VPC提供。 -
可用區域 –
No Preference
-
資料庫安全群組 –
Create new Security Group
-
-
設定剩餘選項,然後選擇 Create database (建立資料庫)。請記下您輸入下列選項的值:
-
Database Name (資料庫名稱)
-
Database Port (資料庫連接埠)
-
在 EC2-Classic 中,您的資料庫執行個體具有資料庫安全群組,而不是VPC安全群組。您無法將資料庫安全群組連接至您的 Elastic Beanstalk 環境。反之,您需要建立新的安全群組,您可以授權該安全群組存取資料庫執行個體並連接至您的環境。我們將其稱為橋接安全群組,並命名為 webapp-bridge
。
欲建立橋接安全群組
-
打開 Amazon EC2 控制台
。 -
在導覽側列的 Network & Security (網路與安全) 下,選擇 Security Groups (安全群組)。
-
選擇建立安全群組。
-
針對 Security group name (安全群組名稱),輸入
webapp-bridge
。 -
針對 Description (描述),輸入
Provide access to DB instance from Elastic Beanstalk environment instances.
。 -
對於 VPC,保持選取的預設值。
-
選擇 Create (建立)
接著,修改連接至資料庫執行個體的安全群組,以允許來自橋接安全群組的傳入流量。
修改執行個體安全群組的RDS輸入規則
-
打開 Amazon RDS 控制台
。 -
選擇 Databases (資料庫)。
-
選擇您的資料庫執行個體名稱以檢視其詳細資料。
-
在 Connectivity (連線) 區段中,位於 Security (安全性) 下方,會顯示與資料庫執行個體相關聯的安全群組。開啟連結以在 Amazon EC2 主控台中檢視安全群組。
-
在安全性群組詳細資料中,將連線類型設定為EC2安全性群組。
-
將「EC2安全群組名稱」設定為您建立的橋接安全性群組的名稱。
-
選擇 Authorize (授權)。
接著,請將橋接安全群組新增至執行環境。此程序必須透過其他連接的安全群組,重新佈建您環境中的所有執行個體。
欲將安全群組新增至您的環境
-
執行以下任意一項:
-
使用 Elastic Beanstalk 主控台新增安全群組
開啟彈性魔豆控制台
,然後在區域清單中選取您的. AWS 區域 -
在導覽窗格中,選擇環境,然後在清單中選擇您環境的名稱。
注意
如果您有許多環境,請使用搜尋列來篩選環境清單。
在導覽窗格中,選擇 Configuration (組態)。
-
在 Instances (執行個體) 組態類別中,選擇 Edit (編輯)。
-
在EC2安全群組下,除了 Elastic Beanstalk 建立的執行個體安全性群組之外,還選擇要連接至執行個體的安全性群組。
-
若要儲存變更,請選擇頁面底部的儲存變更。
-
閱讀警告的內容,然後選擇 Confirm (確認)。
-
若要使用組態檔案新增安全群組,請使用
securitygroup-addexisting.config
範例檔案。
-
接著,使用環境屬性,將連線資訊傳送至環境。當您使用 Elastic Beanstalk 主控台將資料庫執行個體新增至您的環境時,Elastic Beanstalk 會使用環境屬性 (例如 RDS_) 將連線資訊傳遞HOSTNAME至您的應用程式。您可使用相同屬性,讓您為整合式資料庫執行個體和外部資料庫執行個體使用相同的應用程式程式碼。或者,您也可以選擇自己的屬性名稱。
欲設定環境屬性
開啟彈性魔豆控制台
,然後在區域清單中選取您的. AWS 區域 -
在導覽窗格中,選擇環境,然後在清單中選擇您環境的名稱。
注意
如果您有許多環境,請使用搜尋列來篩選環境清單。
在導覽窗格中,選擇組態。
-
在更新、監控和日誌記錄組態類別中,選擇編輯。
-
在 Environment Properties (環境屬性) 區段,定義應用程式建立連線字串所讀取的變數。為了與具有整合式RDS執行個體的環境相容,請使用下列方法:
-
RDS_DB_ NAME — Amazon RDS 控制台中的數據庫名稱。
-
RDS_ USERNAME — 當您將資料庫新增至環境時所輸入的主要使用者名稱。
-
RDS_ PASSWORD — 當您將資料庫新增至環境時所輸入的主要密碼。
-
RDS_ HOSTNAME — Amazon RDS 主控台中資料庫執行個體的端點。
-
RDS_ PORT — Amazon RDS 控制台中的端口。
-
-
選擇套用
若您尚未將應用程式設計為讀取環境屬性並建構連線字串,請參閱下列語言特定的主題以取得說明:
-
Java SE – 連線至資料庫 (Java SE 平台)
-
Java 搭配 Tomcat – 連線至資料庫 (Tomcat 平台)
-
Node.js – 連線至資料庫
-
.NET – 連線至資料庫
-
PHP – 使用PDO或 M 連接到數據庫 ySQLi
-
Python – 連線至資料庫
-
Ruby – 連線至資料庫
最後,根據您應用程式讀取環境變數的時間,您可能需要重新啟動環境中執行個體上的應用程式伺服器。
重新啟動環境的應用程式伺服器
開啟彈性魔豆控制台
,然後在區域清單中選取您的. AWS 區域 -
在導覽窗格中,選擇環境,然後在清單中選擇您環境的名稱。
注意
如果您有許多環境,請使用搜尋列來篩選環境清單。
-
選擇 Actions (動作),然後選擇 Restart App Server(s) (重新啟動應用程式伺服器)。