Configurar os pré-requisitos de rede para o RDS Proxy - Amazon Aurora

Configurar os pré-requisitos de rede para o RDS Proxy

O uso do RDS Proxy requer que você tenha uma nuvem privada virtual (VPC) comum entre o cluster de banco de dados do Aurora e o RDS Proxy. Essa VPC deve ter um mínimo de duas sub-redes em zonas de disponibilidade diferentes. Sua conta pode possuir essas sub-redes ou compartilhá-las com outras contas. Para obter informações sobre compartilhamento de VPC, consulte Trabalhar com VPCs compartilhadas.

Para suporte a IPv6, é necessária uma configuração de rede adicional:

  • Tipos de rede de endpoint IPv6: sua VPC e sub-redes devem estar configuradas para comportar IPv6. Isso inclui ter blocos CIDR IPv6 atribuídos à VPC e às sub-redes.

  • Tipos de rede de endpoint de pilha dupla: sua VPC e sub-redes devem comportar endereçamento IPv4 e IPv6.

  • Tipos de rede de conexão de destino IPv6: seu banco de dados deve estar configurado para o modo de pilha dupla a fim de comportar conexões IPv6 do proxy.

Seus recursos de aplicações cliente, como Amazon EC2, Lambda ou Amazon ECS, podem estar na mesma VPC que o proxy. Ou podem estar em uma VPC separada do proxy. Se você se conectou com êxito a quaisquer clusters de banco de dados do Aurora, você já terá os recursos de rede necessários.

Obter informações sobre suas sub-redes

Se você está apenas começando a usar o Aurora, aprenda o básico sobre a conexão com um banco de dados seguindo os procedimentos em Configuração de seu ambiente para Amazon Aurora. Você também pode seguir o tutorial em Conceitos básicos do Amazon Aurora.

Para criar um proxy, é necessário fornecer as sub-redes e a VPC em que o proxy opera. O exemplo do Linux a seguir mostra comandos da AWS CLI que examinam as VPCs e as sub-redes pertencentes à sua Conta da AWS. Em particular, você passa IDs de sub-rede como parâmetros quando cria um proxy usando o CLI.

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

O exemplo do Linux a seguir mostra comandos da AWS CLI para determinar os IDs de sub-rede correspondentes a um cluster de banco de dados específico do Aurora.

Para um cluster do Aurora, primeiro você encontra o ID de uma das instâncias de banco de dados associadas. Você pode extrair os IDs de sub-rede usados por essa instância de banco de dados. Para isso, examine os campos aninhados nos atributos DBSubnetGroup e Subnets na saída de descrição da instância de banco de dados. Você especifica alguns ou todos esses IDs de sub-rede ao configurar um proxy para esse servidor de banco de dados.

$ # 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

Depois de encontrar o identificador da instância de banco de dados, examine a VPC associada para encontrar suas sub-redes. O exemplo do Linux a seguir mostra como fazer isso.

$ #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

Planejar a capacidade de endereços IP

O RDS Proxy ajusta automaticamente sua capacidade com base no tamanho na configuração das instâncias de banco de dados registradas nele. Em relação a instâncias provisionadas, isso é determinado pelo tamanho da instância e, no caso de instâncias do Aurora Serverless v2, pela capacidade máxima da ACU. Algumas operações também podem precisar de capacidade adicional de proxy, como aumentar o tamanho de um banco de dados registrado ou operações internas de manutenção do RDS Proxy. Durante essas operações, seu proxy pode precisar de mais endereços IP para provisionar a capacidade extra. Esses endereços adicionais possibilitam que seu proxy se expanda sem afetar a workload. A falta de endereços IP gratuitos em suas sub-redes impede que um proxy aumente a escala verticalmente. Isso pode ocasionar maiores latências de consulta ou falhas na conexão do cliente. O RDS notifica você por meio de um evento RDS-EVENT-0243 quando não há endereços IP livres suficientes em suas sub-redes. Para obter informações sobre esse evento, consulte Trabalhar com eventos do RDS Proxy.

