本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 上使用 Amazon RDS 的異地同步備份部署 AWS Outposts
對於異地同步備份部署,Amazon RDS 會在一個 AWS Outpost 上建立主要資料庫執行個體。RDS 會將資料同步複寫到不同 Outpost 上的待命資料庫執行個體。
上的異地同步備份部署 AWS Outposts 的運作方式與 中的異地同步備份部署類似 AWS 區域,但有下列差異:
-
其需要在兩個或多個 Outpost 之間建立本機連線。
-
其需要客戶擁有的 IP (CoIP) 集區。如需詳細資訊,請參閱適用於 AWS Outposts 上 Amazon RDS 之客戶擁有的 IP 地址。
-
在您的本機網路上執行複寫。
上的異地同步備份 AWS Outposts 適用於所有支援版本的 MySQL 和 RDS on Outposts 上的 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 Outpost 之間的 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 地址,以進行資料同步。
-
確定 AWS 帳戶 擁有 RDS 資料庫執行個體的 擁有本機閘道路由表和 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 作業
無論您是否在 上使用資料庫執行個體CoIPs AWS Outposts,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 關聯。