Configurar um banco de dados global no Amazon Neptune - Amazon Neptune

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á.

Configurar um banco de dados global no Amazon Neptune

É possível criar um banco de dados Neptune de uma das seguintes maneiras:

Requisitos de configuração para um banco de dados global no Amazon Neptune

Um banco de dados global Neptune abrange pelo menos duas Regiões da AWS. A Região da AWS principal contém um cluster de banco de dados Neptune com uma instância de gravador. De uma a cinco Regiões da AWS secundárias contêm um cluster de banco de dados Neptune somente leitura composto inteiramente de instâncias de réplica de leitura. Pelo menos uma Região da AWS secundária é necessária.

Os clusters de banco de dados Neptune que compõem um banco de dados global têm os seguintes requisitos específicos:

  • Requisitos de classe de instância de banco de dados: um banco de dados global requer as classes de instância r5 ou r6g de banco de dados otimizadas para workloads de uso intenso de memória, como um tipo de instância db.r5.large.

  • Requisitos da Região da AWS: um banco de dados global precisa de um cluster de banco de dados Neptune principal em uma Região da AWS e pelo menos um cluster de banco de dados Neptune secundário em uma região diferente. É possível criar até cinco clusters de banco de dados secundários do Neptune somente leitura e cada um deve estar em uma região diferente. Em outras palavras, dois clusters de banco de dados Neptune em um banco de dados global Neptune não podem estar na mesma Região da AWS.

  • Requisitos de versão do mecanismo: a versão do mecanismo do Neptune usada por todos os clusters de banco de dados no banco de dados global deve ser a mesma e deve ser superior ou igual a 1.2.0.0. Se você não especificar a versão do mecanismo ao criar um banco de dados global, um cluster ou uma instância, a versão mais recente do mecanismo será usada.

Importante

Embora os grupos de parâmetros do cluster de banco de dados possam ser configurados de forma independente para cada cluster de banco de dados em um banco de dados global, é melhor manter as configurações consistentes em todos os clusters para evitar alterações inesperadas de comportamento se um cluster secundário precisar ser promovido a principal. Por exemplo, use as mesmas configurações para índices de objetos, fluxos, etc. em todos os clusters de banco de dados.

Usar a AWS CLI para criar um banco de dados global no Amazon Neptune

nota

Os exemplos nesta seção seguem a convenção UNIX de usar uma barra invertida (\) como caractere extensor de linha. No Windows, substitua a barra invertida por um acento circunflexo (^).

Como criar um banco de dados global usando a AWS CLI
  1. Comece criando um banco de dados global vazio usando o comando create-global-cluster da AWS CLI (que envolve a API CreateGlobalCluster). Especifique o nome da Região da AWS que você deseja que seja principal, defina o Neptune como o mecanismo do banco de dados e, opcionalmente, especifique a versão do mecanismo que você deseja usar (deve ser a versão 1.2.0.0 ou posterior):

    aws neptune create-global-cluster --region (primary region, such as us-east-1) \ --global-cluster-identifier (ID for the global database) \ --engine neptune \ --engine-version (engine version; this is optional)
  2. Pode levar alguns minutos para que o banco de dados global esteja disponível. Portanto, antes de ir para a próxima etapa, use o comando describe-global-clusters da CLI (que envolve a API DescribeGlobalClusters) para conferir se o banco de dados global está disponível:

    aws neptune describe-global-clusters \ --region (primary region) \ --global-cluster-identifier (global database ID)
  3. Depois que o banco de dados global Neptune estiver disponível, você poderá criar um cluster de banco de dados Neptune para ser o cluster principal:

    aws neptune create-db-cluster \ --region (primary region) \ --db-cluster-identifier (ID for the primary DB cluster) \ --engine neptune \ --engine-version (engine version; must be >= 1.2.0.0) \ --global-cluster-identifier (global database ID)
  4. Use o comando describe-db-clusters da AWS CLI para confirmar se o novo cluster de banco de dados está pronto para você adicionar a instância de banco de dados principal:

    aws neptune describe-db-clusters \ --region (primary region) \ --db-cluster-identifier (primary DB cluster ID)

    Quando os resultados mostrarem "Status": "available", siga para a próxima etapa.

  5. Crie a instância de banco de dados principal para o cluster principal usando o comando create-db-instance da AWS CLI. É necessário usar um dos tipos de instância r5 ou r6g otimizados para memória, como db.r5.large.

    aws neptune create-db-instance \ --region (primary region) \ --db-cluster-identifier (primary cluster ID) \ --db-instance-class (instance class) \ --db-instance-identifier (ID for the DB instance) \ --engine neptune \ --engine-version (optional: engine version)
