Usando AWS CloudFormation para configurar a replicação de Neptune-para-Neptune com o aplicativo Streams Consumer - 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á.

Usando AWS CloudFormation para configurar a replicação de Neptune-para-Neptune com o aplicativo Streams Consumer

Você pode usar um AWS CloudFormation modelo para configurar o aplicativo consumidor do Neptune Streams para oferecer suporte à replicação de Netuno para Netuno.

Escolha um AWS CloudFormation modelo para sua região

Para iniciar a AWS CloudFormation pilha apropriada no AWS CloudFormation console, escolha um dos botões Iniciar pilha na tabela a seguir, dependendo da AWS região que você deseja usar.

Região Visualização Visualizar no Designer Executar
Leste dos EUA (Norte da Virgínia) Visão Visualizar no Designer
Leste dos EUA (Ohio) Visão Visualizar no Designer
Oeste dos EUA (N. da Califórnia) Visão Visualizar no Designer
Oeste dos EUA (Oregon) Visão Visualizar no Designer
Canadá (Central) Visão Visualizar no Designer
América do Sul (São Paulo) Visão Visualizar no Designer
Europa (Estocolmo) Visão Visualizar no Designer
Europa (Irlanda) Visão Visualizar no Designer
Europa (Londres) Visão Visualizar no Designer
Europa (Paris) Visão Visualizar no Designer
Europa (Frankfurt) Visão Visualizar no Designer
Oriente Médio (Barém) Visão Visualizar no Designer
Oriente Médio (Emirados Árabes Unidos) Visão Visualizar no Designer
Israel (Tel Aviv) Visão Visualizar no Designer
África (Cidade do Cabo) Visão Visualizar no Designer
Ásia-Pacífico (Tóquio) Visão Visualizar no Designer
Ásia-Pacífico (Hong Kong) Visão Visualizar no Designer
Ásia-Pacífico (Seul) Visão Visualizar no Designer
Ásia-Pacífico (Singapura) Visão Visualizar no Designer
Ásia-Pacífico (Sydney) Visão Visualizar no Designer
Ásia-Pacífico (Mumbai) Visão Visualizar no Designer
China (Pequim) Visão Visualizar no Designer
China (Ningxia) Visão Visualizar no Designer
AWS GovCloud (Oeste dos EUA) Visão Visualizar no Designer
AWS GovCloud (Leste dos EUA) Visão Visualizar no Designer

Na página Create Stack (Criar pilha), selecione Next (Avançar).

Adicionar detalhes sobre a pilha de consumidor de fluxos do Neptune que você está criando

A página Specify Stack Details (Especificar detalhes da pilha) fornece propriedades e parâmetros que você pode usar para controlar a configuração do aplicativo:

Nome da pilha — O nome da nova AWS CloudFormation pilha que você está criando. Geralmente, você pode usar o valor padrão, NeptuneStreamPoller.

Em Parameters (Parâmetros), forneça o seguinte:

Configuração de rede para a VPC na qual o consumidor de fluxos é executado
  • VPC: forneça o nome da VPC na qual a função do Lambda de sondagem será executada.

  • SubnetIDs: as sub-redes para as quais será estabelecida uma interface de rede. Adicione sub-redes correspondentes ao cluster do Neptune.

  • SecurityGroupIds: forneça os IDs dos grupos de segurança que concedem o acesso de entrada de gravação ao cluster de banco de dados de origem do Neptune.

  • RouteTableIds: isso é necessário para criar um endpoint do Amazon DynamoDB na VPC do Neptune, caso ainda não tenha um. Forneça uma lista separada por vírgulas de IDs de tabela de rotas associados às sub-redes.

  • CreateDDBVPCEndPoint: um valor booliano cujo padrão é true, indicando se é necessário ou não criar um endpoint da VPC de banco de dados do Dynamo. Você só precisará alterá-lo para false se já tiver criado um endpoint do DynamoDB na VPC.

  • CreateMonitoringEndPoint: um valor booliano cujo padrão é true, indicando se é necessário ou não criar um endpoint da VPC de monitoramento. Você só precisará alterá-lo para false se já tiver criado um endpoint de monitoramento na VPC.

