在 AWS Outposts 上使用 Amazon RDS 的異地同步備份部署 - Amazon Relational Database Service

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

在 AWS Outposts 上使用 Amazon RDS 的異地同步備份部署

對於多可用區部署,Amazon RDS 會在某個 AWS Outpost 上建立主要資料庫執行個體。RDS 會將資料同步複寫到不同 Outpost 上的待命資料庫執行個體。

AWS Outposts 上的異地同步備份部署與 AWS 區域 中異地同步備份部署的作業類似,但有下列不同處:

AWS Outposts 上的多可用區域適用於 Outpost 上 RDS 上的所有受支援的 MySQL 和 PostgreSQL 版本。異地同步備份部署不支援本機備份。如需更多詳細資訊,請參閱 建立 AWS Outposts 上的 Amazon RDS 的資料庫執行個體

使用共同的責任模型

儘管 AWS 使用商業上合理的努力來提供設定為高可用性的資料庫執行個體,但可用性會使用共同的責任模型。Outpost 上的 RDS 進行容錯移轉和修復資料庫執行個體的能力需要您每個 Outpost 皆連接至其 AWS 區域。

Outpost 上的 RDS 還需要在託管主資料庫執行個體的 Outpost 和託管備用資料庫執行個體的 Outpost 之間建立連線以進行同步複製。對此連線的任何影響皆可阻止在 Outpost 上 RDS 執行容錯移轉。

由於同步資料複寫,您可能會看到標準資料庫執行個體部署的延遲增加狀況。託管主資料庫執行個體的 Outpost 與託管備用資料庫執行個體的 Outpost 之間的連線頻寬和延遲會直接影響延遲。如需更多詳細資訊,請參閱 先決條件

提高可用性

我們建議採取下列措施來提高可用性:

  • 為您的任務關鍵型應用程式分配足夠的額外容量,以便在存在潛在主機問題時進行恢復和容錯移轉。此適用於資料庫子網路群組中包含子網路的所有 Outpost。如需詳細資訊,請參閱 AWS Outposts 中的恢復能力

  • 為您的 Outposts 提供備援網路連線。

  • 使用兩個以上的 Outpost。擁有兩個以上的 Outposts 允許 Amazon RDS 復原資料庫執行個體。如果目前 Outpost 遇到失敗時,RDS 會將資料庫執行個體移動至另一個 Outpost 來執行此復原。

  • 為您的 Outpost 提供雙電源和冗餘網路連線。

我們建議您的本機網路如下:

  • 託管主資料庫執行個體的 Outpost 與託管備用資料庫執行個體的 Outpost 之間的往返時間 (RTT) 延遲直接影響寫入延遲。將 AWS Outposts 之間的 RTT 延遲保持在低個位數毫秒內。我們建議不超過 5 毫秒,但您的要求可能會有所不同。

    您可在 WriteLatency 的 Amazon CloudWatch 指標中找到對網路延遲的淨影響。如需更多詳細資訊,請參閱 Amazon RDS 的 Amazon CloudWatch 指標

  • Outpost 之間連線的可用性會影響資料庫執行個體的整體可用性。在 Outpost 之間有冗餘的網路連線。

先決條件

