Menu Docs
Página inicial do Docs
/ /
Kubernetes Operator do MongoDB Atlas
/

Configurar emparelhamento de rede

Nesta página

  • Pré-requisitos
  • Procedimento

Observação

Este recurso não está disponível para nenhuma das seguintes implantações:

  • Instâncias sem servidor

  • M0 clusters

  • M2/M5 clusters

  • Clusters flexíveis

O Atlas oferece suporte a conexões de peering de rede para clusters dedicados hospedados no AWS, Google Cloud e Azure e em clusters fragmentados em multinuvem.

Um emparelhamento de rede estabelece uma conexão privada entre seu Atlas VPC e o VPC do seu provedor de nuvem. A conexão isola o tráfego de redes públicas para aumentar a segurança.

O Atlas não oferece suporte ao Peering entre clusters que você implementa em uma única região em diferentes fornecedor de nuvem.

Para gerenciar suas conexões de emparelhamento de rede com Atlas Kubernetes Operator, você pode especificar e atualizar o parâmetro spec.networkPeers para o AtlasProject Recurso Personalizado. Cada vez que você altera o campo spec em qualquer um dos recursos personalizados suportados, o Atlas Kubernetes Operator cria ou atualiza a configuração correspondente do Atlas .

Para configurar o Peering utilizando Atlas Kubernetes Operator, você exige:

  • Um cluster Kubernetes em execução com o Atlas Kubernetes Operator distribuído.

  • A Project Owner função ou Organization Owner no Atlas.

  • Se ainda não tiver feito isso, crie seu VPC no Amazon Web Services. Para saber mais, consulte Introdução ao Amazon VPC.

  • Uma regra de tráfego de rede para tráfego de saída.

    Defina a seguinte regra de tráfego de rede no seu grupo de segurança da AWS vinculado aos recursos que se conectam ao Atlas:

    Permissão
    Direção
    Porta
    Alvo
    Permitir
    saída
    27015-27017 inclusive
    ao seu CIDR do Atlas
  • Um cluster Kubernetes em execução com o Atlas Kubernetes Operator distribuído.

  • O papel Project Owner ou Organization Owner no Atlas.

  • Se ainda não tiver feito isso, crie sua VNet no Azure. Para saber mais,consulte Criar uma rede virtual usando o portal do Azure.

  • Azure roles necessários para configurar uma conexão de peering de rede.

    Para saber mais, consulte as Permissões do Azure.

  • Um principal de serviço para o ID do aplicativo de emparelhamento Atlas .

    Observação

    Para obter detalhes sobre como o Atlas cria emparelhamento de rede conexões com Azure VPCs,Azure consulte a guia em Configurar uma conexão de peering de rede.

    Você deve concluir as seguintes etapas antes de criar cada conexão de peering de rede Azure :

    1. Execute o seguinte comando do Azure CLI para criar uma entidade de serviço utilizando o ID do aplicativo de emparelhamento Atlas especificado:

      az ad sp create --id e90a1407-55c3-432d-9cb1-3638900a9d22

      Você só precisa fazer isso uma vez para cada assinatura. Se você receber a seguinte mensagem, a entidade de serviço com o ID do aplicativo de emparelhamento do Atlas já existe. Prossiga para a próxima etapa.

      Another object with the same value for property servicePrincipalNames already exists.
    2. Copie o seguinte arquivo de exemplo peering-role.json e salve-o em seu diretório de trabalho atual:

      1{
      2 "Name":"AtlasPeering/<azureSubscriptionId>/<resourceGroupName>/<vnetName>",
      3 "IsCustom":true,
      4 "Description":"Grants MongoDB access to manage peering connections on network /subscriptions/<azureSubscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Network/virtualNetworks/<vnetName>",
      5 "Actions":[
      6 "Microsoft.Network/virtualNetworks/virtualNetworkPeerings/read",
      7 "Microsoft.Network/virtualNetworks/virtualNetworkPeerings/write",
      8 "Microsoft.Network/virtualNetworks/virtualNetworkPeerings/delete",
      9 "Microsoft.Network/virtualNetworks/peer/action"
      10 ],
      11 "AssignableScopes":[
      12 "/subscriptions/<azureSubscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Network/virtualNetworks/<vnetName>"
      13 ]
      14}
    3. Substitua as variáveis em peering-role.json por detalhes sobre a VNet do Azure para a qual você deseja criar uma conexão de emparelhamento:

      Variável
      Descrição
      azureSubscriptionId
      Identificador exclusivo da assinatura do Azure na qual a VNet reside.
      resourceGroupName
      Nome do seu grupo de recursos do Azure.
      vnetName
      Nome do seu Azure VNet.
    4. Execute o seguinte comando CLI do Azure para criar a definição de função usando o arquivo peering-role.json :

      az role definition create --role-definition peering-role.json
    5. Execute o comando CLI do Azure mostrado abaixo para atribuir a função que você criou ao principal de serviço.

      Substitua as variáveis pelos mesmos valores que você usou no arquivo peering-role.json .

      az role assignment create \
      --role "AtlasPeering/<azureSubscriptionId>/<resourceGroupName>/<vnetName>" \
      --assignee "e90a1407-55c3-432d-9cb1-3638900a9d22" \
      --scope "/subscriptions/<azureSubscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Network/virtualNetworks/<vnetName>"

