Pular para o conteúdo principal

Amazon RDS Proxy

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

O que é o RDS Proxy?

O RDS Proxy é um recurso de proxy de banco de dados totalmente gerenciado, altamente disponível e fácil de usar do Amazon RDS que torna suas aplicações 1/ mais escaláveis ao agrupar e compartilhar conexões de banco de dados, 2/ mais resilientes ao reduzir os tempos de failover do banco de dados em até 66% e preservar as conexões de aplicações durante failovers e 3/ mais seguras ao aplicar opcionalmente a autenticação do AWS IAM aos bancos de dados e armazenar credenciais com segurança no AWS Secrets Manager.

Você não precisa provisionar ou gerenciar nenhuma infraestrutura adicional para começar a usar o RDS Proxy, e ela pode ser habilitada para a maioria das aplicações sem alterações no código. 

Benefícios do Amazon RDS Proxy

    O RDS Proxy mantém um grupo de conexões estabelecidas com suas instâncias de banco de dados do RDS, reduzindo o estresse nos recursos de computação e memória do banco de dados que normalmente ocorre quando novas conexões são estabelecidas. Ele 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 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 RDS Proxy minimiza a interrupção de aplicações devido a indisponibilidades que afetam a disponibilidade do banco de dados ao se conectar automaticamente a uma nova instância de banco de dados enquanto preserva as conexões da aplicação. Quando ocorrem failovers, o RDS Proxy encaminha diretamente as solicitações para a nova instância do banco de dados. Isso reduz os tempos de failover para os bancos de dados do Aurora e do RDS em até 66%. O RDS Proxy também é compatível com 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 normalmente menos de um segundo.

    O RDS Proxy oferece controle adicional sobre a segurança dos dados, oferecendo a opção de aplicar a autenticação do IAM para acesso ao banco de dados e evitar codificar as credenciais do banco de dados no código da aplicação. Ele também permite que você gerencie de forma centralizada 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, corrigir e gerenciar, consumindo recursos que poderiam ser melhor gastos no desenvolvimento de produtos excelentes. O RDS Proxy é totalmente sem servidor e é um proxy de banco de dados totalmente gerenciado, portanto, ele é escalado automaticamente para acomodar sua workload e, ao mesmo tempo, eliminar a carga de corrigir e gerenciar seu próprio servidor proxy.

    O RDS Proxy é totalmente compatível com os protocolos dos mecanismos de banco de dados compatíveis, para que você possa implantá-lo em sua aplicação sem fazer alterações no código da aplicação. Basta apontar as conexões da aplicação para o proxy em vez do banco de dados do RDS, e o restante é gerenciado de forma fluida.

Perguntas frequentes

Geral