Instrumento de sondagem de fluxos
  • ApplicationName: geralmente, você pode manter a configuração padrão (NeptuneStream). Se você usar um nome diferente, ele deverá ser exclusivo.

  • LambdaMemorySize: usado para definir o tamanho da memória disponível para a função do instrumento de sondagem do Lambda. O valor padrão é de 2.048 megabytes.

  • LambdaRuntime: a linguagem usada na função do Lambda que recupera os itens do fluxo do Neptune. É possível definir como python3.9 ou java8.

  • LambdaS3Bucket: o bucket do Amazon S3 que contém artefatos de código do Lambda. Deixe em branco, a menos que esteja usando uma função de sondagem personalizada do Lambda, carregada em outro bucket do Amazon S3.

  • LambdaS3Key: a chave do Amazon S3 que corresponde aos seus artefatos de código do Lambda. Deixe em branco, a menos que esteja usando uma função de sondagem personalizada do Lambda.

  • LambdaLoggingLevel: em geral, mantenha a configuração padrão, que é INFO.

  • ManagedPolicies: lista as políticas gerenciadas a serem usadas na execução da função do Lambda. Em geral, deixe em branco, a menos que esteja usando uma função de sondagem personalizada do Lambda.

  • StreamRecordsHandler: em geral, deixe em branco, a menos que esteja usando um manipulador personalizado para os registros nos fluxos do Neptune.

  • StreamRecordsBatchSize: o número máximo de registros a serem obtidos no fluxo. É possível usar esse parâmetro para ajustar o desempenho. Recomendamos iniciar com o valor padrão (5000). O máximo permitido é 10.000. Quanto maior o número, menor serão as chamadas de rede necessárias para ler os registros do fluxo, mas maior será a memória necessária para processar os registros. Valores mais baixos desse parâmetro geram uma menor taxa de transferência.

  • MaxPollingWaitTime: o tempo máximo de espera entre duas pesquisas (em segundos). Determina com que frequência o instrumento de sondagem do Lambda será invocado para sondar os fluxos do Neptune. Defina esse valor como 0 para a sondagem contínua. O valor máximo é de 3.600 segundos (1 hora). Recomendamos o valor padrão (60 segundos) para começar, dependendo da rapidez com que os dados do gráfico mudam.

  • MaxPollingInterval: o período máximo de sondagem contínua (em segundos). Use isso para definir um tempo limite para a função de sondagem do Lambda. O valor deve estar no intervalo entre cinco segundos e novecentos segundos. Recomendamos começar com o valor padrão (600 segundos).

  • StepFunctionFallbackPeriod— O número de unidades de step-function-fallback-period espera pelo poller, após o qual a função step é chamada por meio do Amazon CloudWatch Events para se recuperar de uma falha. Recomendamos iniciar com o valor padrão (5 minutos).

  • StepFunctionFallbackPeriodUnit: as unidades de tempo usadas para medir o StepFunctionFallbackPeriodUnit anterior (minutes, hours ou days). Em geral, o padrão (minutes) é suficiente.

Fluxo do Neptune
  • NeptuneStreamEndpoint: (obrigatório) o endpoint do fluxo de origem do Neptune. Isso assume uma destas duas formas:

    • https://your DB cluster:port/propertygraph/stream (ou o alias, https://your DB cluster:port/pg/stream).

    • https://your DB cluster:port/sparql/stream.

  • Neptune Query Engine: escolha Gremlin, openCypher ou SPARQL.

  • IAMAuthEnabledOnSourceStream: se o cluster de banco de dados do Neptune estiver usando a autenticação do IAM, defina esse parâmetro como true.

  • StreamDBClusterResourceId: se o cluster de banco de dados do Neptune estiver usando a autenticação do IAM, defina esse parâmetro como o ID do recurso do cluster. O ID do recurso não é igual ao ID do cluster. Em vez disso, o formato é: cluster- seguido por 28 caracteres alfanuméricos. Ele pode ser encontrado em Detalhes do cluster no console do Neptune.

