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

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

設定 RDS Proxy 的網路先決條件

使用 RDS Proxy 需要在 Aurora 資料庫叢集和 RDS Proxy 之間擁有常見的虛擬私有雲端 (VPC)。此 VPC 應至少有兩個位於不同可用區域的子網路。您的帳戶可以擁有這些子網路,或與其他帳戶共用。如需 VPC 共用的詳細資訊,請參閱使用共用 VPC

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

取得子網路的相關資訊

如果您才剛開始使用 Aurora,您可以遵循 中的程序來了解連線到資料庫的基本知識設定您的 Amazon Aurora 環境。您也可以按照 Amazon Aurora 入門 中的教學課程進行操作。

若要建立代理,您必須提供子網路和代理操作所在的 VPC。下列 Linux 範例顯示檢查 所擁有 VPCs和子網路的 AWS CLI 命令 AWS 帳戶。特別是,當您使用 CLI 建立代理時,您會傳遞子網路 ID 做為參數。

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

下列 Linux 範例顯示 AWS CLI 命令,以判斷對應至特定 Aurora 資料庫叢集IDs。

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

$ # 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 地址容量

RDS Proxy 會根據註冊的資料庫執行個體大小和數目,視需要自動調整其容量。某些操作可能還需要額外的代理容量,例如增加已註冊資料庫的大小或內部 RDS Proxy 維護操作。在這些操作期間,您的代理可能需要更多的 IP 地址來佈建額外的容量。這些額外的位址可讓您的代理擴展,而不會影響您的工作負載。子網路中若少了可用的 IP 地址會阻止代理縱向擴展。這可能會導致更高的查詢延遲或用戶端連線失敗。當您的子網路中沒有足夠的可用 IP 地址時,RDS 會透過事件 RDS-EVENT-0243 通知您。如需此金鑰的相關資訊,請參閱 使用 RDS 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 地址數量是僅具有預設端點之代理的估計值。具有其他端點或僅供讀取複本的代理可能需要更多可用的 IP 地址。對於每個額外的端點,建議您多保留三個 IP 地址。對於每個僅供讀取複本,建議您根據該僅供讀取複本的大小,保留資料表中指定的額外 IP 地址。

注意

RDS Proxy 在 VPC 中不會耗用超過 215 個 IP 地址。

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

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

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

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

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