Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /
/ / /

Configurar emparejamiento de red

Nota

  • Esta funcionalidad no está disponible para M0 clústeres y Flex clústeres.

Atlas admite conexiones de emparejamiento de red para clústeres dedicados alojados en AWS, Google Cloud y Azure, y en clústeres fragmentados multi-nube.

El emparejamiento de red establece una conexión privada entre la VPC de Atlas y la VPC del proveedor de nube. La conexión aísla el tráfico de las redes públicas para aumentar la seguridad.

Atlas no admite el emparejamiento de red entre los clústeres que has implementado en una sola región pero en diferentes proveedores de nube.

Para gestionar tus conexiones de emparejamiento de red con Atlas Kubernetes Operator, puedes especificar y actualizar el spec.networkPeers Parámetro para el AtlasProject recurso personalizado. Cada vez que se modifica el spec campo en cualquiera de los recursos personalizados compatibles, Atlas Kubernetes Operator crea o actualiza la configuración de Atlas correspondiente.

Para configurar el emparejamiento de red utilizando Atlas Kubernetes Operator, se requiere lo siguiente:

  • Un clúster de Kubernetes en funcionamiento con Atlas Kubernetes Operator implementado.

  • La Project Owner o Organization Owner rol en Atlas.

  • Si aún no lo ha hecho, cree su VPC en AWS. Para obtener más información, consulte Introducción a Amazon VPC.

  • Una norma de tráfico de red para el tráfico saliente.

    Cree la siguiente regla de tráfico de red en su grupo de seguridad AWS adjunto a sus recursos que se conectan a Atlas:

    Permiso
    Instrucciones
    Puerto
    Objetivo

    Permitir

    saliente

    27015-27017 inclusive

    al CIDRde Atlas

  • Un clúster de Kubernetes en funcionamiento con Atlas Kubernetes Operator implementado.

  • El Project Owner o Organization Owner rol en Atlas.

  • Si aún no lo ha hecho, cree su VNet en Azure. Para obtener más información, consulta Crea una red virtual utilizando el portal de Azure.

  • Roles de Azure necesarios para configurar una conexión de emparejamiento de red.

    Para obtener más información, consulta los permisos de Windows Permisos de Azure.

  • Un principal de servicio para la ID de la aplicación de emparejamiento de Atlas.

    Nota

    Para obtener detalles sobre cómo Atlas crea conexiones peering de red con Azure VPCs, consulta la pestaña Azure en Crear una conexión peering de red.

    Debe completar los siguientes pasos antes de crear cada conexión de emparejamiento de red de Azure:

    1. Ejecute el siguiente comando de Azure CLI para crear un principal de servicio utilizando el ID de la aplicación Atlas emparejamiento especificado:

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

      Solo tienes que hacer esto una vez por cada suscripción. Si recibes el siguiente mensaje, el principal de servicio con el ID de la aplicación de emparejamiento de Atlas ya existe. Proceed to the siguiente step.

      Another object with the same value for property servicePrincipalNames already exists.
    2. Copie el siguiente archivo de ejemplo peering-role.json y guárdelo en su directorio de trabajo actual:

      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. Reemplace las variables en el peering-role.json con detalles sobre la VNet de Azure con la que desea crear una conexión de emparejamiento:

      Variable
      Descripción

      azureSubscriptionId

      Identificador único de la suscripción de Azure en la que reside la red virtual.

      resourceGroupName

      Nombre de su grupo de recursos de Azure.

      vnetName

      Nombre de su red virtual de Azure.

    4. Ejecute el siguiente comando Azure CLI para crear la definición de rol utilizando el archivo peering-role.json:

      az role definition create --role-definition peering-role.json
    5. Ejecute el siguiente comando de la CLI de Azure para asignar el rol que creó al principal del servicio.

      Reemplace las variables con los mismos valores que utilizó en el archivo 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>"

Permite que los clientes se conecten a los clústeres de Atlas mediante una conexión peering de red con el siguiente procedimiento:

1

