Monitorar o Amazon Aurora com o recurso Database Activity Streams - Amazon Aurora

Monitorar o Amazon Aurora com o recurso Database Activity Streams

Usando o recurso Database Activity Streams, você pode monitorar fluxos quase em tempo real da atividade de um banco de dados.

Visão geral dos Database Activity Streams

Como administrador de um banco de dados do Amazon Aurora, você precisa proteger o banco de dados e atender aos requisitos regulatórios e de compatibilidade. Uma estratégia é integrar fluxos de atividades de banco de dados às suas ferramentas de monitoramento. Dessa forma, você monitora e define alarmes para realizar a auditoria da atividade no cluster do Amazon Aurora.

As ameaças à segurança são externas e internas. Para se proteger contra ameaças internas, você pode controlar o acesso do administrador aos transmissões de dados configurando o recurso Database Activity Streams. Os administradores de bancos de dados não têm acesso à coleta, transmissão, armazenamento e processamento das transmissões.

Como os fluxos de atividade do banco de dados funcionam

No Amazon Aurora, você inicia um fluxo de atividades de banco de dados no nível do cluster. Todas as instâncias de banco de dados no cluster têm fluxos de atividades de banco de dados habilitados.

Seu cluster de banco de dados do Aurora envia atividades para um fluxo de dados do Amazon Kinesis quase em tempo real. O fluxo do Kinesis é criado automaticamente. No Kinesis, é possível configurar serviços da AWS, como o Amazon Data Firehose e o AWS Lambda, para consumir o fluxo e armazenar os dados.

Importante

O uso do recurso Database Activity Streams é gratuito no Amazon Aurora, mas o Amazon Kinesis cobra pelo fluxo de dados. Para ter mais informações, consulte Definição de preço do Amazon Kinesis Data Streams.

Se você usar um banco de dados global do Aurora, inicie um fluxo de atividades de banco de dados em cada cluster de banco de dados separadamente. Cada cluster fornece dados de auditoria ao seu próprio fluxo do Kinesis dentro de sua própria Região da AWS. Os fluxos de atividade não funcionam de forma diferente durante um failover. Eles continuam a auditar seu banco de dados global como de costume.

É possível configurar aplicações para gerenciamento de conformidade com o objetivo de consumir fluxos de atividades do banco de dados. No Aurora PostgreSQL, as aplicações de conformidade incluem o IBM Security Guardium e o Imperva SecureSphere Database Audit and Protection. Essas aplicações podem usar o fluxo para gerar alertas e auditar atividades em seu cluster de banco de dados Aurora.

O gráfico a seguir mostra um cluster de banco de dados do Aurora configurado com o Amazon Data Firehose.

Diagrama de arquitetura mostrando fluxos de atividades do banco de dados de um cluster de banco de dados do Aurora consumido pelo Firehose

Modo assíncrono e síncrono para transmissões de atividades de banco de dados

Você pode decidir se prefere que a sessão de banco de dados processe os eventos de atividade de banco de dados em um destes modos:

  • Modo assíncrono: quando uma sessão de banco de dados gera um evento de fluxo de atividade, a sessão retorna às atividades normais imediatamente. Em segundo plano, o evento do fluxo de atividade é tornado um registro durável. Se ocorrer um erro na tarefa de segundo plano, é enviado um evento do RDS. Este evento indica o início e o final de qualquer janela de tempo em que os registros do evento do fluxo de atividade podem ter sido perdidos.

    O modo assíncrono favorece a performance do banco de dados sobre a precisão do fluxo de atividade.

    nota

    O modo assíncrono está disponível para o Aurora PostgreSQL e o Aurora MySQL.

  • Modo síncrono: quando uma sessão de banco de dados gera um evento de fluxo de atividade, a sessão bloqueia outras atividades até que o evento torne-se durável. Se não puder tornar o evento por algum motivo, a sessão de banco de dados retorna às atividades normais. No entanto, um evento do RDS é enviado, indicando que os registros do fluxo de atividade podem ser perdidos por algum tempo. Um segundo evento do RDS é enviado depois que o sistema voltar a um estado íntegro.

    O modo síncrono favorece a precisão do fluxo de atividade sobre a performance do banco de dados.

    nota

    O modo síncrono está disponível para o Aurora PostgreSQL. Não é possível usar o modo síncrono com o Aurora MySQL.

Requisitos e limitações para fluxos de atividade de banco de dados

No Aurora, os fluxos de atividade de banco de dados têm os seguintes requisitos e limites:

  • O Amazon Kinesis é imprescindível para os fluxos de atividades do banco de dados.

  • O AWS Key Management Service (AWS KMS) é imprescindível para fluxos de atividades de banco de dados, pois eles são sempre criptografados.

  • A aplicação de criptografia adicional ao seu fluxo de dados do Amazon Kinesis é incompatível com fluxos de atividade do banco de dados, que já estão criptografados com sua chave do AWS KMS.

  • Inicie o fluxo de atividades do banco de dados no nível do cluster de banco de dados. Se você adicionar uma instância de banco de dados ao cluster, não precisará iniciar um fluxo de atividades na instância: ele é auditado automaticamente.

  • No banco de dados global do Aurora, inicie um fluxo de atividades em cada cluster de banco de dados separadamente. Cada cluster fornece dados de auditoria ao seu próprio fluxo do Kinesis dentro de sua própria Região da AWS.

  • No Aurora PostgreSQL, interrompa o fluxo de atividades do banco de dados antes de uma atualização. Você poderá iniciar o fluxo de atividades do banco de dados após o término da atualização.

Disponibilidade de região e versão

A disponibilidade e a compatibilidade de recursos variam entre versões específicas de cada mecanismo de banco de dados do Aurora e entre Regiões da AWS. Para ter mais informações sobre a disponibilidade de versões e regiões com o Aurora e fluxos de atividades de banco de dados, consulte Regiões e mecanismos de banco de dados do Aurora compatíveis com fluxos de atividades de banco de dados.

Classes de instância de banco de dados compatíveis para transmissões de atividades de banco de dados

Para o Aurora MySQL, é possível utilizar fluxos de atividades de banco de dados com as seguintes classes de instâncias de banco de dados:

  • db.r7g.*large

  • db.r6g.*large

  • db.r6i.*large

  • db.r5.*large

  • db.x2g.*

Para o Aurora PostgreSQL, é possível utilizar fluxos de atividades de banco de dados com as seguintes classes de instâncias de banco de dados:

  • db.r7g.*large

  • db.r6g.*large

  • db.r6i.*large

  • db.r6id.*large

  • db.r5.*large

  • db.r4.*large

  • db.x2g.*