nota

Se você planeja adicionar dados ao novo cluster de banco de dados principal usando o carregador em massa do Neptune, faça isso antes de adicionar regiões secundárias. Isso é mais rápido e econômico do que realizar um carregamento em massa depois que o banco de dados global estiver totalmente configurado.

Agora, adicione uma ou mais regiões secundárias ao novo banco de dados global, conforme descrito em Adicionar uma região secundária usando a AWS CLI.

Transformar um cluster de banco de dados existente em um banco de dados global

Para transformar um cluster de banco de dados existente em um banco de dados global, use o comando create-global-cluster da AWS CLI para criar um banco de dados global na mesma Região da AWS onde o cluster de banco de dados existente está localizado e defina o parâmetro --source-db-cluster-identifier como o nome do recurso da Amazon (ARN) do cluster existente no local:

aws neptune create-global-cluster \ --region (region where the existing cluster is located) \ --global-cluster-identifier (provide an ID for the new global database) \ --source-db-cluster-identifier (the ARN of the existing DB cluster) \ --engine neptune \ --engine-version (engine version; this is optional)

Agora, adicione uma ou mais regiões secundárias ao novo banco de dados global, conforme descrito em Adicionar uma região secundária usando a AWS CLI.

Usar um cluster de banco de dados restaurado a partir de um snapshot como cluster principal

É possível transformar um cluster de banco de dados restaurado de um snapshot em um banco de dados global Neptune. Depois que a restauração for concluída, transforme o cluster de banco de dados criado no cluster principal de um novo banco de dados global conforme descrito acima.

Adicionar regiões secundárias de um banco de dados global a uma região principal no Amazon Neptune

Um banco de dados global Neptune precisa de pelo menos um cluster de banco de dados secundário do Neptune em uma Região da AWSdiferente do cluster de banco de dados principal. Você pode anexar até cinco clusters de banco de dados secundários ao cluster de banco de dados principal.

Cada cluster de banco de dados secundário adicionado reduz em um o número máximo de instâncias de réplica de leitura que você pode ter no cluster principal. Por exemplo, se houver quatro clusters secundários, o número máximo de instâncias de réplica de leitura que você poderá ter no cluster principal é 15 - 4 = 11. Isso significa que, se você tiver 14 instâncias de leitor no cluster de banco de dados principal e um cluster secundário, não será possível adicionar outro cluster secundário.

Usar a AWS CLI para adicionar uma região secundária a um banco de dados global no Neptune

Como adicionar uma Região da AWS secundária a um banco de dados global Neptune usando a AWS CLI
  1. Use o comando create-db-cluster da AWS CLI para criar um cluster de banco de dados em uma região diferente da do cluster principal e defina o parâmetro --global-cluster-identifier para especificar o ID do banco de dados global:

    aws neptune create-db-cluster \ --region (the secondary region) \ --db-cluster-identifier (ID for the new secondary DB cluster) \ --global-cluster-identifier (global database ID) --engine neptune \ --engine-version (optional: engine version)
  2. Use o comando describe-db-clusters da AWS CLI para confirmar se o novo cluster de banco de dados está pronto para você adicionar a instância de banco de dados principal:

    aws neptune describe-db-clusters \ --region (primary region) \ --db-cluster-identifier (primary DB cluster ID)

    Quando os resultados mostrarem "Status": "available", siga para a próxima etapa.

  3. Crie a instância de banco de dados principal para o cluster principal por meio do comando create-db-instance da AWS CLI, usando um tipo de instância na classe de instância r5 ou r6g:

    aws neptune create-db-instance \ --region (secondary region) \ --db-cluster-identifier (secondary cluster ID) \ --db-instance-class (instance class) \ --db-instance-identifier (ID for the DB instance) \ --engine neptune \ --engine-version (optional: engine version)
nota

Se você não pretende atender a um grande número de solicitações de leitura na região secundária e se preocupa principalmente em manter o backup confiável dos dados, é possível criar um cluster de banco de dados secundário sem instâncias de banco de dados. Isso economiza dinheiro, já que você pagará apenas pelo armazenamento do cluster secundário, que o Neptune manterá sincronizado com o armazenamento no cluster de banco de dados principal.

Conectar-se a um banco de dados global Neptune

A forma de conexão com um banco de dados global Neptune depende se você precisa gravar ou ler nele:

  • Para solicitações ou consultas somente leitura, conecte-se ao endpoint de leitor do cluster do Neptune na Região da AWS.

  • Para executar consultas de mutação, conecte-se ao endpoint do cluster de banco de dados principal, que pode estar em uma Região da AWS diferente da aplicação.