Puede configurar el peering de red para utilizar un contenedor existente o uno nuevo.

  1. Especifique el parámetro spec.networkPeers AtlasProject en el recurso personalizado. Reemplace los siguientes marcadores de posición con sus valores:

    Marcador de posición
    Descripción

    spec.networkPeers.providerName

    Nombre del proveedor de nube. Especifique AWS.

    spec.networkPeers.containerId

    Identificador único para el contenedor de emparejamiento de red que deseas usar. Si no especifica containerId, debe establecer atlasCIDRblock. Para obtener más información, consulta el Create New Container sección de este procedimiento.

    spec.networkPeers.accepterRegionName

    Región AWS para tu VPC.

    spec.networkPeers.awsAccountId

    Identificador único para tu cuenta de AWS. AWS muestra el ID de la cuenta cuando haces clic en el nombre de la cuenta en la esquina superior derecha de la página de inicio de la consola.

    spec.networkPeers.routeTableCidrBlock

    Bloque CIDR para su AWS VPC. AWS muestra el bloque CIDR en la página de detalles de tu VPC.

    spec.networkPeers.vpcId

    Identificador único para tu AWS VPC. AWS muestra el ID de VPC en la página de detalles de tu VPC.

  2. Ejecuta el siguiente 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 el parámetro spec.networkPeers AtlasProject en el recurso personalizado. Reemplace los siguientes marcadores de posición con sus valores:

    Marcador de posición
    Descripción

    spec.networkPeers.providerName

    Nombre del proveedor de nube. Especifique AWS.

    spec.networkPeers.atlasCidrBlock

    Bloque CIDR de Atlas para el que Atlas Kubernetes Operator crea un nuevo contenedor. Si no especificas atlasCidrBlock, debes especificar el containerId de un contenedor existente. Para aprender más, consulta la sección Use Existing Container de este procedimiento.

    spec.networkPeers.containerRegion

    (Opcional) AWS región en la que Atlas Kubernetes Operator crea un nuevo contenedor. Si no especificas un containerRegion o un containerId, el Operador de Kubernetes Atlas crea un nuevo contenedor en la misma región que el accepterRegionName.

    spec.networkPeers.accepterRegionName

    Región AWS para tu VPC.

    spec.networkPeers.awsAccountId

    Identificador único para tu cuenta de AWS. AWS muestra el ID de la cuenta cuando haces clic en el nombre de la cuenta en la esquina superior derecha de la página de inicio de la consola.

    spec.networkPeers.routeTableCidrBlock

    Bloque CIDR para su AWS VPC. AWS muestra el bloque CIDR en la página de detalles de tu VPC.

    spec.networkPeers.vpcId

    Identificador único para tu AWS VPC. AWS muestra el ID de VPC en la página de detalles de tu VPC.

  2. Ejecuta el siguiente 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. Ejecuta el siguiente comando:

    kubectl get atlasprojects my-project -o=jsonpath='{.status.networkPeers.statusName}'
    WAITING FOR USER
  2. Si el valor de statusName es WAITING FOR USER, pasa al siguiente paso. Si el statusName no es WAITING FOR USER, espera unos minutos y vuelve a intentar este paso.

3

Para obtener más información, consulte Aceptar una conexión de emparejamiento de VPC.

4

Vuelve a ejecutar el siguiente comando para comprobar el estado de la conexión VPC. Atlas Kubernetes Operator devuelve READY cuando se completa la conexión peering de red.

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

Puede configurar el peering de red para utilizar un contenedor existente o uno nuevo.

  1. Especifique el parámetro spec.networkPeers AtlasProject en el recurso personalizado. Reemplace los siguientes marcadores de posición con sus valores:

    Marcador de posición
    Descripción

    spec.networkPeers.providerName

    Nombre del proveedor de nube. Especifique AZURE.

    spec.networkPeers.containerId

    Identificador único para el contenedor de emparejamiento de red que deseas utilizar. Si no especificas containerId, debes establecer atlasCIDRblock. Para obtener más información, consulta la sección Create New Container de este procedimiento.

    spec.networkPeers.accepterRegionName

    Región de Azure para su VPC.

    spec.networkPeers.azureSubscriptionId

    Identificador único de su suscripción de Azure. Azure muestra el ID de suscripción en la página de detalles de la suscripción.

    spec.networkPeers.resourceGroupName

    Etiqueta legible para humanos que identifica el grupo de recursos de Azure que contiene la VPC. Azure muestra el nombre del grupo de recursos en la página de detalles del grupo de recursos.

    spec.networkPeers.azureDirectoryId

    Identificador único de su inquilino de Azure Active Directory. Azure lo muestra como Tenant ID en la página de propiedades del inquilino.

    spec.networkPeers.vnetName

    Etiqueta legible por humanos que identifica tu Azure VNET. Azure muestra el nombre de VNET en la página de detalles de tu VNET.

  2. Ejecuta el siguiente 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"
    accepterRegionName: "US_EAST_2"
    azureSubscriptionId: "12345678"
    resourceGroupName: "my-group"
    azureDirectoryId: "x0xxx10-00x0-0x01-0xxx-x0x0x01xx100"
    vnetName: "my-vnet"
    EOF
  1. Especifique el parámetro spec.networkPeers AtlasProject en el recurso personalizado. Reemplace los siguientes marcadores de posición con sus valores:

    Marcador de posición
    Descripción

    spec.networkPeers.providerName

    Nombre del proveedor de nube. Especifique AZURE.

    spec.networkPeers.atlasCidrBlock

    Bloque CIDR de Atlas para el que Atlas Kubernetes Operator crea un nuevo contenedor. Si no especificas atlasCidrBlock, debes especificar el containerId de un contenedor existente. Para aprender más, consulta la sección Use Existing Container de este procedimiento.

    spec.networkPeers.containerRegion

    (Opcional) Región de Azure en la que Atlas Kubernetes Operator crea un nuevo contenedor. Si no se especifica ni un containerRegion ni un containerId, Atlas Kubernetes Operator creará un nuevo contenedor en la misma región que el accepterRegionName.

    spec.networkPeers.accepterRegionName

    Región de Azure para su VPC.

    spec.networkPeers.azureSubscriptionId

    Identificador único de su suscripción de Azure. Azure muestra el ID de suscripción en la página de detalles de la suscripción.

    spec.networkPeers.resourceGroupName

    Etiqueta legible para humanos que identifica el grupo de recursos de Azure que contiene la VPC. Azure muestra el nombre del grupo de recursos en la página de detalles del grupo de recursos.

    spec.networkPeers.azureDirectoryId

    Identificador único de su inquilino de Azure Active Directory. Azure lo muestra como Tenant ID en la página de propiedades del inquilino.

    spec.networkPeers.vnetName

    Etiqueta legible por humanos que identifica tu Azure VNET. Azure muestra el nombre de VNET en la página de detalles de tu VNET.

  2. Ejecuta el siguiente 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"
    azureSubscriptionId: "12345678"
    resourceGroupName: "my-group"
    azureDirectoryId: "x0xxx10-00x0-0x01-0xxx-x0x0x01xx100"
    vnetName: "my-vnet"
    EOF
