Visão geral das tarefas operacionais do Amazon DocumentDB - Amazon DocumentDB

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Visão geral das tarefas operacionais do Amazon DocumentDB

.Esta seção aborda as tarefas operacionais do seu cluster do Amazon DocumentDB (compativel com MongoDB) e como realizar essas tarefas usando a AWS CLI

Adicionar uma réplica a um cluster do Amazon DocumentDB

Depois de criar a instância principal para seu cluster do Amazon DocumentDB, você pode adicionar uma ou mais réplicas. Uma réplica é uma instância somente leitura que serve a duas finalidades:

  • Escalabilidade — se houver um grande número de clientes que exijam acesso simultâneo, você poderá adicionar mais réplicas para leitura em escala.

  • Alta disponibilidade — se a instância principal falhar, o Amazon DocumentDB executará um failover automaticamente em uma instância de réplica e a designará como a nova principal. Se uma réplica falhar, outras instâncias no cluster ainda poderão atender as solicitações até que o nó com falha possa ser recuperado.

Cada cluster do Amazon DocumentDB pode oferecer suporte a até 15 réplicas.

nota

Para obter a máxima tolerância a falhas, você deve implantar as réplicas em Zonas de Disponibilidade separadas. Isso ajuda a garantir que seu cluster do Amazon DocumentDB possa continuar a funcionar, mesmo que toda uma Zona de Disponibilidade fique indisponível.

O exemplo de AWS CLI a seguir mostra como adicionar uma nova réplica. O parâmetro --availability-zone coloca a réplica na zona de disponibilidade especificada.

aws docdb create-db-instance \ --db-instance-identifier sample-instance \ --db-cluster-identifier sample-cluster \ --engine docdb \ --db-instance-class db.r5.large \ --availability-zone us-east-1a

Descrevendo clusters e instâncias

O exemplo AWS CLI a seguir lista todos os clusters do Amazon DocumentDB em uma Região. Para determinados atributos de gerenciamento, como o gerenciamento do ciclo de vida de clusters e instâncias, o Amazon DocumentDB aproveita a tecnologia operacional compartilhada com o Amazon RDS. O parâmetro de filtro filterName=engine,Values=docdb só retorna clusters do Amazon DocumentDB.

Para obter mais informações sobre como descrever e modificar clusters, consulte Ciclo de vida do cluster Amazon DocumentDB.

aws docdb describe-db-clusters --filter Name=engine,Values=docdb

A saída dessa operação é semelhante à seguinte.

{ "DBClusters": [ { "AvailabilityZones": [ "us-east-1c", "us-east-1b", "us-east-1a" ], "BackupRetentionPeriod": 1, "DBClusterIdentifier": "sample-cluster-1", "DBClusterParameterGroup": "sample-parameter-group", "DBSubnetGroup": "default", "Status": "available", ... }, { "AvailabilityZones": [ "us-east-1c", "us-east-1b", "us-east-1a" ], "BackupRetentionPeriod": 1, "DBClusterIdentifier": "sample-cluster-2", "DBClusterParameterGroup": "sample-parameter-group", "DBSubnetGroup": "default", "Status": "available", ... }, { "AvailabilityZones": [ "us-east-1c", "us-east-1b", "us-east-1a" ], "BackupRetentionPeriod": 1, "DBClusterIdentifier": "sample-cluster-3", "DBClusterParameterGroup": "sample-parameter-group", "DBSubnetGroup": "default", "Status": "available", ... } ] }

O exemplo AWS CLI a seguir lista as instâncias em um cluster do Amazon DocumentDB. Para obter mais informações sobre como descrever e modificar clusters, consulte Ciclo de vida da instância do Amazon DocumentDB.

aws docdb describe-db-clusters \ --db-cluster-identifier sample-cluster \ --query 'DBClusters[*].[DBClusterMembers]'

A saída é semelhante ao apontado abaixo. Nesta saída, há duas instâncias. A instância principal é sample-instance-1 ("IsClusterWriter": true). Há também uma instância de réplica, sample-instance2 ("IsClusterWriter: false").

[ [ [ { "DBInstanceIdentifier": "sample-instance-1", "IsClusterWriter": true, "DBClusterParameterGroupStatus": "in-sync", "PromotionTier": 1 }, { "DBInstanceIdentifier": "sample-cluster-2", "IsClusterWriter": false, "DBClusterParameterGroupStatus": "in-sync", "PromotionTier": 1 } ] ] ]

Criando uma captura de tela de cluster

Uma captura de tela de cluster é um backup completo dos dados no seu cluster do Amazon DocumentDB. Quando a captura de tela estiver sendo criada, o Amazon DocumentDB lerá os dados diretamente do volume de cluster. Por causa disso, você pode criar uma captura de tela mesmo que seu cluster não tenha nenhuma instância em execução no momento. O tempo necessário para criar uma captura de tela depende do tamanho do volume do cluster.

O Amazon DocumentDB oferece suporte a backups automáticos, que ocorrem diariamente durante a janela de backup preferencial — um período de 30 minutos durante o dia. O exemplo AWS CLI a seguir mostra como visualizar a janela de backup do cluster:

