Como trabalhar com endpoints do proxy do Amazon RDS - Amazon Relational Database Service

Como trabalhar com endpoints do proxy do Amazon RDS

A seguir, você aprenderá sobre endpoints para proxy do RDS e como usá-los. Ao usar endpoints, você pode aproveitar os seguintes recursos:

  • Você pode usar vários endpoints com um proxy para monitorar e solucionar problemas de conexões de diferentes aplicações de forma independente.

  • Você pode usar endpoints de leitor com clusters de bancos de dados Aurora para melhorar o dimensionamento de leitura e a alta disponibilidade para suas aplicações com uso intensivo de consultas.

  • Você pode usar um endpoint entre VPCs para permitir o acesso a bancos de dados em uma VPC a partir de recursos, como as instâncias do Amazon EC2 em uma VPC diferente.

Visão geral dos endpoints de proxy

Trabalhar com endpoints de proxy do RDS envolve os mesmos tipos de procedimentos usados com cluster de bancos de dados Aurora, endpoints de leitor e endpoints de instâncias RDS. Se você não tem familiaridade com os endpoints do RDS, encontre mais informações em Conexão a uma instância de banco de dados executando o mecanismo de banco de dados do MySQL e Conectar a uma instância de banco de dados executando o mecanismo de banco de dados do PostgreSQL.

Por padrão, o endpoint ao qual você se conecta quando usa o proxy do RDS com um cluster do Aurora tem capacidade de leitura/gravação. Como consequência, esse endpoint envia todas as solicitações para a instância de gravação do cluster e todas essas conexões contam para o valor max_connections para a instância de gravação. Se o seu proxy estiver associado a um cluster de bancos de dados Aurora, você pode criar endpoints adicionais de leitura/gravação ou somente leitura para esse proxy.

Você pode usar um endpoint somente leitura com seu proxy para consultas somente leitura, da mesma forma que você usa o endpoint de leitor para um cluster do Aurora provisionado. Fazer isso ajuda você a aproveitar o dimensionamento de leitura de um cluster do Aurora com uma ou mais instâncias de banco de dados do leitor. Você pode executar mais consultas simultâneas e fazer mais conexões simultâneas usando um endpoint somente leitura e adicionando mais instâncias de banco de dados do leitor ao cluster do Aurora, conforme necessário.

Para um endpoint de proxy criado, você também pode associar o endpoint a uma Virtual Private Cloud (VPC) diferente daquela que o próprio proxy usa. Ao fazer isso, você pode se conectar ao proxy de uma VPC diferente, por exemplo, uma VPC usada por uma aplicação diferente dentro de sua organização.

Para obter informações sobre limites associados aos endpoints de proxy, consulte Limites para endpoints de proxy.

Nos logs do RDS Proxy, cada entrada é prefixada com o nome do endpoint de proxy associado. Esse nome pode ser o nome especificado para um endpoint definido pelo usuário ou o nome especial default para solicitações de leitura/gravação que usam o endpoint padrão de um proxy.

Cada endpoint de proxy tem seu próprio conjunto de métricas do CloudWatch. Você pode monitorar as métricas de todos os endpoints de um proxy. Você também pode monitorar métricas de um endpoint específico ou para todos os endpoints de leitura/gravação ou somente leitura de um proxy. Para obter mais informações, consulte Monitorar métricas do proxy do RDS com o Amazon CloudWatch.

Um endpoint de proxy usa o mesmo mecanismo de autenticação que o proxy associado. O proxy do RDS configura automaticamente permissões e autorizações para o endpoint definido pelo usuário, consistentes com as propriedades do proxy associado.

Endpoints de leitor

