Einrichten der Netzwerkvoraussetzungen für RDS-Proxy - Amazon Aurora

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-identifier my_cluster_id --query '*[].[DBClusterMembers]|[0]|[0][*].DBInstanceIdentifier' --output text
my_instance_id instance_id_2 instance_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-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

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).