自訂堆疊以連線至 RDS 資料庫 - AWS OpsWorks

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

自訂堆疊以連線至 RDS 資料庫

重要

該 AWS OpsWorks Stacks 服務於 2024 年 5 月 26 日終止使用壽命,並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載移轉至其他解決方案。如果您對移轉有任何疑問,請透過 AWS Re: post 或透過進AWS 階 Support 與 AWS Support 團隊聯絡。

建立 RDS 執行個體做為 PHP 應用程式伺服器的後端資料庫之後,您可以 MyStack從中進行自訂Chef 11 Linux 堆疊入門

將 PHP 應用程式伺服器連線至 RDS 資料庫
  1. 開啟「 AWS OpsWorks 堆疊」主控台,並建立一個包含一個執行個體的 PHP 應用程式伺服器層的堆疊,並部署 SimplePapp,如中所述。Chef 11 Linux 堆疊入門此堆疊使用 SimplePHPApp 的第 1 版,而此版本不使用資料庫連線。

  2. 更新堆疊組態以使用包括 appsetup.rb 配方的自訂技術指南,以及相關的範本和屬性檔案。

    1. Use custom Chef cookbooks (使用自訂 Chef 技術指南) 設為 Yes (是)

    2. Repository type (儲存庫類型) 設定為 Git,並將 Repository URL (儲存庫 URL) 設為 git://github.com/amazonwebservices/opsworks-example-cookbooks.git

  3. 將下列內容新增至堆疊的 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 應用程序服務器層的內置配置配方來創建一個不同的配置文件。

  4. 編輯 SimplePHPApp 組態,以指定使用後端資料庫的 SimplePHPApp 版本,如下所示:

    • Document root (文件根):將此選項設為 web

    • Branch/Revision (分支/修訂):將此選項設為 version2

    將其餘的選項保持不變。

  5. 編輯 PHP 應用程式伺服器層,藉由新增至圖層的部署配方phpapp::appsetup來設定資料庫連線。

  6. 部署新 SimplePHPApp 版本

  7. 部署 SimplePHPApp 時,前往 Instances (執行個體) 頁面並按一下 php-app1 執行個體的公有 IP 地址,來執行應用程式。您應該會在瀏覽器中看到下列頁面,以讓您輸入文字,並將其存放在資料庫中。

注意

如果你的堆棧有一個 MySQL 層, AWS OpsWorks 堆棧自動分配相應的連接數據的[:database]屬性。不過,如果您將自訂 JSON 指派給定義不同 [:database] 值的堆疊,則它們會覆寫預設值。因為[:deploy]屬性安裝在每個執行個體上,所以任何依賴這些[:database]屬性的方法都會使用自訂連接資料,而不是. 如果您想要特定應用程式伺服器 layer 使用自訂連線資料,請將自訂 JSON 指派給 layer 的部署事件,並將該部署限制為該 layer。如需如何使用部署屬性的詳細資訊,請參閱部署應用程式。如需覆寫 AWS OpsWorks Stacks 內建屬性的詳細資訊,請參閱覆寫屬性