Conecte com segurança o MongoDB aos clusters Kubernetes oferecidos na nuvem
Avalie esse Tutorial
Os aplicativos em contêineres estão se tornando um padrão do setor para virtualização. Quando falarmos sobre o gerenciamento desses containers, Kubernetes provavelmente será criado muito rapidamente.
O Kubernetes é um sistema de código aberto conhecido por automatizar a implantação, o dimensionamento e o gerenciamento de aplicativos em contêiner. Atualmente, todos os principais provedores de nuvem (AWS, Google Cloud e Azure) têm uma oferta de Kubernetes gerenciado para permitir que as organizações iniciem e dimensionem facilmente seus ambientes Kubernetes.
Não é de surpreendenter que o MongoDB Atlas também seja executado em todas essas funcionalidades para oferecer aos seus aplicativos modernos em container a melhor oferta de banco de dados. No entanto, a facilidade de desenvolvimento pode resultar na perda de alguns aspectos essenciais, como segurança e controle de conectividade com nossos serviços de cloud.
Neste artigo, vou orientá-lo sobre como proteger adequadamente seus serviços Kubernetes cloud ao conectar-se ao MongoDB Atlas usando as soluções robustas e recomendadas que temos.
Você precisará ter uma conta de fornecedor de nuvem e a capacidade de implantar uma das ofertas do Kubernetes:
E, é claro, você precisará de um projeto MongoDB Atlas do qual você é o proprietário do projeto.
Se você ainda não configurou seu cluster gratuito no MongoDB Atlas, agora é um ótimo momento para fazê-lo. Você tem todas as instruções nesta publicação doblog. Observe que, para este tutorial, é necessário ter um cluster M10+.
As conexões do Atlas, por padrão, usam credenciais e criptografia de ponta a ponta para proteger a conexão. No entanto, construir uma rede confiável é fundamental para fechar o ciclo de segurança entre seu aplicativo e o banco de dados.
Não importa em qual nuvem você decide construir seu cluster Kubernetes, a base básica para proteger esse sistema é criar sua própria rede. Você pode consultar os seguintes guias para criar sua própria rede e coletar as informações principais (Nomes, IDs e sub -redeClassless Inter-Domain Routing - CIDR).
Agora, configuraremos a conectividade da rede virtual na qual a região do Atlas reside com a rede virtual que criamos na Etapa 1. Essa conectividade é necessária para garantir que a comunicação entre as redes seja possível. Configuraremos o Atlas para permitir conexões da rede virtual a partir da Etapa 1.
Esse processo é chamado de configuração de uma conexão de pareamento de rede. É significativo, pois permite a comunicação interna entre redes de duas contas diferentes (a conta na nuvem do Atlas e sua conta na nuvem).
Os peerings de rede são estabelecidos em nossos projetos > Network Access > Peering > " ADD PEERING CONNECTION. " Para obter mais informações, leia nossa [documentação] (https://docs.atlas.mongodb.com/security-vpc-peering/).
No entanto, destacarei os principais pontos em cada cloud para uma configuração de emparelhamento bem-sucedida:
AWS | GCP | Azure |
---|---|---|
|
|
|
Os clusters Kubernetes que lançamos devem estar associados à rede emparelhada. Destacarei as especificidades de cada provedor de nuvem.
Quando lançamos nosso EKS por meio do serviço de console da AWS, precisamos configurar a VPC emparelhada na aba "Rede".
Defina as configurações corretas:
- Nome da VPC
- Sub-redes relevantes (recomendado escolher pelo menos três zonas de disponibilidade)
- Escolha um grupo de segurança com portas 27015-27017 abertas para o Atlas CIDR.
- Opcionalmente, você pode adicionar um intervalo de IP para seus pods.
Quando lançamos nosso serviço GKE, precisamos configurar a VPC emparelhada na seção "Rede".
Defina as configurações corretas:
- Nome da VPC
- Nome da sub-rede
- Opcionalmente, você pode adicionar uma faixa de IP para a rede interna do pod que não possa se sobrepor ao CIDR emparelhado.
Quando almoçamos nosso serviço AKS, precisamos usar o mesmo grupo de recursos que a VNET emparelhada e configurar a VNET emparelhada como a rede CNI na guia Rede avançada.
Defina as configurações corretas:
- Grupo de Recursos
- Nome VNET em "Rede virtual"
- A sub-rede do cluster deve ser o intervalo de sub-rede emparelhado.
- O outro CIDR deve ser um CIDR não sobreposto da rede emparelhada.
Quando o cluster estiver em funcionamento no seu provedor de nuvem, você poderá testar a conectividade com o nosso cluster emparelhado.
Primeiro, precisaremos obter nossa connection string e método a partir da UI do Atlas cluster. Observe que o GCP e o Azure têm cadeias de conexão privadas para emparelhamento e elas devem ser usadas para redes com peering.
Agora, vamos testar nossa conexão a partir de um dos pods do Kubernetes:
É isso. Estamos conectados com segurança!
Os clusters gerenciados pelo Kubernetes oferecem uma maneira simples e moderna de implantar aplicativos em contêiner no fornecedor de sua escolha. É ótimo podermos proteger facilmente suas conexões para trabalhar com a melhor oferta de banco de dados em nuvem que existe, o MongoDB Atlas, desbloqueando outras possibilidades para criar aplicativos incríveis.
Se tiver dúvidas, acesse o site da nossa comunidade de desenvolvedores, no qual os engenheiros e a comunidade do MongoDB ajudarão você a desenvolver sua próxima grande ideia com o MongoDB.