aws docdb describe-db-clusters \ --db-cluster-identifier sample-cluster \ --query 'DBClusters[*].PreferredBackupWindow'

A saída mostra a janela de backup (em UTC):

[ "00:18-00:48" ]

Você pode definir a janela de backup ao criar o cluster do Amazon DocumentDB. Você também pode alterar a janela de backup, conforme mostrado no exemplo a seguir. Se você não definir uma janela de backup, o Amazon DocumentDB atribuirá uma automaticamente ao cluster.

aws docdb modify-db-cluster \ --db-cluster-identifier sample-cluster \ --preferred-backup-window "02:00-02:30"

Além dos backups automáticos, você pode criar manualmente uma captura de tela de cluster a qualquer momento. Ao fazer isso, você especifica o cluster cujo backup deseja fazer e um nome exclusivo para a captura de tela, para que você possa restaurar a partir dela posteriormente.

O exemplo da AWS CLI a seguir mostra como criar uma captura de tela dos dados.

aws docdb create-db-cluster-snapshot \ --db-cluster-identifier sample-cluster \ --db-cluster-snapshot-identifier sample-cluster-snapshot

Restaurando a partir de uma captura de tela

Você pode restaurar uma captura de tela de cluster em um novo cluster do Amazon DocumentDB. Para fazer isso, forneça o nome da captura de tela e o nome de um novo cluster. Não é possível restaurar a partir de uma captura de tela para um cluster existente. Em vez disso, o Amazon DocumentDB criará um cluster quando você fizer a restauração e o preencher com os dados da captura de tela.

O exemplo a seguir mostra todas as capturas de tela de um determinado cluster sample-cluster.

aws docdb describe-db-cluster-snapshots \ --db-cluster-identifier sample-cluster \ --query 'DBClusterSnapshots[*].[DBClusterSnapshotIdentifier,SnapshotType,Status]'

A saída é semelhante ao apontado abaixo. Uma captura de tela manual é criada manualmente, enquanto uma captura de tela automatizada é criado pelo Amazon DocumentDB dentro da janela de backup do cluster.

[ "sample-cluster-snapshot", "manual", "available" ], [ "rds:sample-cluster", "automated", "available" ] ]

O exemplo a seguir mostra como restaurar um cluster do Amazon DocumentDB a partir de uma captura de tela.

aws docdb restore-db-cluster-from-snapshot \ --engine docdb \ --db-cluster-identifier new-sample-cluster \ --snapshot-identifier sample-cluster-snapshot

O novo cluster não tem nenhuma instância associada a ele, portanto, para interagir com o cluster, adicione uma instância a ele.

aws docdb create-db-instance \ --db-instance-identifier new-sample-instance \ --db-instance-class db.r5.large \ --engine docdb \ --db-cluster-identifier new-sample-cluster

É possível usar as seguintes operações AWS CLI para monitorar o andamento da criação do cluster e da instância: Quando os status do cluster e da instância estiverem disponíveis, você poderá se conectar ao endpoint do novo cluster e acessar seus dados.

aws docdb describe-db-clusters \ --db-cluster-identifier new-sample-cluster \ --query 'DBClusters[*].[Status,Endpoint]'
aws docdb describe-db-instances \ --db-instance-identifier new-sample-instance \ --query 'DBInstances[*].[DBInstanceStatus]'

Removendo uma instância de um cluster

O Amazon DocumentDB armazena todos os dados no volume do cluster. Os dados persistem nesse volume de cluster, mesmo se você remover todas as instâncias do cluster. Se precisar acessar os dados novamente, adicione uma instância ao cluster a qualquer momento e continue de onde parou.

O exemplo a seguir mostra como remover uma instância de seu cluster do Amazon DocumentDB.

aws docdb delete-db-instance \ --db-instance-identifier sample-instance

Excluindo um cluster

Para excluir um cluster do Amazon DocumentDB, é necessário primeiro remover todas as instâncias. O exemplo AWS CLI a seguir retorna informações sobre as instâncias em um cluster. Se essa operação retornar qualquer identificador de instância, você terá que excluir cada uma das instâncias. Para obter mais informações, consulte Removendo uma instância de um cluster.

aws docdb describe-db-clusters \ --db-cluster-identifier sample-cluster \ --query 'DBClusters[*].DBClusterMembers[*].DBInstanceIdentifier'

Quando não houver mais instâncias restantes, você poderá excluir o cluster. Nesse momento, você deve escolher uma das seguintes opções:

  • Criar uma captura de tela final — capture todos os dados do cluster em uma captura de tela para recriar uma instância com esses dados posteriormente. O exemplo a seguir mostra como fazê-lo:

    aws docdb delete-db-cluster \ --db-cluster-identifier sample-cluster \ --final-db-snapshot-identifier sample-cluster-snapshot
  • Ignore o snapshot final — descarte permanentemente todos os dados do cluster. Essa ação não pode ser revertida. O exemplo a seguir mostra como fazê-lo:

    aws docdb delete-db-cluster \ --db-cluster-identifier sample-cluster \ --skip-final-snapshot