Com o RDS Proxy, você pode criar e usar endpoints de leitor. No entanto, esses endpoints funcionam apenas para proxies associados a clusters de bancos de dados Aurora. Você pode ver referências aos endpoints de leitor no AWS Management Console. Se você usa a CLI ou a API do RDS, pode ver o atributo TargetRole com um valor READ_ONLY. Você pode aproveitar esses recursos alterando o destino de um proxy de uma instância de banco de dados do RDS para um cluster de bancos de dados Aurora. Para saber mais sobre os endpoints de leitor, consulte Gerenciar conexões com o proxy do Amazon RDS no Guia do usuário do Aurora.

Acesso aos bancos de dados do Aurora e do RDS entre VPCs

Por padrão, os componentes da pilha de tecnologia do RDS e do Aurora estão todos na mesma Amazon VPC. Por exemplo, suponha que uma aplicação em execução em uma instância do Amazon EC2 se conecta a uma instância de banco de dados do Amazon RDS ou cluster de banco de dados doAurora. Nesse caso, o servidor da aplicação e o banco de dados devem estar dentro da mesma VPC.

Com o RDS Proxy, você pode configurar o acesso a um cluster do Aurora ou instância do RDS em uma VPC a partir de recursos, como instâncias do EC2, em outra VPC. Por exemplo, sua organização pode ter várias aplicações que acessam os mesmos recursos de banco de dados. Cada aplicação pode estar em sua própria VPC.

Para habilitar o acesso entre VPCs, crie um novo endpoint para o proxy. Se você não tiver familiaridade com a criação de endpoints de proxy, consulte Como trabalhar com endpoints do proxy do Amazon RDS para mais detalhes. O proxy em si reside na mesma VPC que o cluster de bancos de dados Aurora ou instância do RDS. No entanto, o endpoint entre VPCs reside na outra VPC, juntamente com os outros recursos, como as instâncias do EC2. O endpoint entre VPC está associado a sub-redes e grupos de segurança da mesma VPC que o EC2 e outros recursos. Essas associações permitem que você se conecte ao endpoint a partir das aplicações que, de outra forma, não podem acessar o banco de dados devido às restrições da VPC.

As etapas a seguir explicam como criar e acessar um endpoint entre VPCs com o RDS Proxy:

  1. Crie duas VPCs ou escolha duas VPCs para as quais você já usa para trabalhar com o Aurora e o RDS. Cada VPC deve ter seus próprios recursos de rede associados, como um gateway da Internet, tabelas de roteamento, sub-redes e grupos de segurança. Se você tiver apenas uma VPC, consulte Conceitos básicos do Amazon RDS para ver as etapas de configuração de outra VPC, a fim de usar o RDS com êxito. Você também pode examinar sua VPC existente no console do Amazon EC2 para ver quais tipos de recursos podem ser conectados.

  2. Crie um proxy de banco de dados associado ao cluster de bancos de dados Aurora ou instância do RDS aos quais você deseja se conectar. Siga o procedimento em Criar um RDS Proxy.

  3. Na página Details (Detalhes) do seu proxy no console do RDS, na seção Proxy endpoints (Endpoints de proxy), selecione Create endpoint (Criar endpoint). Siga o procedimento em Criação de um endpoint de proxy.

  4. Escolha se deseja criar o endpoint entre VPCs como leitura/gravação ou somente leitura.

  5. Em vez de aceitar o padrão da mesma VPC que o cluster de bancos de dados Aurora ou instância do RDS, escolha uma VPC diferente. Essa VPC deve estar na mesma região da AWS que a VPC, onde o proxy reside.

  6. Agora, em vez de aceitar os padrões para sub-redes e grupos de segurança da mesma VPC que o cluster de bancos de dados Aurora ou instância do RDS, faça novas seleções. Faça-as com base nas sub-redes e grupos de segurança da VPC que você escolheu.

  7. Você não precisa alterar nenhuma das configurações para os segredos do Secrets Manager. As mesmas credenciais funcionam para todos os endpoints de proxy, independentemente da VPC em que cada endpoint esteja.

  8. Aguarde até que o novo endpoint alcance o estado Available (Disponível).

  9. Anote o nome completo do endpoint. Esse é o valor que termina em Region_name.rds.amazonaws.com, que você fornece como parte da string de conexão para sua aplicação de banco de dados.

  10. Acesse o novo endpoint a partir de um recurso na mesma VPC que o endpoint. Uma maneira simples de testar esse processo é criar uma nova instância do EC2 nessa VPC. Em seguida, você pode fazer login na instância do EC2 e executar os comandos mysql ou psql para se conectar usando o valor do endpoint em sua string de conexão.