Outpost 上 RDS 上的異地同步備份部署具有下列先決條件:

  • 至少有兩個 Outpost,透過本機連線連接並附加至 AWS 區域 中的不同可用區域。

  • 請確定您的資料庫子網路群組包含下列資料:

    • 指定的 AWS 區域 中至少兩個可用區域中有至少兩個子網路。

    • 僅在 Outpost 中的子網路。

    • 相同 virtual private cloud (VPC) 中至少兩個 Outpost 中至少有兩個子網路。

  • 將您資料庫執行個體的 VPC 與您所有本機閘道路由表產生關聯。此關聯是必要的,因為複寫會使用 Outpost 的本機閘道在您的本機網路上執行。

    例如,假設您的 VPC 在 Outpost-A 中包含 subnet-A,在 Outpost-B 中包含 subnet-B。Outpost-A 會使用 LocalGateway-A (LGW-A),而 Outpost-B 會使用 LocalGateway-B (LGW-B)。LGW-A 具有 RouteTable-A,而 LGW-B 具有 RouteTable-B。您想對複寫流量使用 RouteTable-A 和 RouteTable-B。如要執行此作業,請將您的 VPC 與 RouteTable-A 和 RouteTable-B 產生關聯。

    如需如何建立關聯的詳細資訊,請參閱 Amazon EC2 create-local-gateway-route-table-vpc-association AWS CLI 命令。

  • 確保您的 Outpost 使用客戶擁有的 IP (CoIP) 路由。每個路由表還必須至少有一個地址集區。Amazon RDS 為主資料庫執行個體和備用資料庫執行個體分配一個額外的 IP 地址,以進行資料同步。

  • 確保擁有 RDS 資料庫執行個體的 AWS 帳戶 擁有本機閘道路由表和 CoIP 集區。或確保它屬於 Resource Access Manager 共用的一部分,可存取本機閘道路由表和 CoIP 集區。

  • 確保 CoIP 集區中的 IP 地址可從一個 Outpost 本機閘道路由至其他 Outpost。

  • 請確保 VPC 的 CIDR 區塊 (例如 10.0.0.0/4) 和 COIP 集區 CIDR 區塊不包含來自 E 類別 (240.0.0.0/4) 的 IP 地址。RDS 在內部使用這些 IP 地址。

  • 請確保正確設定傳出和相關傳入流量。

    Outpost 上的 RDS 建立主資料庫執行個體和備用資料庫執行個體之間的虛擬私有網路 (VPN) 連線。若要使其正常運作,您的本機網路必須允許網際網路安全關聯和金鑰管理通訊協定 (ISAKMP) 的傳出和相關傳入流量。其使用使用者資料包通訊協定 (UDP) 連接埠 500 和 IP 安全 (IPsec) 網路位址轉譯周遊 (NAT-T) 使用 UDP 連接埠 4500 來執行此作業。

如需 CoIP 的更多詳細資訊,請參閱此指南中的 適用於 AWS Outposts 上 Amazon RDS 之客戶擁有的 IP 地址《AWS Outposts 使用者指南》中的客戶擁有的 IP 地址

針對 Amazon EC2 許可權限使用 API 作業

無論您是否在 AWS Outposts 上使用資料庫執行個體的 CoIP,RDS 需要存取您的 CoIP 集區資源。RDS 可代表您為異地同步備份部署呼叫 CoIP 下列 EC2 許可權限 API 作業:

  • CreateCoipPoolPermission – 在 Outpost 上 RDS 上建立多可用區域資料庫執行個體時

  • DeleteCoipPoolPermission – 在 Outpost 上 RDS 上刪除多可用區域資料庫執行個體時

這些 API 作業可對內部 RDS 帳戶授予或從中移除許可權限,以從該許可權限指定的 CoIP 集區分配彈性 IP 地址。您可使用 DescribeCoipPoolUsage API 作業檢視這些 IP 地址。如需 CoIP 的更多詳細資訊,請參閱《AWS Outposts 使用者指南》中的 適用於 AWS Outposts 上 Amazon RDS 之客戶擁有的 IP 地址客戶擁有的 IP 地址

RDS 還可代表您為異地同步備份部署呼叫本機閘道路由表的下列 EC2 許可 API 作業:

  • CreateLocalGatewayRouteTablePermission – 在 Outpost 上 RDS 上建立多可用區域資料庫執行個體時

  • DeleteLocalGatewayRouteTablePermission – 在 Outpost 上 RDS 上刪除多可用區域資料庫執行個體時

這些 API 作業可對內部 RDS 帳戶授予或從中移除許可權限,以使內部 RDS VPC 與本機閘道路由表產生關聯。您可使用 DescribeLocalGatewayRouteTableVpcAssociations API 作業來檢視這些路由表-VPC 關聯。