Abrir tudo

    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 do Amazon RDS Proxy permite que você realize a escalabilidade de aplicações que lidam com workloads imprevisíveis, reutilizando as conexões de banco de dados com eficiência. Primeiro, o RDS Proxy permite que várias conexões de aplicações compartilhem uma conexão com o banco de dados para o uso eficiente dos recursos do banco de dados. Segundo, o RDS Proxy permite manter o desempenho previsível do banco de dados, regulando o número de conexões de banco de dados abertas. Em terceiro, o RDS Proxy remove solicitações de aplicações que não podem ser atendidas para preservar o desempenho geral e a disponibilidade da aplicação.

    Aplicações que abrem e fecham conexões de banco de dados com frequência: as aplicações desenvolvidas com base em tecnologias como tecnologia sem servidor, PHP ou Ruby on Rails podem abrir e fechar conexões de banco de dados com frequência para atender às solicitações das aplicações. O Amazon RDS Proxy mantém um conjunto de conexões de banco de dados para evitar estresse desnecessário na computação e na memória do banco de dados para estabelecer novas conexões.

    Aplicações que mantêm as conexões abertas, mas ociosas: aplicações em setores como SaaS ou eCommerce podem manter as conexões com o banco de dados inativas para minimizar o tempo de resposta quando um cliente é reativado. Em vez de realizar o provisionamento em excesso de bancos de dados para oferecer suporte principalmente às conexões inativas, os clientes podem usar o Amazon RDS Proxy para manter as conexões inativas enquanto estabelecem apenas conexões de banco de dados necessárias para atender às solicitações ativas de maneira ideal.

    Aplicações que exigem disponibilidade por meio de falhas transitórias: com o RDS Proxy, os clientes podem criar aplicações que tolerem falhas de banco de dados de forma transparente sem a necessidade de escrever um código complexo para o tratamento de falhas. O RDS Proxy envia automaticamente o tráfego para uma nova instância de banco de dados, preservando as conexões da aplicação. O RDS Proxy também ignora os caches do Sistema de Nomes de Domínio (DNS) para reduzir o tempo de failover em até 66% para os bancos de dados multi-AZ do Amazon RDS e do Aurora. Durante os failovers do banco de dados, a aplicação pode apresentar um aumento das latências e as transações em andamento podem precisar ser repetidas.

    Segurança aprimorada e gerenciamento centralizado de credenciais: o RDS Proxy ajuda os clientes a criar aplicações mais seguras, oferecendo a eles a opção de aplicar a autenticação baseada no IAM com bancos de dados relacionais. O RDS Proxy também permite que você gerencie as credenciais do banco de dados de maneira centralizada usando o AWS Secrets Manager.

    O RDS Proxy transforma sua abordagem na criação de aplicações modernas com tecnologia sem servidor que aproveitam a capacidade e a simplicidade dos bancos de dados relacionais. Primeiro, o RDS Proxy permite que aplicações com tecnologia sem servidor sejam escaladas com eficiência, agrupando e reutilizando conexões de banco de dados. Segundo, com o RDS Proxy, você não precisa mais manipular credenciais de banco de dados no seu código Lambda. Você pode usar a função de execução do IAM associada à sua função do Lambda para autenticar o RDS Proxy e seu banco de dados. Terceiro, você não precisa gerenciar nenhuma nova infraestrutura ou código para utilizar todo o potencial de aplicativos sem servidor apoiados por bancos de dados relacionais. O RDS Proxy é totalmente gerenciado e dimensiona sua capacidade automaticamente com base nas demandas de sua aplicação.

    O RDS Proxy está disponível para o Amazon Aurora compatível com MySQL, Amazon Aurora compatível com PostgreSQL, Amazon RDS para MariaDB, Amazon RDS para MySQL, Amazon RDS para PostgreSQL e Amazon RDS para SQL Server. Para ver uma lista das versões compatíveis do mecanismo, consulte o Guia do usuário do Amazon Aurora ou o Guia do usuário do Amazon RDS.

    Você habilita o RDS Proxy para seu banco de dados do Amazon RDS com apenas alguns cliques no console do Amazon RDS. Ao habilitar o RDS Proxy, você especifica a VPC e as sub-redes das quais deseja acessar o RDS Proxy. Como usuário do Lambda, você pode habilitar o Amazon RDS Proxy para o banco de dados do Amazon RDS e configurar uma função do Lambda para acessá-lo com apenas alguns cliques e sem sair do console do Lambda.

    Para autenticação entre suas aplicações e o banco de dados por meio do RDS Proxy, você tem várias opções. 

    Você pode usar a autenticação tradicional de nome de usuário e senha com o AWS Secrets Manager para armazenar suas credenciais de banco de dados, centralizando, protegendo e simplificando o gerenciamento de credenciais da sua aplicação. Ao usar o Secrets Manager, você pode se conectar ao RDS Proxy da mesma forma que se conecta ao seu banco de dados. O nome de usuário e a senha fornecidos são associados às credenciais armazenadas no Secrets Manager e, em seguida, são utilizados para conexões de banco de dados.

    Para maior segurança, você pode usar a autenticação baseada no IAM. Em vez de especificar um nome de usuário e senha, suas aplicações podem usar um perfil de execução do IAM, associado a serviços como o AWS Lambda ou o EC2, para se autenticar com o RDS Proxy. Você tem duas opções com a autenticação do IAM:

    • Use a autenticação do IAM para conexões entre cliente e proxy enquanto usa o Secrets Manager para conexões entre proxy e banco de dados
    • Use a autenticação do IAM para conexões entre cliente e proxy e proxy e banco de dados, eliminando a necessidade de armazenar senhas de banco de dados no Secrets Manager

    Para obter mais informações sobre autenticação com o RDS Proxy, consulte Conectar-se a um banco de dados pelo RDS Proxy

    Sim. Para obter detalhes completos sobre o SLA do Amazon RDS Proxy, consulte a página de detalhes do SLA do Amazon RDS Proxy.