Permita aos clientes se conectarem ao cluster do Atlas utilizando uma conexão de Peering de rede com o seguinte procedimento:

1

Você pode configurar o Peering para usar um container existente ou um novo container.

  1. Especifique o parâmetro spec.networkPeers no AtlasProject Recurso Personalizado. Substitua os seguintes espaços reservados por seus valores:

    Espaço reservado
    Descrição
    spec.networkPeers.providerName
    Nome do fornecedor de nuvem. Especifique AWS.
    spec.networkPeers.containerId
    Identificador exclusivo do contêiner de emparelhamento de rede que você deseja usar. Se você não especificar containerId, deverá definir atlasCIDRblock. Para saber mais, consulte a seção Create New Container neste procedimento.
    spec.networkPeers.accepterRegionName
    spec.networkPeers.awsAccountId
    Identificador exclusivo da sua conta do Amazon Web Services . Amazon Web Services exibe a ID da conta quando você clica no nome da conta no canto superior direito da página inicial do console.
    spec.networkPeers.routeTableCidrBlock
    Bloco CIDR para o do Amazon Web Services VPC. Amazon Web Services exibe o bloco CIDR na página de detalhes da sua VPC.
    spec.networkPeers.vpcId
    Identificador exclusivo para o seu Amazon Web Services VPC. Amazon Web Services exibe a VPC ID VPCda na página de detalhes da sua .
  2. Execute o seguinte comando:

    cat <<EOF | kubectl apply -f -
    apiVersion: atlas.mongodb.com/v1
    kind: AtlasProject
    metadata:
    name: my-project
    spec:
    name: Test Atlas Operator Project
    networkPeers:
    - providerName: "AWS"
    containerID: "6dc5f17280eef56a459fa3fb"
    accepterRegionName: "us-east-2"
    awsAccountId: "12345678"
    routeTableCidrBlock: "10.0.0.0/24"
    vpcId: "vpc-12345678"
    EOF
  1. Especifique o parâmetro spec.networkPeers no AtlasProject Recurso Personalizado. Substitua os seguintes espaços reservados por seus valores:

    Espaço reservado
    Descrição
    spec.networkPeers.providerName
    Nome do fornecedor de nuvem. Especifique AWS.
    spec.networkPeers.atlasCidrBlock
    Bloco CIDR do Atlas para o qual o Atlas Kubernetes Operator cria um novo contêiner. Se você não especificar atlasCidrBlock, você deverá especificar o containerId de um contêiner existente. Para saber mais, consulte a seção Use Existing Container neste procedimento.
    spec.networkPeers.containerRegion
    (Opcional) Região do Amazon Web Services na qual Atlas Kubernetes Operator cria um novo container. Se você não especificar um containerRegion ou um containerId, o Atlas Kubernetes Operator criará um novo contêiner na mesma região do accepterRegionName.
    spec.networkPeers.accepterRegionName
    spec.networkPeers.awsAccountId
    Identificador exclusivo da sua conta do Amazon Web Services . Amazon Web Services exibe a ID da conta quando você clica no nome da conta no canto superior direito da página inicial do console.
    spec.networkPeers.routeTableCidrBlock
    Bloco CIDR para o do Amazon Web Services VPC. Amazon Web Services exibe o bloco CIDR na página de detalhes da sua VPC.
    spec.networkPeers.vpcId
    Identificador exclusivo para o seu Amazon Web Services VPC. Amazon Web Services exibe a VPC ID VPCda na página de detalhes da sua .
  2. Execute o seguinte comando:

    cat <<EOF | kubectl apply -f -
    apiVersion: atlas.mongodb.com/v1
    kind: AtlasProject
    metadata:
    name: my-project
    spec:
    name: Test Atlas Operator Project
    networkPeers:
    - providerName: "AWS"
    atlasCidrBlock: "10.8.0.0/21"
    containerRegion: "us-west-1"
    accepterRegionName: "us-east-2"
    awsAccountId: "12345678"
    routeTableCidrBlock: "10.0.0.0/24"
    vpcId: "vpc-12345678"
    EOF