2

Ejecute el siguiente comando para comprobar el estado de la conexión de VPC. El operador de Kubernetes de Atlas devuelve READY cuando se completa la conexión de interconexión de red.

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

Puede configurar el peering de red para utilizar un contenedor existente o uno nuevo.

  1. Especifique el parámetro spec.networkPeers AtlasProject en el recurso personalizado. Reemplace los siguientes marcadores de posición con sus valores:

    Marcador de posición
    Descripción

    spec.networkPeers.providerName

    Nombre del proveedor de nube. Especifique GCP.

    spec.networkPeers.containerId

    Identificador único para el contenedor de emparejamiento de red que deseas usar. Si no especifica containerId, debe establecer atlasCIDRblock y containerRegion. Para aprender más, consulta la sección Create New Container en este procedimiento.

    spec.networkPeers.gcpProjectId

    Identificador único para tu proyecto de Google Cloud. Google Cloud muestra el ID del grupo en la página de detalles del Proyecto.

    spec.networkPeers.routeTableCidrBlock

    Bloque CIDR para tu VPC de Google Cloud. Google Cloud muestra el bloque CIDR en la página de detalles de tu VPC.

    spec.networkPeers.networkName

    Etiqueta legible por humanos para el VPC de Google Cloud. Google Cloud muestra el nombre de la red en la página de detalles de tu VPC.

  2. Ejecuta el siguiente 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"
    networkName: "my-vpc"
    EOF
  1. Especifique el parámetro spec.networkPeers AtlasProject en el recurso personalizado. Reemplace los siguientes marcadores de posición con sus valores:

    Marcador de posición
    Descripción

    spec.networkPeers.providerName

    Nombre del proveedor de nube. Especifique GCP.

    spec.networkPeers.atlasCidrBlock

    Bloque CIDR de Atlas para el que Atlas Kubernetes Operator crea un nuevo contenedor. Si no especificas atlasCidrBlock, debes especificar el containerId de un contenedor existente. Para aprender más, consulta la sección Use Existing Container de este procedimiento.

    spec.networkPeers.containerRegion

    spec.networkPeers.containerRegion

    Región de Google Cloud en la que el operador de Kubernetes de Atlas crea un nuevo contenedor. Si no containerRegion especifica, debe especificar containerId de un contenedor existente. Para obtener más información, consulte la Use Existing Container sección de este procedimiento.

    spec.networkPeers.gcpProjectId

    Identificador único para tu proyecto de Google Cloud. Google Cloud muestra el ID del grupo en la página de detalles del Proyecto.

    spec.networkPeers.routeTableCidrBlock

    Bloque CIDR para tu VPC de Google Cloud. Google Cloud muestra el bloque CIDR en la página de detalles de tu VPC.

    spec.networkPeers.networkName

    Etiqueta legible por humanos para el VPC de Google Cloud. Google Cloud muestra el nombre de la red en la página de detalles de tu VPC.

  2. Ejecuta el siguiente 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"
    gcpProjectId: "12345678"
    networkName: "my-vpc"
    EOF
2
  1. Ejecuta el siguiente comando:

    kubectl get atlasprojects my-project -o=jsonpath='{.status.networkPeers.status}'
    PENDING ACCEPTANCE
  2. Si el valor de status es PENDING ACCEPTANCE, pasa al siguiente paso. Si el status no es PENDING ACCEPTANCE, espera unos minutos y vuelve a intentar este paso.

3

Para obtener más información, consulta Uso de emparejamiento de red de VPC.

4

Vuelve a ejecutar el siguiente comando para comprobar el estado de la conexión VPC. Atlas Kubernetes Operator devuelve READY cuando se completa la conexión peering de red.

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

Volver

Almacenamiento secreto

En esta página