Reserve os números mínimos a seguir de endereços IP livres nas sub-redes para o proxy, com base no tamanho das classes de instâncias de banco de dados.

DB instance class Mínimo de endereços IP livres

db.*.xlarge ou menor

10

db.*.2xlarge

15

db.*.4xlarge

25

db.*.8xlarge

45

db.*.12xlarge

60

db.*.16xlarge

75

db.*.24xlarge

110

Para Aurora Serverless v2, reserve os números mínimos a seguir de endereços IP livres nas sub-redes para o proxy, com base na capacidade máxima de ACU.

Maximum ACU Capacity Mínimo de endereços IP livres

16 ou menor

10

32

15

64

25

96

30

128

40

160

50

192

55

224

65

256

75

nota

O RDS Proxy não consome mais de 215 endereços IP para cada proxy em uma VPC.

O RDS Proxy exige um mínimo de dez endereços IP para seu banco de dados Aurora. Esses números de endereços IP recomendados são estimativas para um proxy com apenas o endpoint padrão. Para cada endpoint personalizado adicional, recomendamos reservar mais três endereços IP. Para cada instância do leitor do Aurora, recomendamos que você reserve endereços IP adicionais conforme especificado na tabela com base nas ACUs máximas desse leitor para o destino do Aurora Serverless v2 ou o tamanho da instância de banco de dados para um destino provisionado.

Para estimar os endereços IP necessários para um proxy associado a um cluster de banco de dados do Aurora com:

  • Uma instância de gravador provisionada de tamanho db.r5.8xlarge e uma instância de leitor provisionada de tamanho db.r5.2xlarge.

  • O proxy anexado a esse cluster tem um endpoint padrão e um endpoint personalizado com a função de somente leitura.

Nesse caso, o proxy precisa de aproximadamente 63 endereços IP livres (45 para a instância do gravador, 15 para a instância do leitor e três para o endpoint personalizado adicional).

Para estimar os endereços IP necessários para um proxy associado a um cluster de banco de dados do Aurora que tenha:

  • Uma instância de gravador do Aurora Serverless v2 com capacidade máxima de 256 ACUs e uma instância de leitor do v2 sem servidor com capacidade máxima de 192 ACUs.

  • O proxy anexado a esse cluster tem o endpoint padrão e um endpoint personalizado com o perfil de somente leitura.

Nesse caso, o proxy precisa de aproximadamente 133 endereços IP livres (75 para a instância do gravador, 55 para a instância do leitor e 3 para o endpoint personalizado adicional).

Para estimar os endereços IP necessários para um proxy associado a um cluster do Aurora que tenha:

  • Uma instância de gravador provisionada com tamanho de instância de banco de dados db.r5.4xlarge e uma instância de leitor do v2 sem servidor com capacidade máxima de 64 ACUs.

  • O proxy anexado a esse cluster tem o endpoint padrão e um endpoint personalizado com o perfil de somente leitura.

Nesse caso, o proxy precisa de aproximadamente 53 endereços IP livres (25 para a instância do gravador, 25 para a instância do leitor e 3 para o endpoint personalizado adicional).

Para estimar os endereços IP necessários para um proxy associado a um cluster de banco de dados do Aurora que tenha:

  • Uma instância de gravador provisionada de tamanho db.r5.24xlarge e três instâncias de leitor provisionadas de tamanho db.r5.8xlarge.

  • O proxy conectado a esse cluster de banco de dados tem o endpoint padrão e um endpoint personalizado com a função de somente leitura.

Nesse caso, o proxy precisa de 215 endereços IP gratuitos. Embora os cálculos sugiram 248 IPs (110 + (3*45) + 3), o RDS Proxy não consome mais de 215 endereços IP para cada proxy em uma VPC.