設定網路先決條件 - Amazon Aurora

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

設定網路先決條件

使用 RDS 代理時,您必須在 RDS 資料庫執行個 代理之間擁有一個通用的虛擬私有雲端 (VPC)。此 VPC 應至少有兩個位於不同可用區域的子網路。您的帳戶可以擁有這些子網路,或與其他帳戶共用。如需 VPC 共用的詳細資訊,請參閱使用共用 VPC

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

取得子網路的相關資訊

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

若要建立 Proxy,您必須提供代理伺服器在其中運作的子網路和 VPC。下列 Linux 範例顯示用於檢查您擁有的 VPC 和子網路的 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 範例顯示用於判斷與特定 叢集對應之子網路 ID 的 AWS CLI 命令。

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

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

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

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

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

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