設定 RDS Proxy 的網路先決條件 - Amazon Aurora

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

設定 RDS Proxy 的網路先決條件

使用 RDS Proxy 時,您的資料庫執行個叢集和 RDS Proxy 之間必須有一個通用的虛擬私有雲 (VPC)。這VPC應該至少有兩個位於不同可用區域的子網路。您的帳戶可以擁有這些子網路,或與其他帳戶共用。如需VPC共用的相關資訊,請參閱使用共用VPCs

您的用戶端應用程式資源 (例如 Amazon EC2、Lambda 或 Amazon) ECS 可以與代理伺服器位於VPC相同。或者他們可以在一個VPC單獨的代理。如果您成功連線到任何資 Aurora 資料庫叢集,表示您已擁有所需的網路資源。

取得子網路的相關資訊

如果您剛開始使用 Aurora,可以按照設定您的 Amazon Aurora 環境. 您也可以按照 Amazon Aurora 入門 中的教學課程進行操作。

若要建立代理伺服器,您必須提供子網路以及代理伺服器在VPC其中運作的子網路。下列 Linux 範例顯示的 AWS CLI 命令會VPCs檢查您所擁有的 AWS 帳戶. 特別是,當您使用建立 Proxy 時,可以將子網路當IDs做參數傳遞CLI。

aws ec2 describe-vpcs aws ec2 describe-internet-gateways aws ec2 describe-subnets --query '*[].[VpcId,SubnetId]' --output text | sort

以下 Linux 範例顯示用於判斷與特定叢集IDs對應之子網路的 AWS CLI 命令。

對於 Aurora 叢集,首先您會找到其中一個相關資料庫執行個體的 ID。您可以擷取該資料庫執行個體IDs使用的子網路。若要這樣做,請在資料庫執行個體描述輸出中檢查 DBSubnetGroupSubnets 屬性內的巢狀欄位。您可以在為該資料庫伺服器設定 Proxy IDs 時,指定部分或全部這些子網路。

$ # Find the ID of any DB instance in the cluster. $ aws rds describe-db-clusters --db-cluster-identifier my_cluster_id --query '*[].[DBClusterMembers]|[0]|[0][*].DBInstanceIdentifier' --output text
my_instance_id instance_id_2 instance_id_3

找到資料庫執行個體識別碼後,請檢查相關聯的,VPC以尋找其子網路。下面的 Linux 範例會顯示作法。

$ #From the DB instance, trace through the DBSubnetGroup and Subnets to find the subnet IDs. $ aws rds describe-db-instances --db-instance-identifier my_instance_id --query '*[].[DBSubnetGroup]|[0]|[0]|[Subnets]|[0]|[*].SubnetIdentifier' --output text
subnet_id_1 subnet_id_2 subnet_id_3 ...
$ #From the DB instance, find the VPC. $ aws rds describe-db-instances --db-instance-identifier my_instance_id --query '*[].[DBSubnetGroup]|[0]|[0].VpcId' --output text
my_vpc_id
$ aws ec2 describe-subnets --filters Name=vpc-id,Values=my_vpc_id --query '*[].[SubnetId]' --output text
subnet_id_1 subnet_id_2 subnet_id_3 subnet_id_4 subnet_id_5 subnet_id_6

規劃 IP 地址容量

RDSProxy 會根據註冊的資料庫執行個體大小和數量,視需要自動調整容量。某些作業可能還需要額外的 Proxy 容量,例如增加已註冊資料庫的大小或內部 RDS Proxy 維護作業。在這些操作期間,您的代理可能需要更多的 IP 地址來佈建額外的容量。這些額外的位址可讓您的代理擴展,而不會影響您的工作負載。子網路中若少了可用的 IP 地址會阻止代理縱向擴展。這可能會導致更高的查詢延遲或用戶端連線失敗。RDSRDS-EVENT-0243當子網路中沒有足夠的可用 IP 位址時,透過事件通知您。如需此金鑰的相關資訊,請參閱 使用 RDS Proxy 事件

以下是根據資料庫執行個體類別大小,建議在子網路中為 Proxy 保留免費的 IP 位址下限。

DB instance class (資料庫執行個體類別) 可用 IP 地址數目下限

db.*.xlarge 或更小

10

db.*.24xlarge

15

db.*.24xlarge

25

db.*.24xlarge

45

db.*.24xlarge

60

db.*.24xlarge

75

db.*.24xlarge

110

這些建議的 IP 位址數目是僅具有預設端點的 Proxy 預估值。具有其他端點或僅供讀取複本的代理可能需要更多可用的 IP 地址。對於每個額外的端點,建議您多保留三個 IP 地址。對於每個僅供讀取複本,建議您根據該僅供讀取複本的大小,保留資料表中指定的額外 IP 地址。

注意

RDS代理伺服器不支援超過 215 個 IP 位址VPC。

例如,假設您想要預估與 Aurora 資料庫叢集相關聯之代理所需的 IP 地址數目。

在此情況下,請採取下列操作:

  • 您的 Aurora 資料庫叢集有 1 個大小為 db.r5.8xlarge 的寫入器執行個體,以及 1 個大小為 db.r5.2xlarge 的讀取器執行個體。

  • 附加到此資料庫叢集的代理具有預設端點和 1 個具有唯讀角色的自訂端點。

在此情況下,代理大約需要 63 個可用 IP 地址 (45 個用於寫入器執行個體,15 個用於讀取器執行個體,3 個用於額外的自訂端點)。