Arquitetura - MongoDB na AWS

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

Arquitetura

O AWS CloudFormation oferece uma maneira fácil de criar e gerenciar uma coleção de recursos relacionados da AWS, fornecendo provisionamento e atualização de forma organizada e previsível.

A implantação deste Quick Start para uma nova VPC com os parâmetros padrão cria o seguinte ambiente do MongoDB na Nuvem AWS.


      Figura 1: Arquitetura do Quick Start para MongoDB na AWS

Figura 1: Arquitetura do Quick Start para MongoDB na AWS

  

Os seguintes componentes da AWS são implantados e configurados como parte desta implantação de referência:

  • Uma VPC configurada com sub-redes públicas e privadas em três zonas de disponibilidade.*

  • Em sub-redes públicas, os gateways NAT permitem conectividade com a Internet de saída para recursos (instâncias do MongoDB) nas sub-redes privadas. (Para obter mais informações, consulte o.Quick Start do Amazon VPC. ) *

  • Nas sub-redes públicas, bastion hosts em um grupo do Auto Scaling com endereços IP elásticos para permitir acesso de entrada ao Secure Shell (SSH). Por padrão, um bastion host é implantado, mas esse número é configurável. (Para obter mais informações, consulte o Quick Start para Linux bastion host.)*

  • UmaAWS Identity and Access ManagementUma função de instância do (IAM) com permissões refinadas para acesso aos serviços da AWS necessários para o processo de implantação.

  • Security groups para permitir a comunicação dentro da VPC e para restringir o acesso apenas aos protocolos e portas necessários.

  • Nas sub-redes privadas, um cluster MongoDB personalizável com a opção de execução autônoma ou em conjuntos de réplicas, com armazenamento personalizável do Amazon EBS. O Quick Start inicia cada membro do conjunto de réplicas em uma zona de disponibilidade diferente. No entanto, se você escolher uma região da AWS que não forneça três ou mais zonas de disponibilidade, o Quick Start reutilizará uma das zonas para criar a terceira sub-rede.

* Você pode escolher iniciar o Quick Start para uma nova VPC ou usar a VPC existente. O modelo que implanta o Quick Start em uma VPC existente ignora a criação dos componentes marcados com asteriscos e solicita a sua configuração existente.

O Quick Start inicia todos os nós relacionados ao MongoDB na sub-rede privada, portanto, os nós são acessados usando o SSH para conexão aos bastion hosts. Em vez de usar um acesso remoto CIDR para cada instância do MongoDB, a implantação requer um ID security group dos bastion hosts para que o acesso remoto possa ser controlado centralmente. Se você iniciar o Quick Start para uma nova VPC, o security group do bastion será criado para você. Se iniciar o Quick Start em uma VPC existente, você deverá criar um security group para seus bastion hosts ou usar um já existente.

Constructos do MongoDB

Estes são alguns dos blocos de construção usados nesta implantação de referência.

Conjunto de réplicas. Refere-se a um grupo de mongod instâncias que contêm os mesmos dados. A finalidade da replicação é garantir alta disponibilidade, no caso de um dos servidores ser desativado. Esta implantação de referência oferece suporte a um ou três conjuntos de réplicas. No caso de três conjuntos de réplicas, a implantação de referência inicia três servidores em três zonas de disponibilidade diferentes (se houver suporte para isso na região). Em clusters de produção, recomendamos o uso de três conjuntos de réplica (Primary, Secondary0, Secondary1).

Todos os clientes normalmente interagem com o nó primário para operações de leitura e gravação. É possível escolher um nó secundário como uma preferência durante operações de leitura, mas as operações de gravação sempre vão para o nó primário e são replicadas de forma assíncrona nos nós secundários. Se você escolher um nó secundário para as operações de leitura, tome cuidado com dados obsoletos, porque o nó secundário pode não estar em sincronismo com o nó primário. Para obter mais informações sobre como as operações de leitura são roteadas em um conjunto de réplicas, consulte a Documentação do MongoDB.

Em um ambiente de desenvolvimento, você pode começar com um único conjunto de réplicas e mudar para três conjuntos de réplica durante a produção. A Figura 2 mostra a implantação de referência do MongoDB com um fator de replicação igual a 3.


        Cluster do MongoDB na AWS com três conjuntos de réplicas

Figura 2: Cluster do MongoDB na AWS com três conjuntos de réplicas

  

Quando há uma falha em uma instância primária, uma das instâncias secundárias de outra zona de disponibilidade se torna o novo nó primário garantindo o failover automático.

Estilhaçamento. Refere-se à distribuição de dados entre vários nós. O armazenamento de dados distintos em vários nós fornece escalabilidade horizontal para desempenho de leitura e gravação. Quando você tem um grande conjunto de dados, um único nó pode se tornar afunilado pelo desempenho da CPU ou de E/S. O estilhaçamento resolve esse afunilamento reduzindo o número de operações que cada nó de estilhaço trata e melhora o desempenho geral do cluster. Este Quick Start não oferece suporte direto ao estilhaçamento. Em vez disso, ele fornece um parâmetro (ReplicaShardIndex) para permitir juntar os conjuntos de réplicas iniciados em um cluster estilhaçado. Consulte a Documentação do MongoDB para obter detalhes.

Considerações sobre desempenho

A implementação de referência oferece várias opções de computação e armazenamento. A tabela a seguir mostra algumas das opções de computação a serem consideradas.

Tipo de instância vCPU Memória (GiB) Tipo de carga de trabalho
c3.4xlarge 16 55 Otimizada para computação
c3.8xlarge 32 60 Otimizada para computação
c4.8xlarge 36 60 Otimizada para computação
r3.4xlarge 16 122 Otimizada para memória
r3.2xlarge 8 61 Otimizada para memória
r3.8xlarge 32 244 Otimizada para memória

Como uma diretriz geral, considere aumentar as instâncias horizontalmente em vez de verticalmente. A escalabilidade horizontal supera as limitações de nós individuais e evita pontos únicos de falha e, potencialmente, pode aumentar a taxa de transferência do cluster.

Para armazenamento, dependendo do requisito do banco de dados, você pode optar por alterar o volume de armazenamento a ser anexado a cada nó. O Amazon EBS fornece três tipos de volume: Volumes de uso geral (SSD), volumes de IOPS provisionadas (SSD) e volumes magnéticos. Esses tipos diferem em características de desempenho e custo, portanto, você pode escolher o desempenho e o preço corretos para as necessidades de seu aplicativo. Todos os tipos de volume do Amazon EBS oferecem as mesmas capacidades de snapshots duráveis e foram projetados para disponibilidade de 99,999%. Esta implantação de referência oferece suporte a volumes de armazenamento para uso geral e de IOPS provisionadas.

A tabela a seguir mostra algumas das características de desempenho de cada tipo de armazenamento. Dependendo dos requisitos de desempenho, você pode desejar avaliar seu aplicativo antes de decidir sobre o tipo de armazenamento e a capacidade de IOPS provisionadas do Amazon EBS (se escolhidos).

Tipo de volume Finalidade geral (SSD) IOPS provisionado (SSD)
Mídia de armazenamento Com suporte do SSD Com suporte do SSD
Tamanho máximo do volume 16 TiB 16 TiB
IOPS máxima/volume 10.000 20.000