本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
自訂堆疊以連線至 RDS 資料庫
重要
該 AWS OpsWorks Stacks 服務於 2024 年 5 月 26 日終止使用壽命,並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載移轉至其他解決方案。如果您對移轉有任何疑問,請透過 AWS Re: post
建立 RDS 執行個體做為 PHP 應用程式伺服器的後端資料庫之後,您可以 MyStack從中進行自訂Chef 11 Linux 堆疊入門。
將 PHP 應用程式伺服器連線至 RDS 資料庫
-
開啟「 AWS OpsWorks 堆疊」主控台,並建立一個包含一個執行個體的 PHP 應用程式伺服器層的堆疊,並部署 SimplePapp,如中所述。Chef 11 Linux 堆疊入門此堆疊使用 SimplePHPApp 的第 1 版,而此版本不使用資料庫連線。
-
更新堆疊組態以使用包括
appsetup.rb
配方的自訂技術指南,以及相關的範本和屬性檔案。-
將 Use custom Chef cookbooks (使用自訂 Chef 技術指南) 設為 Yes (是)。
-
將 Repository type (儲存庫類型) 設定為 Git,並將 Repository URL (儲存庫 URL) 設為
git://github.com/amazonwebservices/opsworks-example-cookbooks.git
。
-
-
將下列內容新增至堆疊的 Custom Chef JSON (自訂 Chef JSON) 方塊,以將 RDS 連線資料指派給
appsetup.rb
用來建立組態檔案的[:database]
屬性。{ "deploy": { "simplephpapp": { "database": { "username": "opsworksuser", "password": "
your_password
", "database": "rdsexampledb", "host": "rds_endpoint
", "adapter": "mysql" } } } }使用下列屬性值:
-
username:您在建立 RDS 執行個體時所指定的主要使用者名稱。
此範例使用
opsworksuser
。 -
password:您在建立 RDS 執行個體時所指定的主要密碼。
請填入您指定的密碼。
-
database:您在建立 RDS 執行個體時所建立的資料庫。
此範例使用
rdsexampledb
。 -
host:RDS 執行個體的端點,這是您在上節中建立執行個體時從 RDS 主控台取得。請不要包括連接埠號碼。
-
adapter:轉接器。
此範例的 RDS 執行個體使用 MySQL,因此 adapter 設定為
mysql
。與其他屬性不同,轉接器不會被使用appsetup.rb
。它是由 PHP 應用程序服務器層的內置配置配方來創建一個不同的配置文件。
-
-
編輯 SimplePHPApp 組態,以指定使用後端資料庫的 SimplePHPApp 版本,如下所示:
-
Document root (文件根):將此選項設為
web
。 -
Branch/Revision (分支/修訂):將此選項設為
version2
。
將其餘的選項保持不變。
-
-
編輯 PHP 應用程式伺服器層,藉由新增至圖層的部署配方
phpapp::appsetup
來設定資料庫連線。 -
部署 SimplePHPApp 時,前往 Instances (執行個體) 頁面並按一下 php-app1 執行個體的公有 IP 地址,來執行應用程式。您應該會在瀏覽器中看到下列頁面,以讓您輸入文字,並將其存放在資料庫中。
注意
如果你的堆棧有一個 MySQL 層, AWS OpsWorks 堆棧自動分配相應的連接數據的[:database]
屬性。不過,如果您將自訂 JSON 指派給定義不同 [:database]
值的堆疊,則它們會覆寫預設值。因為[:deploy]
屬性安裝在每個執行個體上,所以任何依賴這些[:database]
屬性的方法都會使用自訂連接資料,而不是. 如果您想要特定應用程式伺服器 layer 使用自訂連線資料,請將自訂 JSON 指派給 layer 的部署事件,並將該部署限制為該 layer。如需如何使用部署屬性的詳細資訊,請參閱部署應用程式。如需覆寫 AWS OpsWorks Stacks 內建屬性的詳細資訊,請參閱覆寫屬性。