亞馬遜 RDS 服務層 - AWS OpsWorks

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

亞馬遜 RDS 服務層

重要

AWS OpsWorks Stacks不再接受新客戶。現有客戶可以正常使用 OpsWorks 主控台、API、CLI 和 CloudFormation 資源,直到 2024 年 5 月 26 日為止,屆時他們將停止使用。為了為此轉換做好準備,我們建議您AWS Systems Manager盡快將堆疊轉換為。如需詳細資訊,請參閱 AWS OpsWorks Stacks壽命終止常見問題將應用程式移轉至AWS OpsWorks Stacks應用AWS Systems Manager程式管

亞馬遜 RDS 服務層代表一個亞馬遜 RDS 實例。該層只能代表現有的 Amazon RDS 執行個體,您必須使用 Amazon RDS 主控台或 API 個別建立這些執行個體。

將 Amazon RDS 服務層合併到堆疊中的基本程序如下:

  1. 使用 Amazon RDS 主控台、API 或 CLI 建立執行個體。

    請務必記錄執行個體的 ID、主要使用者名稱、主要密碼和資料庫名稱。

  2. 若要將 Amazon RDS 層新增至您的堆疊,請在堆疊中註冊 Amazon RDS 執行個體。

  3. 將圖層附加到應用程式,該應用程式會將 Amazon RDS 執行個體的連線資訊新增至應用程式的deploy屬性

  4. 使用特定語言的檔案或deploy屬性中的資訊,將應用程式連接到 Amazon RDS 執行個體。

    如需如何將應用程式連線至資料庫伺服器的詳細資訊,請參閱將應用程式連線至資料庫伺服器

警告

請確定執行個體之主要密碼和使用者名稱中的字元與您的應用程式伺服器相容。例如,對於 Java 應用程式伺服器層 (包括&在任一字串中),都會導致 XML 剖析錯誤,導致 Tomcat 伺服器無法啟動。

指定安全群組

若要將 Amazon RDS 執行個體與AWS OpsWorks堆疊搭配使用,資料庫或 VPC 安全群組必須允許從適當的 IP 地址進行存取。針對生產用途,安全群組通常會限制僅存取這些需要存取資料庫的 IP 地址。它通常包括用來管理資料庫的系統位址,以及需要存取資料庫的 AWS OpsWorks Stacks 執行個體。 AWS OpsWorks當您在區域中建立第一個堆疊時,Stacks 會自動為每種類型的層建立 Amazon EC2 安全群組。為 AWS OpsWorks Stacks 執行個體提供存取權的一種簡單方法是將適當的 AWS OpsWorks Stack 安全群組指派給 Amazon RDS 執行個體或 VPC。

若要為現有的 Amazon RDS 執行個體指定安全群組
  1. 前往 https://console.aws.amazon.com/rds/,開啟 Amazon RDS 主控台。

  2. 按一下導覽窗格中的執行個體,然後選取適當的 Amazon RDS 執行個體。按一下 Instance Actions (執行個體動作)Modify (修改)

  3. Security Group (安全群組) 清單中選取下列安全群組,然後按一下 Continue (繼續)Modify DB Instance (修改資料庫執行個體) 更新執行個體。

    • AWS OpsWorks-DB 主伺服器 (安全性群組) 安全群組。

    • 其執行個體將連線至資料庫之應用程式伺服器 layer 的安全群組。群組名稱包括 layer 名稱。例如,若要提供 PHP 應用程式伺服器執行個體的資料庫存取權,請指定 AWS OpsWorks-PHP 應用程式伺服器群組。

如果您要建立新的 Amazon RDS 執行個體,可以在啟動資料庫執行個體精靈的 [設定進階設定] 頁面上指定適當的 AWS OpsWorks Stack 安全群組。如需如何使用此精靈的描述,請參閱建立 MySQL 資料庫執行個體和連線至 MySQL 資料庫執行個體上的資料庫

如需如何指定 VPC 安全群組的資訊,請參閱 VPC 的安全群組

使用堆疊註冊亞馬遜 RDS 執行個體

若要在堆疊中新增 Amazon RDS 服務層,您必須在堆疊中註冊執行個體。