Clientes

Acquia

“Estamos continuamente buscando otimizar e melhorar o desempenho e a escalabilidade de nossos clientes. Como a Drupal não oferece suporte nativo ao agrupamento de conexões, queríamos uma solução que nos permitisse escalar melhor as conexões de nossa aplicação em bancos de dados relacionais. O RDS Proxy é a solução ideal para essa necessidade. Com o RDS Proxy, as aplicações Drupal de nossos clientes podem utilizar facilmente um agrupamento pronto de conexões estabelecidas. Isso nos permitiu gerenciar melhor os aumentos repentinos no tráfego do site e melhorar a eficiência de nossos bancos de dados.”

Ed Brennan, diretor de arquitetura, Acquia

Missing alt text value

CAINZ

“Temos uma infraestrutura de API sem servidor baseada no AWS Lambda, que deve comportar dezenas de milhares de usuários e exige um armazenamento de dados de backend escalável. Embora tradicionalmente confiássemos nos bancos de dados NoSQL para esses cenários, o desafio nessa situação era que precisávamos de sólidos recursos de consulta SQL para gerenciar e acessar os dados fornecidos pelos bancos de dados do Amazon RDS e do Amazon Aurora. Agora podemos enfrentar esse desafio com o RDS Proxy à frente de nossos bancos de dados do RDS e do Aurora. Durante os testes, observamos uma melhora de quatro vezes nos tempos de resposta com o RDS Proxy em cargas de pico. O RDS Proxy foi benéfico para nós, pois podemos usar instruções SQL familiares com nossos bancos de dados relacionais, e tudo o que tivemos de fazer foi simplesmente trocar o endpoint.”

Masahiro Arai, divisão de estratégia digital, CAINZ

Missing alt text value

CloudHealth by VMware

“Recentemente, migramos nossos bancos de dados MySQL para o Amazon Aurora. Nossas aplicações mantêm um grande número de conexões de banco de dados abertas, sobrecarregando nossos bancos de dados durante picos de conexão, causando interrupções para nossos clientes. Ao migrar para o Aurora, o RDS Proxy tornou-se uma peça essencial de nossa arquitetura para escalar nossa aplicação e otimizar custos. Com o RDS Proxy, nossas aplicações puderam abrir muito mais conexões com o proxy, o que reduziu as conexões de banco de dados em até 90% durante os horários de pico, isolando o banco de dados de altas contagens de conexões. O RDS Proxy ajudou a melhorar a estabilidade do nosso sistema e reduziu nossos custos. Com menos recursos do sistema indo para as conexões de banco de dados, pudemos consolidar nossos bancos de dados em menos clusters do Aurora, reduzindo nossos custos operacionais totais.”

Peter Fein, arquiteto sênior de software, CloudHealth by VMware

Missing alt text value

Dream 11

“O RDS Proxy foi um divisor de águas para nós durante a Premier League indiana de 2023. A ferramenta nos ajudou a lidar com os enormes picos de tráfego durante as rodadas sem comprometer o desempenho e a disponibilidade do banco de dados. Também nos permitiu escalar nossos recursos de forma dinâmica e otimizar custos. Conseguimos oferecer uma experiência descomplicada aos nossos usuários. O RDS Proxy é essencial para qualquer plataforma de jogos on-line que precise lidar com tráfego imprevisível e de alto volume.”

Bipul Karnani, engenheiro-chefe, Dream 11

Missing alt text value