Criação de um endpoint de proxy

Para criar um endpoint de proxy

  1. Faça login no AWS Management Console e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/.

  2. No painel de navegação, escolha Proxies.

  3. Clique no nome do proxy para o qual você deseja criar um novo endpoint.

    A página de detalhes desse proxy é exibida.

  4. Na seção Proxy endpoints (Endpoints do proxy), selecione Create proxy endpoint (Criar endpoint proxy).

    A janela Create proxy endpoint (Criar endpoint proxy) aparece.

  5. em Proxy endpoint name (Nome do endpoint de proxy), insira um nome descritivo de sua escolha.

  6. Em Target role (Função de destino), escolha se deseja criar o endpoint como leitura/gravação ou somente leitura.

    As conexões que usam um endpoint de leitura/gravação podem executar qualquer tipo de operação: instruções DDL (data definition language), instruções DML (data manipulation language) e consultas. Esses endpoints sempre se conectam à instância principal do cluster do Aurora. Você pode usar endpoints de leitura/gravação para operações gerais de banco de dados quando você usa apenas um único endpoint em sua aplicação. Você também pode usar endpoints de leitura/gravação para operações administrativas, aplicações de processamento de transações online (OLTP) e trabalhos de extração de transformação de carga (ETL).

    As conexões que usam um endpoint somente leitura só podem executar consultas. Quando há várias instâncias de leitor no cluster do Aurora, o proxy do RDS pode usar uma instância de leitor diferente para cada conexão com o endpoint. Dessa forma, uma aplicação com uso intensivo de consultas pode tirar proveito da capacidade de clustering do Aurora. Você pode acrescentar mais capacidade de consulta ao cluster adicionando mais instâncias de banco de dados de leitor. Essas conexões somente leitura não impõem nenhuma sobrecarga na instância primária do cluster. Dessa forma, suas consultas de relatórios e análises não retardam as operações de gravação de suas aplicações OLTP.

  7. Em Virtual Private Cloud (VPC), escolha o padrão, se você planeja acessar o endpoint das mesmas instâncias do EC2, ou outros recursos em que você normalmente acessa o proxy ou seu banco de dados associado. Se você quiser configurar o acesso entre VPC para esse proxy, escolha uma VPC diferente da padrão. Para obter mais informações sobre acesso entre VPCs, consulte Acesso aos bancos de dados do Aurora e do RDS entre VPCs.

  8. Em Subnets (Sub-redes), o proxy do RDS preenche as mesmas sub-redes que o proxy associado por padrão. Se você quiser restringir o acesso ao endpoint para que apenas uma parte do intervalo de endereços da VPC possa se conectar a ele, remova uma ou mais sub-redes do conjunto de opções.

  9. Em VPC security group (Grupo de segurança da VPC), você pode selecionar um grupo de segurança existente ou criar outro. O proxy do RDS preenche os mesmos grupos de segurança que o proxy associado por padrão. Se as regras de entrada e saída para o proxy forem apropriadas para esse endpoint, você poderá deixar a escolha padrão.

    Se você optar por criar um novo grupo de segurança, especifique um nome para o grupo de segurança nessa página. Depois, edite as configurações do grupo de segurança a partir do console do EC2.

  10. Selecione Create proxy endpoint (Criar endpoint de proxy).

Para criar um endpoint de proxy, use o comando da AWS CLI create-db-proxy-endpoint.