若要在堆疊中註冊 Amazon RDS 執行個體
  1. 在 AWS OpsWorks Stacks 主控台中,按一下導覽窗格中的 Layer,並按一下 + LayerAdd a layer (新增 layer) 開啟 Add Layer (新增 Layer) 頁面,然後按一下 RDS 標籤。

  2. 如有必要,請更新堆疊的服務角色,如更新堆疊的服務角色中所述。

  3. 按一下 RDS 索引標籤以列出可用的 Amazon RDS 執行個體。

    注意

    如果您的帳戶沒有任何 Amazon RDS 執行個體,您可以按一下 RDS 索引標籤上的新增 RDS 執行個體來建立一個執行個體,然後將您帶到 Amazon RDS 主控台並啟動「啟動資料庫執行個體」精靈。您也可以直接前往 Amazon RDS 主控台,然後按一下啟動資料庫執行個體,或使用 Amazon RDS API 或 CLI。如需如何建立 Amazon RDS 執行個體的詳細資訊,請參閱開始使用 Amazon RDS

  4. 選取適當的執行個體,並將 User (使用者)Password (密碼) 設定為適當的使用者和密碼值,然後按一下 Register to Stack (向堆疊註冊)

    重要

    您必須確保用於註冊 Amazon RDS 執行個體的使用者和密碼對應於有效的使用者和密碼。否則,您的應用程式將無法連線至執行個體。不過,您可以編輯 layer 以提供有效的使用者和密碼值,然後重新部署應用程式。

當您將 Amazon RDS 服務層新增至堆疊時,AWS OpsWorksStack 會為其指派一個 ID,並將相關聯的 Amazon RDS 組態新增至堆疊組態和部署屬性的[:opsworks][:stack]屬性。

注意

如果您變更已註冊的 Amazon RDS 執行個體密碼,則必須在 AWS OpsWorks Stacks 中手動更新密碼,然後重新部署應用程式,以更新堆疊執行個體上的堆疊組態和部署屬性。

更新堆疊的服務角色

每個堆疊都有 IAM 服務角色,指定 AWS OpsWorks Stack 可以代表您與其他 AWS 服務執行的動作。若要在堆AWS OpsWorks疊中註冊 Amazon RDS 執行個體,其服務角色必須授與堆疊存取 Amazon RDS 的權限。

第一次將 Amazon RDS 服務層新增至其中一個堆疊時,服務角色可能缺少必要的許可。若是如此,當您按一下 Add Layer (新增 Layer) 頁面上的 RDS 標籤時,將會看到下列內容。

按一下 Update (更新),讓 AWS OpsWorks Stacks 將服務角色的政策更新為下列內容。

{"Statement": [{"Action": ["ec2:*", "iam:PassRole", "cloudwatch:GetMetricStatistics", "elasticloadbalancing:*", "rds:*"], "Effect": "Allow", "Resource": ["*"] }] }
注意

您只需要執行更新一次。所有堆疊接著會自動使用更新過的角色。

將 Amazon RDS 服務層與應用程式建立關聯

新增 Amazon RDS 服務層之後,您可以將其與應用程式建立關聯。

  • 您可以在建立應用程式時將 Amazon RDS 層與應用程式相關聯,或稍後透過編輯應用程式的組態來建立關聯。

  • 若要取消 Amazon RDS 層與應用程式的關聯,請編輯應用程式的組態以指定其他資料庫伺服器,或不指定伺服器。

    Amazon RDS 層仍然是堆疊的一部分,並且可以與不同的應用程式建立關聯。

將 Amazon RDS 執行個體與應用程式建立關聯後,AWS OpsWorksStacks 會將資料庫連線資訊放在應用程式的伺服器上。每個伺服器執行個體上的應用程式接著都可以使用此資訊連線至資料庫。如需如何連接到 Amazon RDS 執行個體的詳細資訊,請參閱將應用程式連線至資料庫伺服器

從堆棧中刪除亞馬遜 RDS 服務層

若要從堆疊中移除 Amazon RDS 服務層,請將其取消註冊。

取消註冊亞馬遜 RDS 服務層
  1. 按一下導覽窗格中的層,然後按一下 Amazon RDS 服務層的名稱。

  2. 按一下 Deregister (取消註冊),並確認您想要將 layer 取消註冊。

此程序會從堆疊中移除層,但不會刪除基礎 Amazon RDS 執行個體。執行個體和任何資料庫都會保留在您的帳戶中,而且可以向其他堆疊註冊。您必須使用 Amazon RDS 主控台、API 或 CLI 來刪除執行個體。如需詳細資訊,請參閱刪除資料庫執行個體