Cluster de banco de dados do Neptune de destino
  • TargetNeptuneClusterEndpoint: o endpoint do cluster (somente nome do host) do cluster de backup de destino.

    Observe que, se você especificar TargetNeptuneClusterEndpoint, não poderá especificar TargetSPARQLUpdateEndpoint.

  • TargetNeptuneClusterPort: o número da porta do cluster de destino.

    Observe que, se você especificar TargetSPARQLUpdateEndpoint, a configuração de TargetNeptuneClusterPort será ignorada.

  • IAMAuthEnabledOnTargetCluster: defina como verdadeiro se a autenticação do IAM precisar ser habilitada no cluster de destino.

  • TargetAWSRegion— A AWS região do cluster de backup de destino, comous-east-1). Você deve fornecer esse parâmetro somente quando a AWS região do cluster de backup de destino for diferente da região do cluster de origem do Neptune, como no caso da replicação entre regiões. Se as regiões de origem e de destino forem iguais, esse parâmetro será opcional.

    Observe que, se o TargetAWSRegion valor não for uma AWS região válida compatível com o Neptune, o processo falhará.

  • TargetNeptuneDBClusterResourceId: opcional: isso só é necessário quando a autenticação do IAM está habilitada no cluster de banco de dados de destino. Defina como o ID do recurso do cluster de destino.

  • SPARQLTripleOnlyMode: sinalizador booliano que determina se o modo somente triplo está habilitado. No modo somente triplo, não há replicação de grafo nomeado. O valor padrão é false.

  • TargetSPARQLUpdateEndpoint: URL do endpoint de destino para atualização do SPARQL, como https://abc.com/xyz. Esse endpoint pode ser qualquer armazenamento SPARQL compatível com quádruplos ou triplos.

    Observe que, se você especificar TargetSPARQLUpdateEndpoint, também não poderá especificar TargetNeptuneClusterEndpoint e a configuração de TargetNeptuneClusterPort será ignorada.

  • BlockSparqlReplicationOnBlankNode — Sinalizador booleano que, se definido comotrue, interrompe a replicação de dados BlankNode em SPARQL (RDF). O valor padrão é false.

Alarme
  • Required to create Cloud watch Alarm— Defina isso true se quiser criar um CloudWatch alarme para a nova pilha.

  • SNS Topic ARN for Cloudwatch Alarm Notifications— O ARN do tópico do SNS para o CloudWatch qual as notificações de alarme devem ser enviadas (necessário somente se os alarmes estiverem habilitados).

  • Email for Alarm Notifications: o endereço de e-mail para o qual as notificações de alarme devem ser enviadas (somente necessário se os alarmes estiverem habilitados).

Para o destino da notificação de alarmes, é possível adicionar somente SNS, somente e-mail ou SNS e e-mail.

Execute o AWS CloudFormation modelo

Agora é possível concluir o processo de provisionamento de uma instância de aplicação do consumidor de fluxos do Neptune da seguinte forma:

  1. Em AWS CloudFormation, na página Especificar detalhes da pilha, escolha Avançar.

  2. Na página Options (Opções), escolha Next (Avançar).

  3. Na página Revisar, marque a primeira caixa de seleção para confirmar que o AWS CloudFormation criará recursos do IAM. Marque a segunda caixa de seleção para confirmar CAPABILITY_AUTO_EXPAND para a nova pilha.

    nota

    CAPABILITY_AUTO_EXPAND confirma explicitamente que os macros serão expandidos ao criar a pilha, sem revisão anterior. Os usuários geralmente criam um conjunto de alterações a partir de um modelo processado para que as alterações feitas pelos macros possam ser revisadas antes de criar a pilha. Para obter mais informações, consulte a AWS CloudFormation CreateStackAPI na Referência AWS CloudFormation da API.

    Em seguida, selecione Criar.

Como atualizar o instrumento de sondagem de fluxos com os artefatos mais recentes do Lambda

É possível atualizar o instrumento de sondagem de fluxos com os artefatos de código mais recentes do Lambda:

  1. No AWS Management Console, navegue até a AWS CloudFormation pilha principal AWS CloudFormation e selecione-a.

  2. Selecione a opção Atualizar para a pilha.

  3. Selecione Substituir modelo atual.

  4. Para a origem do modelo, escolha o URL do Amazon S3 e insira o seguinte URL do S3:

    https://aws-neptune-customer-samples.s3.amazonaws.com/neptune-stream/neptune_to_neptune.json
  5. Selecione Avançar sem alterar nenhum AWS CloudFormation parâmetro.

  6. Escolha Update Stack (Atualizar pilha).

A pilha agora atualizará os artefatos do Lambda com os mais recentes.