Amazon RDS Proxy

Torne suas aplicações mais escaláveis, resilientes e seguras

Por que usar o Amazon RDS Proxy?

O Amazon Relational Database Service (Amazon RDS) Proxy é um proxy de banco de dados totalmente gerenciado e altamente disponível para o Amazon RDS que torna as aplicações mais escaláveis, resilientes às falhas do banco de dados e seguras.

Diversas aplicações, incluindo as que são desenvolvidas em arquiteturas modernas com tecnologia sem servidor, podem ter um grande número de conexões abertas com o servidor de banco de dados, além de abrir e fechar essas conexões em alta velocidade, esgotando a memória do banco de dados e os recursos computacionais. O Amazon RDS Proxy permite que aplicações agrupem e compartilhem conexões estabelecidas com o banco de dados, aprimorando a eficiência e a escalabilidade da aplicação. Com o Amazon RDS Proxy, os tempos de failover dos bancos de dados do Amazon Aurora e do Amazon RDS são reduzidos em até 66% e as credenciais, a autenticação e o acesso do banco de dados podem ser gerenciados por meio da integração com o AWS Secrets Manager e o AWS Identity and Access Management (IAM).

O Amazon RDS Proxy pode ser habilitado para a maioria das aplicações sem a necessidade de realizar alterações de código. Não é necessário provisionar ou gerenciar infraestruturas adicionais para começar a usar o Amazon RDS Proxy. Os preços são simplificados e baseado na capacidade das instâncias de banco de dados subjacentes. Você paga por unidade de capacidade do Aurora (ACU, na sigla em inglês) para instâncias do Amazon Aurora Sem Servidor v2 ou por vCPU para instâncias provisionadas. Amazon RDS Proxy está disponível no Amazon Aurora edição compatível com PostgreSQL, Amazon Aurora edição compatível com MySQL, Amazon RDS para PostgreSQL, Amazon RDS para MySQL, Amazon RDS para MariaDB e Amazon RDS para SQL server.

Benefícios do Amazon RDS Proxy

A instância do Amazon RDS Proxy mantém um grupo de conexões estabelecidas com as instâncias de banco de dados do Amazon RDS, reduzindo o estresse nos recursos de memória e computação do banco de dados que costuma ocorrer quando novas conexões são estabelecidas. O Amazon RDS Proxy também compartilha conexões de banco de dados usadas com pouca frequência, para que menos conexões acessem o banco de dados do Amazon RDS. Esse grupo de conexões permite que o banco de dados ofereça suporte eficiente para um grande número e uma alta frequência de conexões de aplicações. Dessa maneira, sua aplicação pode ser escalada sem comprometer o desempenho.
O Amazon RDS Proxy minimiza interferências em aplicações devido a interrupções que afetam a disponibilidade do seu banco de dados, conectando-se automaticamente a uma nova instância de banco de dados e preservando as conexões da aplicação. Quando ocorrem failovers, o Amazon RDS Proxy encaminha diretamente as solicitações para a nova instância do banco de dados. Isso reduz os tempos de failover dos bancos de dados do Aurora e do Amazon RDS em até 66%. O Amazon RDS Proxy também oferece suporte ao recurso multi-AZ com dois modos de espera legíveis para failovers normalmente inferiores a 35 segundos, latência de gravação duas vezes maior, capacidade de leitura adicional e redução do tempo de inatividade do upgrade de versões secundárias para menos de 1 segundo.
O Amazon RDS Proxy oferece controle adicional sobre a segurança dos dados ao disponibilizar a opção de aplicar a autenticação do IAM para o acesso ao banco de dados e evitar a codificação de credenciais de banco de dados no código da aplicação. O Amazon RDS Proxy também permite gerenciar centralmente as credenciais do banco de dados usando o Secrets Manager.
Um servidor proxy de banco de dados ajuda a lidar com a sobrecarga adicional em seu banco de dados. Embora os servidores proxy tradicionais permitam que as aplicações sejam escaladas com mais eficiência, eles são difíceis de implantar, aplicar patches e gerenciar, pois consomem tempo e energia que poderiam ser melhor dedicados no desenvolvimento de excelentes produtos. O Amazon RDS Proxy oferece os benefícios de um proxy de banco de dados sem a carga adicional de aplicar patches e gerenciar seu próprio servidor proxy. O Amazon RDS Proxy é totalmente sem servidor e escala automaticamente para acomodar sua workload.
O Amazon RDS Proxy é totalmente compatível com os protocolos dos mecanismos de banco de dados compatíveis, portanto, você pode implantar o Amazon RDS Proxy em sua aplicação sem fazer alterações no código. Basta direcionar as conexões da aplicação para o proxy em vez do banco de dados do Amazon RDS, e o resto é gerenciado sem complicações.

Casos de uso

Desenvolvimento de aplicações com tecnologia sem servidor

Com o Amazon RDS Proxy, você desenvolve aplicações com tecnologia sem servidor que são mais escaláveis ​​e disponíveis porque usam os bancos de dados relacionais com mais eficiência. As aplicações modernas com tecnologia sem servidor oferecem suporte para workloads altamente variáveis ​​e podem tentar abrir uma série de novas conexões de banco de dados ou manter diversas conexões abertas, mas em estado ocioso. Um aumento repentino de conexões ou um grande número de conexões abertas pode sobrecarregar o servidor de banco de dados, causando lentidão para as consultas e escalabilidade limitada para a aplicação. Ao agrupar e compartilhar conexões de banco de dados já estabelecidas, o Amazon RDS Proxy permite que você escale com eficiência para muitas outras conexões usando a aplicação com tecnologia sem servidor. O Amazon RDS Proxy também possibilita manter um desempenho previsível do banco de dados controlando o número total de conexões de banco de dados que são abertas. Por fim, o Amazon RDS Proxy preserva a disponibilidade da aplicação sem servidor ao negar conexões de aplicações inoperantes que podem degradar o desempenho do seu banco de dados.

Aplicações de software como serviço (SaaS) e de comércio eletrônico

As aplicações de SaaS ou de comércio eletrônico costumam manter um grande número de conexões de banco de dados abertas para garantir tempos de resposta rápidos ao usuário, embora apenas uma fração dessas conexões abertas possa ser usada ativamente em um determinado momento. Essas conexões abertas, mas ociosas, continuam a consumir memória do banco de dados e recursos computacionais. Em vez de realizar o provisionamento excessivo para o seu banco de dados com a finalidade de comportar a maioria das conexões ociosas, é possível usar o Amazon RDS Proxy para manter as conexões ociosas da aplicação enquanto estabelece somente as conexões de banco de dados necessárias para atender às solicitações ativas de maneira ideal.

Aplicações com workloads imprevisíveis

Aplicações que oferecem suporte a workloads altamente variáveis podem tentar abrir uma sequência de novas conexões de banco de dados. A governança de conexão no Amazon RDS Proxy permite que os clientes escalem facilmente aplicações que lidam com workloads imprevisíveis, reutilizando as conexões de banco de dados com eficiência. Em primeiro lugar, o Amazon RDS Proxy permite que várias conexões de aplicações compartilhem uma conexão de banco de dados para uso eficiente dos recursos do banco de dados. Em segundo, o Amazon RDS Proxy permite que os clientes mantenham um desempenho previsível do banco de dados regulando o número de conexões de banco de dados que são abertas. Em terceiro, o Amazon RDS Proxy remove solicitações de aplicações inoperantes para preservar o desempenho geral e a disponibilidade da aplicação.