Inclua os seguintes parâmetros necessários:

  • --db-proxy-name value

  • --db-proxy-endpoint-name value

  • --vpc-subnet-ids list_of_ids. Separe os IDs de sub-rede com espaços. Você não especifica o ID da própria VPC.

Você também pode incluir os seguintes parâmetros opcionais:

  • --target-role { READ_WRITE | READ_ONLY }. Por padrão, esse parâmetro é READ_WRITE. O valor READ_ONLY só tem um efeito sobre os clusters do Aurora provisionados que contêm uma ou mais instâncias de banco de dados do leitor. Quando o proxy está associado a uma instância do RDS ou a um cluster do Aurora que contém apenas uma instância de banco de dados de gravação, você não pode especificar como READ_ONLY.

  • --vpc-security-group-ids value. Separe os IDs do grupo de segurança com espaços. Se você omitir esse parâmetro, o proxy do RDS usará o grupo de segurança padrão para a VPC. O proxy do RDS determina a VPC com base nos IDs de sub-rede que você especificar para o parâmetro --vpc-subnet-ids.

exemplo

O exemplo a seguir cria um endpoint de proxy chamado my-endpoint.

Para Linux, macOS ou Unix:

aws rds create-db-proxy-endpoint \ --db-proxy-name my-proxy \ --db-proxy-endpoint-name my-endpoint \ --vpc-subnet-ids subnet_id subnet_id subnet_id ... \ --target-role READ_ONLY \ --vpc-security-group-ids security_group_id ]

Para Windows:

aws rds create-db-proxy-endpoint ^ --db-proxy-name my-proxy ^ --db-proxy-endpoint-name my-endpoint ^ --vpc-subnet-ids subnet_id_1 subnet_id_2 subnet_id_3 ... ^ --target-role READ_ONLY ^ --vpc-security-group-ids security_group_id

Para criar um endpoint de proxy, use a ação da API do RDS CreateProxyEndpoint.

Visualização dos endpoints de proxy

Para visualizar os detalhes de um endpoint de proxy

  1. Faça login no AWS Management Console e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/.

  2. No painel de navegação, escolha Proxies.

  3. Na lista, escolha o proxy cujo endpoint você deseja visualizar. Clique no nome do proxy para visualizar sua página de detalhes.

  4. Na seção Proxy endpoints (Endpoints de proxy), selecione o endpoint que você deseja visualizar. Clique no nome dele para ver a página de detalhes.

  5. Examine os parâmetros cujos valores lhe interessam. Você pode verificar propriedades como as seguintes:

    • Se o endpoint é leitura/gravação ou somente leitura.

    • O endereço do endpoint que você usa em uma string de conexão de banco de dados.

    • A VPC, as sub-redes e os grupos de segurança associados a um endpoint.

Para visualizar um ou mais endpoints de proxy de banco de dados, use o comando da AWS CLI describe-db-proxy-endpoints.

Você pode incluir os seguintes parâmetros opcionais:

  • --db-proxy-endpoint-name

  • --db-proxy-name

O exemplo a seguir descreve o endpoint de proxy my-endpoint.

exemplo

Para Linux, macOS ou Unix:

aws rds describe-db-proxy-endpoints \ --db-proxy-endpoint-name my-endpoint

Para Windows:

aws rds describe-db-proxy-endpoints ^ --db-proxy-endpoint-name my-endpoint

Para descrever um ou mais endpoints de proxy, use a operação da API do RDS DescribeDBProxyEndpoints.

Modificação de um endpoint de proxy

Para modificar um ou mais endpoints de proxy

  1. Faça login no AWS Management Console e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/.

  2. No painel de navegação, escolha Proxies.

  3. Na lista, escolha o proxy cujo endpoint você deseja modificar. Clique no nome do proxy para visualizar sua página de detalhes.

  4. Em Proxy endpoints (Endpoints de proxy), selecione o endpoint que você deseja modificar. Você pode selecioná-lo na lista ou clicar no nome dele para visualizar a página de detalhes.

  5. Na página de detalhes do proxy, na seção Proxy endpoints (Endpoints de proxy), selecione Edit (Editar). Ou na página de detalhes do endpoint de proxy, em Actions (Ações), selecione Edit (Editar).

  6. Altere os valores dos parâmetros que você deseja modificar.

  7. Selecione Save changes.