2
  1. Execute o seguinte comando:

    kubectl get atlasprojects my-project -o=jsonpath='{.status.networkPeers.statusName}'
    WAITING FOR USER
  2. Se o valor statusName for WAITING FOR USER, prossiga para a próxima etapa. Se o statusName não for WAITING FOR USER, aguarde alguns minutos e tente esta etapa novamente.

3

Para saber mais, consulte Aceitar uma conexão de emparelhamento VPC.

4

Execute o seguinte comando novamente para verificar o status da conexão VPC . O Atlas Kubernetes Operator retorna READY quando a conexão de peering de rede está concluída.

kubectl get atlasprojects my-project -o=jsonpath='{.status.networkPeers.statusName}'
READY
1

Você pode configurar o Peering para usar um container existente ou um novo container.

  1. Especifique o parâmetro spec.networkPeers no AtlasProject Recurso Personalizado. Substitua os seguintes espaços reservados por seus valores:

    Espaço reservado
    Descrição
    spec.networkPeers.providerName
    Nome do fornecedor de nuvem. Especifique AZURE.
    spec.networkPeers.containerId
    Identificador exclusivo do container de Peering de rede que você deseja usar. Se você não especificar containerId, deverá definir atlasCIDRblock. Para saber mais, consulte a seção Create New Container neste procedimento.
    spec.networkPeers.accepterRegionName
    Região do Azure para sua VPC.
    spec.networkPeers.azureSubscriptionId
    Identificador exclusivo para sua assinatura do Azure . O Azure exibe a ID da assinatura na página de detalhes da assinatura.
    spec.networkPeers.resourceGroupName
    Etiqueta legível por humanos que identifica o grupo de recursos do Azure que contém a VPC. O Azure exibe o nome do grupo de recursos na página de detalhes do grupo de recursos.
    spec.networkPeers.azureDirectoryId
    Identificador exclusivo do seu locatário do Azure Active Directory. O Azure exibe isso como Tenant ID na página de propriedades do locatário.
    spec.networkPeers.vnetName
    Etiqueta legível por humanos que identifica seu Azure VNET. O Azure exibe o nome da VNET na página de detalhes da sua VNET.
  2. Execute o seguinte comando:

    cat <<EOF | kubectl apply -f -
    apiVersion: atlas.mongodb.com/v1
    kind: AtlasProject
    metadata:
    name: my-project
    spec:
    name: Test Atlas Operator Project
    networkPeers:
    - providerName: "AZURE"
    containerID: "6dc5f17280eef56a459fa3fb"
    atlasCidrBlock: "10.8.0.0/21"
    containerRegion: "US_WEST"
    accepterRegionName: "US_EAST_2"
    azureSubscriptionId: "12345678"
    resourceGroupName: "my-group"
    azureDirectoryId: "x0xxx10-00x0-0x01-0xxx-x0x0x01xx100"
    vnetName: "my-vnet"
    EOF
  1. Especifique o parâmetro spec.networkPeers no AtlasProject Recurso Personalizado. Substitua os seguintes espaços reservados por seus valores:

    Espaço reservado
    Descrição
    spec.networkPeers.providerName
    Nome do fornecedor de nuvem. Especifique AZURE.
    spec.networkPeers.atlasCidrBlock
    Bloco CIDR do Atlas para o qual o Atlas Kubernetes Operator cria um novo contêiner. Se você não especificar atlasCidrBlock, você deverá especificar o containerId de um contêiner existente. Para saber mais, consulte a seção Use Existing Container neste procedimento.
    spec.networkPeers.containerRegion
    (Opcional) Região do Azure na qual o Atlas Kubernetes Operator cria um novo container. Se você não especificar um containerRegion ou um containerId, o Atlas Kubernetes Operator criará um novo contêiner na mesma região do accepterRegionName.
    spec.networkPeers.accepterRegionName
    Região do Azure para sua VPC.
    spec.networkPeers.azureSubscriptionId
    Identificador exclusivo para sua assinatura do Azure . O Azure exibe a ID da assinatura na página de detalhes da assinatura.
    spec.networkPeers.resourceGroupName
    Etiqueta legível por humanos que identifica o grupo de recursos do Azure que contém a VPC. O Azure exibe o nome do grupo de recursos na página de detalhes do grupo de recursos.
    spec.networkPeers.azureDirectoryId
    Identificador exclusivo do seu locatário do Azure Active Directory. O Azure exibe isso como Tenant ID na página de propriedades do locatário.
    spec.networkPeers.vnetName
    Etiqueta legível por humanos que identifica seu Azure VNET. O Azure exibe o nome da VNET na página de detalhes da sua VNET.
  2. Execute o seguinte comando:

    cat <<EOF | kubectl apply -f -
    apiVersion: atlas.mongodb.com/v1
    kind: AtlasProject
    metadata:
    name: my-project
    spec:
    name: Test Atlas Operator Project
    networkPeers:
    - providerName: "AZURE"
    atlasCidrBlock: "10.8.0.0/21"
    containerRegion: "US_WEST"
    accepterRegionName: "US_EAST_2"
    azureSubscriptionId: "12345678"
    resourceGroupName: "my-group"
    azureDirectoryId: "x0xxx10-00x0-0x01-0xxx-x0x0x01xx100"
    vnetName: "my-vnet"
    EOF
