O Amazon Aurora é um serviço de banco de dados relacional que combina a velocidade e a disponibilidade de bancos de dados comerciais avançados com a simplicidade e a economia de bancos de dados de código aberto. O Aurora é totalmente compatível com MySQL e PostgreSQL, permitindo que aplicações e ferramentas existentes sejam executadas sem a necessidade de modificação.
Alta performance e escalabilidade
Taxa de transferência cinco vezes maior que o MySQL e três vezes maior que o PostgreSQL
Testes em benchmarks padrão, como o SysBench, mostraram um aumento na taxa de transferência de até cinco vezes acima do MySQL padrão e de três vezes acima do PostgreSQL padrão em hardware semelhante. O Amazon Aurora usa uma variedade de técnicas de software e hardware para garantir que o mecanismo de banco de dados seja capaz de usar integralmente a computação, a memória e as redes disponíveis. As operações de E/S usam técnicas de sistemas distribuídos, como quóruns, para melhorar a consistência da performance.
Configuração sem servidor
O Amazon Aurora Serverless é uma configuração de escalabilidade automática sob demanda para o Aurora, na qual o banco de dados é inicializado, encerrado e tem a escala aumentada ou reduzida na vertical com base nas necessidades da aplicação. Execute um banco de dados na nuvem sem gerenciar nenhuma instância de banco de dados.
Escalabilidade de computação ao toque de um botão
Você pode usar as APIs do Amazon Relational Database Service (Amazon RDS) ou o Console de Gerenciamento da AWS para aumentar ou reduzir a escala na vertical de instâncias provisionadas de sua implantação. As operações de escalabilidade de computação normalmente são concluídas em alguns minutos.
Armazenamento de escalabilidade automática
O Amazon Aurora aumenta automaticamente o volume do banco de dados para acompanhar o crescimento da necessidade de armazenamento. O volume crescerá em incrementos de 10 GB até um máximo de 128 TB. Você não precisa provisionar armazenamento em excesso para o banco de dados a fim de lidar com o crescimento futuro.
Réplicas de leitura de baixa latência
Você pode aumentar a taxa de transferência de leitura para oferecer suporte a altos volumes de solicitações de aplicações criando até 15 réplicas de banco de dados Amazon Aurora. As réplicas do Aurora compartilham o mesmo armazenamento que a instância de origem, diminuindo os custos e evitando a necessidade de fazer gravações nos nós de réplica. Isso libera mais capacidade de processamento para atender às solicitações de leitura e reduz a defasagem das réplicas para menos de dez milissegundos, na maioria das vezes. O Aurora oferece um endpoint leitor para que a aplicação possa se conectar sem necessidade de acompanhar as réplicas adicionadas e removidas. Ele também oferece suporte à escalabilidade automática, adicionando e removendo automaticamente réplicas em resposta a alterações nas métricas de performance especificadas.
O Aurora oferece suporte a réplicas de leitura entre regiões. As réplicas entre regiões fornecem leituras locais rápidas para seus usuários e cada região tem 15 réplicas do Aurora adicionais para escalar ainda mais as leituras locais. Consulte Amazon Aurora Global Database para obter detalhes.
Endpoints de banco de dados personalizados
Os endpoints personalizados permitem distribuir e balancear as cargas em diferentes conjuntos de instâncias de bancos de dados. Por exemplo, você pode provisionar um conjunto de réplicas do Aurora para usar um tipo de instância com maior capacidade de memória para executar uma workload de análises. Um endpoint personalizado pode ajudar a rotear a workload para essas instâncias configuradas adequadamente e isolar as demais instâncias dela.
Parallel Query para Aurora MySQL
O Parallel Query do Amazon Aurora oferece consultas analíticas mais rápidas em comparação com os dados atuais. O recurso pode acelerar as consultas em até duas ordens de magnitude, sem afetar a alta taxa de transferência das workloads transacionais essenciais. Com a transferência do processamento de consultas para a camada de armazenamento do Aurora, o recurso obtém uma grande quantidade de capacidade computacional e reduz o tráfego de rede. Use o Parallel Query para executar workloads transacionais e analíticas lado a lado no mesmo banco de dados do Aurora. Esse recurso está disponível para o Amazon Aurora with MySQL compatibility.
Diagnosticar e resolver gargalos de performance com o Amazon DevOps Guru for RDS
O Amazon DevOps Guru é um serviço de operações na nuvem alimentado por machine learning (ML) que ajuda a melhorar a disponibilidade da aplicação. Com o Amazon DevOps Guru for RDS, você pode usar insights baseados em ML para ajudar a detectar e diagnosticar facilmente problemas de banco de dados relacional relacionados à performance. Ele foi projetado para resolvê-los em minutos, em vez de dias. Os desenvolvedores e engenheiros de DevOps podem usar o DevOps Guru for RDS para identificar automaticamente a causa raiz dos problemas de performance e obter recomendações inteligentes para ajudar a resolvê-los, sem precisar da ajuda de especialistas em banco de dados.
Para começar a usar, basta acessar o Console de Gerenciamento do Amazon RDS e habilitar o Performance Insights do Amazon RDS. Com o Performance Insights ativado, acesse o console do Amazon DevOps Guru para habilitá-lo em seus recursos do Amazon Aurora, em outros recursos compatíveis ou em toda a conta.
Alta disponibilidade e resiliência
Monitoramento e reparo de instância
O Amazon RDS monitora continuamente a integridade do banco de dados do Amazon Aurora e instância do Amazon Elastic Compute Cloud (EC2) adjacente. No caso de falha do banco de dados, o Amazon RDS reiniciará automaticamente o banco de dados e processos associados. Nas recuperações de falha, o Amazon Aurora não precisa reproduzir os logs de repetição do banco de dados, o que reduz significativamente os tempos de reinicialização. O serviço também isola o cache do buffer do banco de dados dos processos do banco de dados, permitindo que o cache sobreviva a uma reinicialização do banco de dados.
Implantações Multi-AZ com réplicas do Aurora
Em caso de falha da instância, o Amazon Aurora usa a tecnologia Amazon RDS Multi-AZ para fazer o failover automático para uma das até 15 réplicas do Amazon Aurora criadas em qualquer uma das três zonas de disponibilidade. Em caso de falha, se nenhuma réplica do Amazon Aurora tiver sido provisionada, o Amazon RDS tentará criar automaticamente uma nova instância de banco de dados do Amazon Aurora. Minimize o tempo de failover substituindo os drivers MySQL e PostgreSQL da comunidade pelo AWS JDBC Driver for MySQL e AWS JDBC Driver for PostgreSQL compatíveis com código aberto e drop-in. Você também pode usar o RDS Proxy para reduzir os tempos de failover e melhorar a disponibilidade. Quando ocorrem failovers, o RDS Proxy roteia as solicitações diretamente para a nova instância do banco de dados, reduzindo os tempos de failover em até 66% e preservando as conexões da aplicação.
Banco de dados global
Para aplicações distribuídas globalmente, você pode usar o Banco de dados global, em que um único banco de dados do Aurora pode abranger várias regiões da AWS para permitir leituras locais e recuperação de desastres rápidas. O banco de dados global usa a replicação baseada em armazenamento para replicar um banco de dados em várias regiões da AWS, com a latência típica de menos de um segundo. Você pode usar uma região secundária como uma opção de backup caso precise se recuperar rapidamente de uma redução regional ou interrupção. Um banco de dados em uma região secundária pode ser promovido para ter os recursos completos de leitura e gravação em menos de 1 minuto.
Armazenamento tolerante a falhas e com correção automática
Cada bloco de 10 GB do volume de banco de dados é replicado seis vezes em três zonas de disponibilidade. O armazenamento do Amazon Aurora é tolerante a falhas e trata de forma integrada a perda de até duas cópias de dados sem afetar a disponibilidade de gravação do banco de dados, bem como a perda de até três cópias sem afetar a disponibilidade de leitura. Além disso, o armazenamento do Amazon Aurora conta com recuperação automática: os blocos de dados e os discos são verificados continuamente para detecção de erros e substituição automática.
Backup automático, contínuo, incremental e restauração point-in-time
O recurso de backup do Amazon Aurora permite a recuperação point-in-time da sua instância. Isso permite que você restaure seu banco de dados a qualquer segundo durante o período de retenção, até os últimos cinco minutos. O período de retenção de backup automático pode ser configurado para até 35 dias. Os backups automáticos são armazenados no Amazon Simple Storage Service (Amazon S3), que foi projetado para ter resiliência de 99,999999999%. Os backups do Amazon Aurora são automáticos, incrementais e contínuos e não afetam a performance do banco de dados.
Snapshots de banco de dados
Os snapshots do banco de dados são backups iniciados pelo usuário da sua instância armazenada no Amazon S3 que serão mantidos até que você explicitamente os exclua. Eles aproveitam os snapshots incrementais automáticos para diminuir o tempo e o armazenamento necessários. Você pode criar uma nova instância de banco de dados com base em um Snapshot onde desejar.
Backtrack para Aurora MySQL
O Backtrack permite mover rapidamente um banco de dados para um ponto no tempo anterior, sem necessidade de restaurar dados de um backup. Com esse recurso, você pode se recuperar rapidamente de erros de usuário, como excluir a tabela errada ou a linha errada. Quando você habilita o Backtrack, o Aurora retém todos os registros de dados pela duração de Backtrack especificada. Por exemplo, você pode configurar o Backtrack para permitir que o banco de dados volte até 72 horas no tempo. O Backtrack é concluído em segundos, mesmo para bancos de dados grandes, pois elimina a necessidade de cópia de registros de dados. Você pode avançar e recuar para encontrar o ponto logo antes da ocorrência do erro.
O Backtrack também é útil para desenvolvimento e teste, em especial, em situações nas quais o teste exclui ou invalida os dados. Basta voltar o banco de dados ao estado original, e você estará pronto para uma nova execução de teste. É possível criar um script que chama o Backtrack por meio de uma API e executa o teste. Esse script pode ser integrado facilmente ao framework de teste. O Backtrack está disponível para o Amazon Aurora compatível com MySQL.
Altamente seguro
Isolamento de rede
O Amazon Aurora é executado na Amazon Virtual Private Cloud (VPC), que ajuda a isolar o banco de dados em sua própria rede virtual e se conectar à infraestrutura de TI on-premises usando VPNs IPsec criptografadas padrão do setor. Para saber mais sobre o Amazon Relational Database Service (RDS) na Amazon VPC, consulte o Guia do usuário do Amazon RDS. Além disso, ao usar o Amazon RDS, é possível configurar as definições do firewall e controlar o acesso de rede às suas instâncias de banco de dados.
Permissões no nível do recurso
O Amazon Aurora é integrado com o AWS Identity and Access Management (IAM) e oferece a capacidade de controlar as ações que seus usuários e grupos do IAM podem realizar em recursos específicos do Amazon Aurora (por exemplo, instâncias de banco de dados, snapshots de banco de dados, grupos de parâmetros de banco de dados, assinaturas de eventos de banco de dados e grupos de opções de banco de dados). Também é possível atribuir tags aos recursos do Aurora e controlar as ações que seus usuários e grupos do IAM podem executar em grupos de recursos que têm a mesma tag (e valor de tag). Para obter mais informações sobre a integração do IAM, consulte a documentação sobre autenticação de banco de dados do IAM.
Criptografia
O Aurora ajuda a criptografar bancos de dados usando chaves criadas e controladas pelo AWS Key Management Service (KMS). Em uma instância de banco de dados em execução com a criptografia do Aurora, os dados ociosos mantidos no armazenamento subjacente são criptografados, bem como os backups automáticos, as réplicas de leitura e os snapshots desses dados no mesmo cluster. O Aurora usa SSL (AES-256) para proteger os dados em trânsito.
Auditoria avançada
O Aurora ajuda a registrar eventos de banco de dados em logs com impacto mínimo na performance do banco de dados. Posteriormente, os logs podem ser analisados para fins de gerenciamento de banco de dados, segurança, governança, conformidade normativa e outras finalidades. Também é possível monitorar a atividade enviando logs de auditoria ao Amazon CloudWatch.
Detecção de ameaças
O Aurora é integrado ao Amazon GuardDuty para ajudar você a identificar ameaças potenciais aos dados armazenados em bancos de dados Aurora. O GuardDuty RDS Protection monitora e cria perfis da atividade de login em bancos de dados novos e existentes na sua conta e usa modelos de ML para detectar logins suspeitos com precisão em bancos de dados do Aurora. Se uma ameaça em potencial for detectada, o GuardDuty gera uma descoberta de segurança que inclui detalhes do banco de dados e informações contextuais avançadas sobre a atividade suspeita. A integração do Aurora com o GuardDuty oferece acesso direto aos logs de eventos do banco de dados sem exigir que você modifique seus bancos de dados e foi projetada para não causar impacto na performance do banco de dados.
Totalmente gerenciado
Fácil de usar
É fácil começar a usar o Amazon Aurora. Basta iniciar uma instância de banco de dados do Amazon Aurora usando o Console de Gerenciamento do Amazon RDS, uma única chamada de API ou a CLI. As instâncias de banco de dados do Amazon Aurora são pré-configuradas com parâmetros e definições apropriados para a classe da instância de banco de dados selecionada. Você pode lançar uma instância de banco de dados e conectar seu aplicativo em minutos, sem necessidade de configuração adicional. Os grupos de parâmetros de bancos de dados fornecem controle granular e ajuste fino do seu banco de dados.
Monitoramento e métricas
O Amazon Aurora oferece métricas do Amazon CloudWatch para suas instâncias de banco de dados sem custo adicional. Você pode usar o Console de Gerenciamento da AWS para visualizar mais de 20 métricas operacionais principais para suas instâncias de banco de dados, incluindo computação, memória, armazenamento, throughput de consultas, taxa de acertos do cache e conexões ativas. Além disso, você pode usar o Enhanced Monitoring para coletar métricas da instância do sistema operacional onde o banco de dados é executado. Você pode usar os Insights de Performance do Amazon RDS, uma ferramenta de monitoramento de banco de dados que facilita a detecção de problemas de performance e toma as providências para corrigi-los, com uma painel fácil de entender que visualiza a carga do banco de dados. Por fim, você também pode usar o Amazon DevOps Guru para RDS para detectar facilmente problemas de performance, identificar automaticamente a causa raiz desses problemas e obter recomendações inteligentes para ajudar a resolvê-los sem precisar da ajuda de especialistas em banco de dados..
Implantações azuis/verdes do Amazon RDS
As implantações azul/verde do Amazon RDS permitem que você faça atualizações no banco de dados de maneira mais segura, simples e rápida, sem perda de dados, no Amazon Aurora edição compatível com MySQL. Em poucas etapas, as implantações azuis/verdes criam um ambiente de preparação, que faz o espelhamento do ambiente de produção, e mantêm os dois ambientes sincronizados com o uso da replicação lógica. Você pode fazer alterações, como upgrades de versão principal/secundária, modificações de esquema e alterações na configuração de parâmetros, sem afetar a workload de produção.
Durante a promoção do seu ambiente de preparação, as implantações azuis/verdes bloqueiam as gravações em ambos os ambientes, azul e verde, até que a troca seja concluída. As implantações azuis/verdes usam barreiras de proteção integradas de troca que esgotam o tempo limite da promoção quando ela excede o tempo de inatividade máximo tolerável, detecta erros de replicação, verifica a integridade de instâncias etc.
Correção automática de software
O Amazon Aurora manterá seu banco de dados atualizado com os patches mais recentes. Você pode controlar se e quando são aplicados patches na instância de banco de dados por meio do gerenciamento de versões do mecanismo de banco de dados. O Aurora usa a aplicação de patches sem tempo de inatividade sempre que possível. Se ocorrer uma janela de tempo adequada, a instância será atualizada no local, as sessões das aplicações serão preservadas e o mecanismo de banco de dados será reiniciado enquanto a aplicação do patch está em execução, gerando uma queda de taxa de transferência temporária (aproximadamente cinco segundos).
Notificações de eventos de banco de dados
O Amazon Aurora pode notificá-lo por e-mail ou SMS sobre eventos de banco de dados importantes, como um failover automatizado. Você pode usar o Console de Gerenciamento da AWS ou as APIs do Amazon RDS para assinar mais de 40 eventos de banco de dados diferentes associados aos bancos de dados do Amazon Aurora.
Clonagem de banco de dados
O Amazon Aurora oferece suporte a operações de clonagem rápidas e eficientes, as quais permitem clonar clusters de banco de dados de vários terabytes em alguns minutos. A clonagem é útil para diversas finalidades, incluindo desenvolvimento de aplicativos, testes, atualizações de banco de dados e execução de consultas analíticas. A disponibilidade imediata de dados pode acelerar consideravelmente projetos de desenvolvimento e atualização de software, bem como aumentar a precisão das análises de dados.
É possível clonar um banco dados do Amazon Aurora com apenas alguns cliques, e isso não incorrerá em cobranças de armazenamento, exceto se você usar espaço adicional para armazenar as alterações de dados.
Iniciar/parar o banco de dados
Você pode iniciar e parar manualmente um banco de dados do Amazon Aurora com apenas alguns cliques. Com isso, fica fácil e acessível usar o Aurora para fins de desenvolvimento e testes, atividades que não exigem a execução contínua do banco de dados. Parar o banco de dados não exclui seus dados. Consulte a documentação sobre parar/iniciar para obter mais detalhes.
Suporte à migração
Migrações de banco de dados MySQL
As ferramentas padrão de importação e exportação do MySQL funcionam com o Amazon Aurora. Você também pode criar facilmente um novo banco de dados do Amazon Aurora a partir de um snapshot de banco de dados do Amazon RDS para MySQL. As operações de migração baseadas em snapshots de banco de dados normalmente são concluídas em menos de uma hora, mas variam com base na quantidade e no formato dos dados que estão sendo migrados.
Também é possível configurar uma replicação baseada em binlog entre um banco de dados Aurora edição compatível com MySQL e um banco de dados MySQL externo executado dentro ou fora da AWS.
Migrações de banco de dados PostgreSQL
As ferramentas padrão de importação e exportação do PostgreSQL funcionam com o Amazon Aurora, incluindo pg_dump e pg_restore. O Amazon Aurora também oferece suporte à importação de snapshots do Amazon RDS for PostgreSQL e à replicação com o AWS Database Migration Service (AWS DMS).
Migrações de banco de dados comerciais
O Amazon Aurora oferece um ambiente ideal para mover workloads de bancos de dados comerciais. O Aurora tem recursos funcionais que são semelhantes aos dos mecanismos de banco de dados comerciais e oferece a performance, a durabilidade e a alta disponibilidade de nível empresarial exigidas pela maioria das workloads de banco de dados empresariais. O AWS Database Migration Service (AWS DMS) pode ajudar a acelerar as migrações de banco de dados para o Amazon Aurora.
Babelfish para Aurora PostgreSQL
O Babelfish for Aurora PostgreSQL é um novo recurso do Amazon Aurora edição compatível com PostgreSQL que permite que o Aurora entenda comandos de aplicações escritas para o Microsoft SQL Server. Agora, com o Babelfish, o Aurora PostgreSQL entende T-SQL, o dialeto SQL exclusivo do Microsoft SQL Server, e oferece suporte ao mesmo protocolo de comunicações. Assim, as aplicações escritas originalmente para o SQL Server funcionarão com o Aurora após poucas alterações no código. Dessa forma, o esforço necessário para modificar e migrar aplicações executadas no SQL Server 2005 ou em uma versão mais recente para o Aurora diminui, possibilitando migrações mais rápidas, menos arriscadas e mais econômicas. O Babelfish é um recurso integrado do Amazon Aurora e não exige nenhum custo adicional. É possível habilitá-lo no cluster do Amazon Aurora com apenas alguns cliques na console de gerenciamento do RDS.
Economia
Pague somente pelo que usar
Não há compromissos antecipados com o Amazon Aurora. Você simplesmente paga um valor por hora para cada instância que executa. E quando terminar de usar uma instância de banco de dados do Amazon Aurora, você pode excluí-la facilmente. Não é necessário provisionar armazenamento excedente como margem de segurança. Você paga apenas pelo armazenamento realmente consumido. Para ver mais detalhes, acesse a página Definição de preço do Amazon Aurora.
Otimizar custos de E/S
Para uma aplicação que faz muitas análises, os custos de E/S normalmente são os que mais contribuem para o custo do banco de dados. E/S são operações de entrada/saída executadas pelo mecanismo de banco de dados Aurora na sua camada de armazenamento virtualizado com base em SSDs. Cada operação de leitura de página de banco de dados conta como uma E/S. O mecanismo de banco de dados Aurora emite leituras na camada de armazenamento para obter as páginas de banco de dados que não estão presentes no cache do buffer. Cada página do banco de dados tem 8 KB no Aurora with PostgreSQL compatibility e 16 KB no Aurora with MySQL compatibility. O Aurora foi projetado para eliminar operações de E/S desnecessárias com o objetivo de reduzir custos e garantir a disponibilidade de recursos para atender ao tráfego de leitura/gravação. As operações de E/S de gravação são consumidas apenas durante o envio de registros de log para a camada de armazenamento com o intuito de tornar as gravações mais duradouras. E/S de gravação são contadas em unidades de 4 KB. Por exemplo, um registro de log de transação com 1024 bytes será contado como uma operação de E/S. Porém, operações de gravação simultâneas com log de transação inferior a 4 KB poderão ser armazenadas juntas em lotes pelo mecanismo de banco de dados Aurora para otimizar o consumo de E/S. Diferentemente dos mecanismos de banco de dados tradicionais, o Amazon Aurora nunca envia páginas de banco de dados modificadas para a camada de armazenamento, o que resulta em economias de consumo de E/S ainda maiores.
Você pode ver quantas operações de E/S sua instância do Aurora está consumindo acessando o Console AWS. Para localizar o seu consumo de E/S, consulte a seção RDS do console, pesquise na lista de instâncias, selecione as suas instâncias do Aurora e procure pelas métricas “Operações de leitura faturadas” e “Operações de gravação faturadas” na seção de monitoramento. Para ver mais detalhes, acesse a página Definição de preço do Amazon Aurora.
Produtividade do desenvolvedor
Extensões de linguagem confiáveis para PostgreSQL
O Trusted Language Extensions (TLE) para PostgreSQL é um kit de desenvolvimento e um projeto de código aberto que permite criar rapidamente extensões de alta performance e executá-las com segurança no Amazon Aurora sem precisar que a AWS certifique códigos. Os desenvolvedores podem usar linguagens conhecidas, como JavaScript, PL/pgSQL, Perl e SQL, para escrever extensões com segurança. O TLE foi criado para impedir o acesso a recursos não seguros e limita os defeitos da extensão a uma única conexão de banco de dados. Os administradores de banco de dados têm controle detalhado e online sobre quem pode instalar as extensões e podem criar um modelo de permissões para executá-las. O TLE está disponível para clientes do Aurora sem custo adicional.
Machine learning
O Aurora oferece recursos de machine learning diretamente do banco de dados, permitindo adicionar previsões baseadas em ML a seus aplicativos por meio da familiar linguagem de programação SQL. Com uma integração simples, otimizada e segura entre os serviços de Aurora e machine learning da AWS, você tem acesso a uma ampla seleção de algoritmos de ML sem precisar criar integrações personalizadas ou mover dados. Saiba mais sobre o Aurora machine learning.
Suporte para o Proxy RDS
O Aurora trabalha em conjunto com o Amazon RDS Proxy, um proxy de banco de dados totalmente gerenciado e altamente disponível, que torna as aplicações mais escaláveis, resistentes a falhas do banco de dados e seguras. O RDS Proxy permite que as aplicações agrupem e compartilhem conexões estabelecidas com o banco de dados, melhorando a eficiência e a escalabilidade da aplicação. Reduz os períodos de failover, conectando-se automaticamente a uma nova instância de banco de dados, preservando as conexões de aplicativos. Aumenta a segurança através de integrações com AWS IAM e AWS Secrets Manager.
Saiba mais sobre a definição de preço do Amazon Aurora