Einrichten der Netzwerkvoraussetzungen für RDS-Proxy
Die Verwendung von RDS-Proxy erfordert eine gemeinsame Virtual Private Cloud (VPC) zwischen Ihrem Aurora-DB-Cluster und RDS-Proxy. Diese VPC sollte über mindestens zwei Subnetze verfügen, die sich in verschiedenen Availability Zones befinden. Ihr Konto kann entweder der Eigentümer dieser Subnetze sein oder sie mit anderen Konten teilen. Weitere Informationen zur VPC-Freigabe finden Sie unter Arbeiten mit freigegebenen VPCs.
Für die IPv6-Unterstützung ist eine zusätzliche Netzwerkkonfiguration erforderlich:
-
IPv6-Endpunkt-Netzwerktypen – Ihre VPC und Subnetze müssen so konfiguriert sein, dass sie IPv6 unterstützen. Dies umfasst die Zuweisung von IPv6-CIDR-Blöcken zu Ihrer VPC und Ihren Subnetzen.
-
Dual-Stack-Endpunkt-Netzwerktypen – Ihre VPC und Subnetze müssen sowohl IPv4- als auch IPv6-Adressierung unterstützen.
-
IPv6-Zielverbindungsnetzwerktypen – Ihre Datenbank muss für den Dual-Stack-Modus konfiguriert sein, um IPv6-Verbindungen über den Proxy zu unterstützen.
Ihre Client-Anwendungsressourcen wie Amazon EC2, Lambda oder Amazon ECS können sich in derselben VPC wie der Proxy befinden. Sie können sich auch in einer vom Proxy getrennten VPC befinden. Wenn Sie eine Verbindung mit Aurora-DB-Clustern hergestellt haben, verfügen Sie bereits über die erforderlichen Netzwerkressourcen.
Abrufen von Informationen zu Ihren Subnetzen
Wenn Sie Aurora zum ersten Mal verwenden, können Sie sich mit den Grundlagen der Herstellung einer Verbindung mit einer Datenbank vertraut machen, indem Sie die in Einrichten Ihrer Umgebung für Amazon Aurora beschriebenen Verfahren befolgen. Sie können auch dem Tutorial in Erste Schritte mit Amazon Aurora folgen.
Um einen Proxy zu erstellen, müssen Sie die Subnetze und die VPC angeben, in denen der Proxy arbeitet. Das folgende Linux-Beispiel zeigt AWS CLI-Befehle, die die VPCs und Subnetze Ihres AWS-Konto untersuchen. Insbesondere übergeben Sie Subnetz-IDs als Parameter, wenn Sie ein Proxy mit der CLI erstellen.
aws ec2 describe-vpcs aws ec2 describe-internet-gateways aws ec2 describe-subnets --query '*[].[VpcId,SubnetId]' --output text | sort
Das folgende Linux-Beispiel zeigt AWS CLI-Befehle zur Bestimmung der Subnetz-IDs, die einer spezifischen einem spezifischen Aurora-DB-Cluster entsprechen.
Bei einem Aurora-Cluster finden Sie zuerst die ID für eine der zugehörigen DB-Instances. Sie können die von dieser DB-Instance verwendeten Subnetz-IDs extrahieren. Untersuchen Sie dazu die verschachtelten Felder innerhalb der Attribute DBSubnetGroup und Subnets in der Describe-Ausgabe für die DB-Instance. Sie geben einige oder alle dieser Subnetz-IDs an, wenn Sie einen Proxy für diesen Datenbankserver einrichten.
$# 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_idinstance_id_2instance_id_3
Nachdem Sie die ID der DB-Instance gefunden haben, untersuchen Sie die zugehörige VPC, um ihre Subnetze zu finden. Das folgende Linux-Beispiel zeigt wie es geht.
$#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_1subnet_id_2subnet_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_1subnet_id_2subnet_id_3subnet_id_4subnet_id_5subnet_id_6
Planen der Kapazität von IP-Adressen
Ein RDS-Proxy passt seine Kapazität basierend auf der Größe und Anzahl der bei ihm registrierten DB-Instances automatisch nach Bedarf an. Bestimmte Vorgänge erfordern möglicherweise auch zusätzliche Proxy-Kapazität, z. B. die Vergrößerung einer registrierten Datenbank oder interne RDS-Proxy-Wartungsvorgänge. Bei diesen Vorgängen benötigt Ihr Proxy möglicherweise mehr IP-Adressen, um die zusätzliche Kapazität bereitzustellen. Mit diesen zusätzlichen Adressen kann Ihr Proxy skaliert werden, ohne Ihre Workload zu beeinträchtigen. Ein Mangel an freien IP-Adressen in Ihren Subnetzen verhindert, dass ein Proxy hochskaliert wird. Dies kann zu höheren Abfragelatenzen oder Verbindungsfehlern bei Clients führen. RDS benachrichtigt Sie durch das Ereignis RDS-EVENT-0243, wenn in Ihren Subnetzen nicht genügend freie IP-Adressen vorhanden sind. Weitere Informationen zu diesem Ereignis finden Sie unter Arbeiten mit RDS-Proxy-Ereignissen.
Reservieren Sie die empfohlene Mindestanzahl von IP-Adressen in Ihren Subnetzen für Ihren Proxy basierend auf den Klassengrößen der DB-Instance.
| DB-Instance-Klasse (DB instance class) | Mindestanzahl freier IP-Adressen |
|---|---|
|
db.*.xlarge oder kleiner |
10 |
|
db.*.2xlarge |
15 |
|
db.*.4xlarge |
25 |
|
db.*.8xlarge |
45 |
|
qdb.*.12xlarge |
60 |
|
db.*.16xlarge |
75 |
|
db.*.24xlarge |
110 |
Bei der empfohlenen Anzahl von IP-Adressen handelt es sich um eine Schätzung für einen Proxy, der nur über einen Standardendpunkt verfügt. Ein Proxy mit zusätzlichen Endpunkten oder Read Replicas benötigt möglicherweise mehr freie IP-Adressen. Wir empfehlen, für jeden weiteren Endpunkt drei weitere IP-Adressen zu reservieren. Es wird empfohlen, für jede Read Replica zusätzliche IP-Adressen zu reservieren, wie in der Tabelle angegeben, basierend auf der Größe der Read Replica.
Anmerkung
RDS-Proxy verwendet nicht mehr als 215 IP-Adressen in einer VPC.
Angenommen, Sie möchten die erforderlichen IP-Adressen für einen Proxy schätzen, der einem Aurora-DB-Cluster zugeordnet ist.
Gehen Sie in diesem Fall von folgenden Annahmen aus:
Ihr Aurora DB-Cluster verfügt über 1 Writer-Instance der Größe db.r5.8xlarge und 1 Reader-Instance der Größe db.r5.2xlarge.
Der Proxy, der mit diesem DB-Cluster verbunden ist, verfügt über den Standardendpunkt und 1 benutzerdefinierten Endpunkt mit der schreibgeschützten Rolle.
In diesem Fall benötigt der Proxy ungefähr 63 freie IP-Adressen (45 für die Writer-Instance, 15 für die Reader-Instance und 3 für den zusätzlichen benutzerdefinierten Endpunkt).