2

Execute o comando a seguir para verificar o status da conexão VPC . O Atlas Kubernetes Operator retorna READY quando a conexão de peering de rede está concluída.

kubectl get atlasprojects my-project -o=jsonpath='{.status.networkPeers.status}'
READY
1

Você pode configurar o Peering para usar um container existente ou um novo container.

  1. Especifique o parâmetro spec.networkPeers no AtlasProject Recurso Personalizado. Substitua os seguintes espaços reservados por seus valores:

    Espaço reservado
    Descrição
    spec.networkPeers.providerName
    Nome do fornecedor de nuvem. Especifique GCP.
    spec.networkPeers.containerId
    Identificador exclusivo do contêiner de emparelhamento de rede que você deseja usar. Se você não especificar containerId, deverá definir atlasCIDRblock e containerRegion. Para saber mais, consulte a seção Create New Container neste procedimento.
    spec.networkPeers.gcpProjectId
    Identificador exclusivo do seu projeto da Google Cloud Platform . Google Cloud Platform exibe o ID do projeto na página de detalhes do projeto.
    spec.networkPeers.routeTableCidrBlock
    Bloco CIDR para sua do Google Cloud Platform VPC. Google Cloud Platform exibe o bloco CIDR na página de detalhes da sua VPC.
    spec.networkPeers.networkName
    Etiqueta legível por humanos para sua Google Cloud Platform VPC. Google Cloud Platform exibe o nome da rede na página de detalhes da sua VPC.
  2. Execute o seguinte comando:

    cat <<EOF | kubectl apply -f -
    apiVersion: atlas.mongodb.com/v1
    kind: AtlasProject
    metadata:
    name: my-project
    spec:
    name: Test Atlas Operator Project
    networkPeers:
    - providerName: "GCP"
    containerId: "6dc5f17280eef56a459fa3fb"
    gcpProjectId: "12345678"
    routeTableCidrBlock: "10.0.0.0/24"
    networkName: "my-vpc"
    EOF
  1. Especifique o parâmetro spec.networkPeers no AtlasProject Recurso Personalizado. Substitua os seguintes espaços reservados por seus valores:

    Espaço reservado
    Descrição
    spec.networkPeers.providerName
    Nome do fornecedor de nuvem. Especifique GCP.
    spec.networkPeers.atlasCidrBlock
    Bloco CIDR do Atlas para o qual o Atlas Kubernetes Operator cria um novo contêiner. Se você não especificar atlasCidrBlock, você deverá especificar o containerId de um contêiner existente. Para saber mais, consulte a seção Use Existing Container neste procedimento.
    spec.networkPeers.containerRegion
    spec.networkPeers.containerRegion
    Região doGoogle Cloud Platform na qual Atlas Kubernetes Operator cria um novo container. Se você não especificar containerRegion, você deverá especificar o containerId de um contêiner existente. Para saber mais, consulte a seção Use Existing Container neste procedimento.
    spec.networkPeers.gcpProjectId
    Identificador exclusivo do seu projeto da Google Cloud Platform . Google Cloud Platform exibe o ID do projeto na página de detalhes do projeto.
    spec.networkPeers.routeTableCidrBlock
    Bloco CIDR para sua do Google Cloud Platform VPC. Google Cloud Platform exibe o bloco CIDR na página de detalhes da sua VPC.
    spec.networkPeers.networkName
    Etiqueta legível por humanos para sua Google Cloud Platform VPC. Google Cloud Platform exibe o nome da rede na página de detalhes da sua VPC.
  2. Execute o seguinte comando:

    cat <<EOF | kubectl apply -f -
    apiVersion: atlas.mongodb.com/v1
    kind: AtlasProject
    metadata:
    name: my-project
    spec:
    name: Test Atlas Operator Project
    networkPeers:
    - providerName: "GCP"
    atlasCidrBlock: "10.8.0.0/21"
    containerRegion: "us-east1"
    gcpProjectId: "12345678"
    routeTableCidrBlock: "10.0.0.0/24"
    networkName: "my-vpc"
    EOF
2
  1. Execute o seguinte comando:

    kubectl get atlasprojects my-project -o=jsonpath='{.status.networkPeers.status}'
    PENDING ACCEPTANCE
  2. Se o valor status for PENDING ACCEPTANCE, prossiga para a próxima etapa. Se o status não for PENDING ACCEPTANCE, aguarde alguns minutos e tente esta etapa novamente.

3

Para saber mais, consulte Como usar o emparelhamento de rede VPC.

4

Execute o seguinte comando novamente para verificar o status da conexão VPC . O Atlas Kubernetes Operator retorna READY quando a conexão de peering de rede está concluída.

kubectl get atlasprojects my-project -o=jsonpath='{.status.networkPeers.status}'
READY

Voltar

Armazenamento secreto