Ir para o conteúdo

Implantação de alta disponibilidade na AWS para Jitterbit App Builder

Introdução

Você pode usar os seguintes produtos da AWS para construir um ambiente de App Builder de alta disponibilidade (HA):

  • Um bucket S3, configurado com acesso de leitura/gravação do App Builder, para o propósito de criar e compartilhar chaves de segurança.

  • Uma instância RDS em EC2 para o banco de dados do App Builder.

  • ElastiCache, usado como um barramento de mensagens para compartilhamento de informações entre instâncias do App Builder.

  • (Opcional) Elastic Beanstalk pode ser usado para gerenciar instâncias do App Builder e fornecer um balanceador de carga para distribuir solicitações de clientes.

O diagrama a seguir mostra uma maneira de como esses serviços podem ser usados como um ambiente do App Builder:

flowchart LR A[fa:fa-plug API client] B[fa:fa-balance-scale Elastic
load balancer] W[fa:fa-globe Web browser] AB1[fa:fa-window-restore App Builder] AB2[fa:fa-window-restore App Builder] AB3[fa:fa-window-restore App Builder] KS@{shape: das, label: "fa:fa-key S3
key storage"} MB["fa:fa-random Message bus
(Redis)"] ABDB[(fa:fa-database App Builder
database)] ODS@{ shape: lin-cyl, label: "fa:fa-table Other
data sources" } A --> B W --> B subgraph Process_Group [Elastic Beanstalk] B --> AB1 B --> AB2 B --> AB3 end AB1 --> MB AB2 --> MB AB3 --> MB subgraph EC[ElastiCache] MB end MB --> ABDB MB --> ODS KS -.- AB1 KS -.- AB2 KS -.- AB3

Armazenando chaves de criptografia de dados em um S3

Conforme observado na Configuração de criptografia de dados, o armazenamento local da instância EC2 não pode ser usado para armazenamento a longo prazo. Consequentemente, as Chaves de Criptografia de Dados (DEKs) devem ser armazenadas em buckets S3, conforme os seguintes detalhes:

  • Bucket: vinyl-data-encryption-keys (Bucket S3 padrão usado por ambientes do Elastic Beanstalk.)
  • Endereço: https://s3.amazonaws.com/vinyl-data-encryption-keys
  • Acesso: aws-elasticbeanstalk-ec2-role

Dentro do bucket, as DEKs são prefixadas com o nome do ambiente do Elastic Beanstalk.

Configurar o armazenamento da Chave de Criptografia de Dados (DEK) do ambiente do Elastic Beanstalk

O App Builder é fornecido com um script .ebextensions que registra as propriedades do ambiente para o armazenamento de DEK. Essas propriedades incluem o seguinte:

Propriedade Padrão Exemplo
DataEncryptionKeyStorage S3 S3
DataEncryptionKeyS3BucketEndpoint https://{bucket}.s3{-aws-region}.amazonaws.com https://s3.amazonaws.com/vinyl-data-encryption-keys
DataEncryptionKeyS3KeyPrefix {elastic-beanstalk-environment-name} abacceptance

O App Builder não iniciará com as propriedades de ambiente padrão do Elastic Beanstalk. Você deve alterar os valores de DataEncryptionKeyS3BucketEndpoint e DataEncryptionKeyS3KeyPrefix.

Conceder acesso aos ambientes do Elastic Beanstalk aos buckets S3

As instâncias EC2 dentro de um ambiente do Elastic Beanstalk são atribuídas a um papel. A seguinte política de exemplo concede acesso a um bucket S3:

Exemplo de política de acesso S3
{
  "Version": "2025-10-17",
  "Statement": [
    {
       "Effect": "Allow",
       "Action": "s3:*",
       "Resource": "arn:aws:s3:::{bucket-name}/*"
     },
     {
       "Effect": "Allow",
       "Action": [
         "s3:ListAllMyBuckets",
         "s3:GetBucketLocation",
         "s3:ListBucket"
       ],
       "Resource": "*"
     }
   ]
}

Configuração do ElastiCache

Você pode usar o ElastiCache para se comunicar entre os servidores do App Builder. Um pequeno nó, sem réplicas ou fragmentos, é suficiente.

Use as seguintes informações ao configurar os servidores de aplicativo nas configurações de Beanstalk:

attachment

Configuração do banco de dados

A configuração do banco de dados está fora do escopo deste documento. A Jitterbit pode fornecer instruções de configuração do RDS, se desejado.

Configuração do Elastic Beanstalk

Para configurar um serviço AWS Elastic Beanstalk, siga estas etapas:

  1. Crie o ambiente:

    attachment

  2. Selecione Criar servidor web:

    attachment

  3. Selecione IIS:

    Para alterar os valores padrão, selecione Alterar versão da plataforma, em seguida, selecione 8.5 no Windows Server 2012 R2 de 64 bits:

    attachment

  4. Selecione a versão apropriada do aplicativo:

    attachment

  5. Insira o nome do ambiente. Isso se torna parte de uma URL que pode ser usada para acessar este ambiente:

    attachment

    Dica

    Este namespace é usado em todas as instâncias do Elastic Beanstalk para todos os clientes da AWS.

  6. Marque Criar este ambiente dentro de um VPC:

    attachment

  7. Defina os seguintes valores:

    • Tipo de instância: t2.small (A Jitterbit recomenda instâncias T2.small e T2.medium para desenvolvimento e QA, e instâncias maiores para ambientes de produção.)
    • Par de chaves EC2: vinyl
    • (Opcional) Insira seu endereço de email para ser notificado sobre problemas no ambiente.

    anexo

  8. Configure as configurações do VPC conforme apropriado. (A visibilidade do ELB deve ser Externa.)

    anexo

  9. Revise o resumo:

    anexo

  10. Defina as permissões:

    anexo

  11. Salve a configuração:

    anexo

Após o ambiente estar ativo

Após o ambiente aparecer em verde no painel, é necessário configurar alguns parâmetros adicionais. Em Configuração > Configuração de Software, defina os valores para os seguintes campos de informações de conexão:

  • ConnectionInfo:DatabaseType

  • ConnectionInfo:HostName

  • ConnectionInfo:DatabaseName

  • ConnectionInfo:UserName

  • ConnectionInfo:Password

Após completar esses campos, o App Builder será aberto. (Passos adicionais para instalação ou atualização de banco de dados podem ser necessários.)

Configurando HTTPS

Ambientes do Elastic Beanstalk encerram a conexão HTTPS no Elastic Load Balancer. O suporte do App Builder para proxies reversos permite que ele detecte e gerencie esse cenário. O App Builder reconhece três propriedades de ambiente definidas quando a instância do Elastic Beanstalk é implantada. Essas variáveis de ambiente são scriptadas; você não precisará configurá-las manualmente.

HTTPS é fortemente recomendado para todos os novos ambientes do Elastic Beanstalk. No entanto, por padrão, novos ambientes do Elastic Beanstalk não são configurados para HTTPS. Para configurar o Elastic Beanstalk para aceitar solicitações HTTPS, siga estas etapas:

  1. Faça login no Console da Amazon Web Services.

  2. Em Serviços, escolha Elastic Beanstalk.

  3. Selecione o ambiente que você está atualizando.

  4. Selecione Configuração no menu à esquerda.

  5. Selecione o ícone de engrenagem ao lado de Balanceamento de Carga.

  6. Defina a Porta do Listener Seguro como 443.

  7. Selecione o ID do Certificado SSL que é aplicável.

  8. Clique no botão Salvar:

    attachment