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