Ir para o conteúdo

Transforme as suas conexões em um bônus de fim de ano com o nosso novo Programa de Indicação de Clientes! Saiba mais

Esta documentação é para a versão 4 e posterior do App Builder, o novo nome do Vinyl. Acesse a documentação do Vinyl aqui.

Implantação de alta disponibilidade no local para o Jitterbit App Builder

Introdução

O diagrama a seguir ilustra os principais componentes em uma implantação de alta disponibilidade do App Builder:

attachment

O App Builder requer sincronização de chave de criptografia, Redis como um barramento de mensagens e sincronização simples de dados e configuração do servidor de aplicativos.

Chaves de criptografia de dados

O App Builder usa criptografia de dados para duas finalidades:

  1. Proteger tokens de segurança, como cookies de sessão.

  2. criptografia de coluna em nível de aplicativo.

Ambos usam a mesma tecnologia de criptografia de dados subjacente. Especificamente, eles usam ASP.Net Data Protection API. Embora o App Builder tente configurar a biblioteca de proteção de dados automaticamente, pode ser necessária configuração adicional.

Armazenamento de chaves de criptografia de dados

Chaves de Criptografia de Dados (DEKs) são chaves de criptografia simétricas usadas para proteger dados. Como as DEKs são usadas para criptografar dados armazenados no banco de dados, as DEKs em si não podem ser armazenadas no banco de dados. O App Builder oferece suporte a várias políticas de armazenamento DEK configuráveis. Os administradores devem escolher a política de armazenamento apropriada para seu ambiente. O App Builder oferece suporte às seguintes políticas de armazenamento:

  • Sistema de arquivos

  • S3

A política de armazenamento é configurada via AppSettings. Veja Configuração personalizada do .NET para obter informações adicionais sobre AppSettings.

Armazenamento do sistema de arquivos

Por padrão, o App Builder armazenará DEKs no sistema de arquivos em texto simples, abaixo do diretório raiz do aplicativo Web do App Builder.

Configuração Exemplo Notas
DataEncryption.KeyStorage FileSystem Indica que o App Builder deve armazenar DEKs no sistema de arquivos. Este é o valor padrão.
DataEncryption.Directory C:\inetpub\wwwroot\App Builder\App_Data\Keys Identifica o diretório no qual os DEKs serão armazenados. O padrão é o diretório App_Data\Keysd, abaixo do diretório de instalação do App Builder. O usuário do pool de aplicativos deve ter controle total deste diretório.
DateEncryption.CertificateThumbprint C123B3E899807189F11F0EC4AC320760F00ECE34 Opcional. Impressão digital X.509 da Chave de Criptografia de Chave (KEK). O certificado KEK deve ser registrado no armazenamento de certificados Pessoal para o Computador Local. A impressão digital pode ser encontrada observando as propriedades do certificado.
Example AppSettings JSON Configuration
{
    "DataEncryption": {
        "KeyStorage": "FileSystem",
        "Directory": "C:\Path\To\Keys",
        "CertificateThumbprint": "C123B3E899807189F11F0EC4AC320760F00ECE34"
    }
}

Armazenamento Amazon S3

Como o armazenamento local da instância do EC2 não pode ser usado para armazenamento de longo prazo, os DEKs devem ser armazenados em outro lugar. O App Builder oferece suporte ao armazenamento de DEKs em buckets do S3. As configurações a seguir configuram o armazenamento do S3 DEK.

Configuração Exemplo Notas
DataEncryption.KeyStorage S3 Indica que o App Builder deve armazenar DEKs no Amazon S3.
DataEncryption.S3BucketEndpoint https://s3.amazonaws.com/vinyl-data-encryption-keys ou https://vinyl-data-encryption-keys.s3.amazonaws.com/ Identifica a região da AWS e o bucket S3 nos quais as chaves S3 serão armazenadas. A URL deve ter um dos seguintes formatos: https://s3{-aws-region}.amazonaws.com/{bucket} ou https://{bucket}.s3{-aws-region}.amazonaws.com. Para obter mais informações, consulte o seguinte documento: http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html
DataEncryption.S3KeyPrefix dev Opcional. Permite que vários ambientes armazenem DEKs no mesmo bucket, isolando as chaves por prefixo.
Example AppSettings JSON Configuration
{
    "DataEncryption": {
        "KeyStorage": "S3",
        "S3BucketEndpoint": "https://bucket.s3.us-east-2.amazonaws.com",
        "S3KeyPrefix": "dev"
    }
}

Configuração do Redis

Use o Redis para facilitar a comunicação entre servidores do App Builder. Um servidor pequeno, sem réplicas ou shards, é tudo o que é necessário.

O App Builder foi testado para funcionar com o Redis versão 3.2 e também com o Redis 6.X

Configuração do servidor de aplicativos

Você precisará fazer as seguintes alterações em uma configuração padrão do App Builder - essas configurações devem ser aplicadas a cada instância do App Builder. Todas as configurações devem ser idênticas para instâncias do App Builder que atendem ao mesmo ambiente (DEV ou QA ou PROD)

O seguinte deve ser configurado em C:\inetpub\wwwroot\App Builder\AppSettings.json (Usando S3 para armazenamento de chaves de criptografia de dados)

{
    "SharedState": {
        "Provider": "Redis",
        "RedisConnectionString": "REDISSERVER:6379,password=abc123"
    },
    "DataEncryption": {
        "KeyStorage": "S3",
        "S3BucketEndpoint": "https://BUCKET.s3.us-east-2.amazonaws.com",
        "S3KeyPrefix": "ENV"
    }
}

O seguinte deve ser configurado em C:\inetpub\wwwroot\App Builder\AppSettings.json (Usando NFS para armazenamento de chaves de criptografia de dados)

{
    "SharedState": {
        "Provider": "Redis",
        "RedisConnectionString": "REDISSERVER:6379,password=abc123"
    },
    "DataEncryption": {
        "KeyStorage": "FileSystem",
        "Directory": "C:\Path\To\Keys"
    }
}

Cada instância do App Builder deve ter o mesmo arquivo connection.xml.

Depois de fazer alterações e reiniciar o App Builder, verifique os logs para verificar se as configurações estão sendo selecionadas corretamente.