本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定 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使用的子網路。若要這樣做,請在資料庫執行個體描述輸出中檢查 DBSubnetGroup
和 Subnets
屬性內的巢狀欄位。您可以在為該資料庫伺服器設定 Proxy IDs 時,指定部分或全部這些子網路。
$
# Find the ID of any DB instance in the cluster.$
aws rds describe-db-clusters --db-cluster-identifiermy_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-identifiermy_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-identifiermy_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 個用於額外的自訂端點)。