Para modificar um endpoint de proxy de banco de dados, use o comando do AWS CLI modify-db-proxy-endpoint com os seguintes parâmetros obrigatórios:

  • --db-proxy-endpoint-name

Especifique alterações nas propriedades do endpoint usando um ou mais dos seguintes parâmetros:

  • --new-db-proxy-endpoint-name

  • --vpc-security-group-ids. Separe os IDs do grupo de segurança com espaços.

O exemplo a seguir renomeia o endpoint de proxy my-endpoint para new-endpoint-name.

exemplo

Para Linux, macOS ou Unix:

aws rds modify-db-proxy-endpoint \ --db-proxy-endpoint-name my-endpoint \ --new-db-proxy-endpoint-name new-endpoint-name

Para Windows:

aws rds modify-db-proxy-endpoint ^ --db-proxy-endpoint-name my-endpoint ^ --new-db-proxy-endpoint-name new-endpoint-name

Para modificar um endpoint de proxy, use a operação da API do RDS ModifyDBProxyEndpoint.

Exclusão de um endpoint de proxy

Você pode excluir um endpoint para o proxy usando o console, conforme descrito a seguir.

nota

Você não pode excluir o endpoint padrão que o proxy do RDS cria automaticamente para cada proxy.

Quando você exclui um proxy, o proxy do RDS exclui automaticamente todos os endpoints associados.

Para excluir um endpoint de proxy usando o AWS Management Console

  1. No painel de navegação, escolha Proxies.

  2. Na lista, escolha o proxy cujo endpoint você deseja endpoint. Clique no nome do proxy para visualizar sua página de detalhes.

  3. Em Proxy endpoints (Endpoints de proxy), escolha o endpoint que você deseja excluir. Você pode selecionar um ou mais endpoints na lista ou clicar no nome de um único endpoint para visualizar a página de detalhes.

  4. Na página de detalhes do proxy, na seção Proxy endpoints (Endpoints de proxy), selecione Delete (Excluir). Ou na página de detalhes do endpoint de proxy, em Actions (Ações), selecione Delete (Excluir).

Para excluir um endpoint de proxy, execute o comando delete-db-proxy-endpoint com os seguintes parâmetros obrigatórios:

  • --db-proxy-endpoint-name

O comando a seguir exclui o endpoint de proxy chamado my-endpoint.

Para Linux, macOS ou Unix:

aws rds delete-db-proxy-endpoint \ --db-proxy-endpoint-name my-endpoint

Para Windows:

aws rds delete-db-proxy-endpoint ^ --db-proxy-endpoint-name my-endpoint

Para excluir um endpoint deproxy com a API do RDS, execute a operação DeleteDBProxyEndpoint. Especifique o nome do endpoint de proxy para o parâmetro DBProxyEndpointName.

Limites para endpoints de proxy

Cada proxy tem um endpoint padrão que você pode modificar, mas não criar ou excluir.

O número máximo de endpoints definidos pelo usuário para um proxy é 20. Assim, um proxy pode ter até 21 endpoints: o endpoint padrão e mais 20 que você cria.

Quando você associa endpoints adicionais a um proxy, o proxy do RDS determina automaticamente quais instâncias de banco de dados em seu cluster usar para cada endpoint. Você não pode escolher instâncias específicas da mesma maneira que escolhe endpoints personalizados do Aurora.

Os endpoints de leitor não estão disponíveis para clusters do Aurora multigravadores.

Você pode se conectar aos endpoints de proxy criados usando os modos SSL REQUIRED VERIFY_CAe. Você não pode se conectar a um endpoint criado usando o modo SSL VERIFY_IDENTITY.