Configurar el acceso a Internet para máquinas virtuales con cargas de trabajo
Puedes configurar el servicio de red de acceso a Internet para cargas de trabajo de VMware en VMware Engine de Google Cloud por regiones. Puedes dirigir el tráfico saliente a Internet desde tus máquinas virtuales con cargas de trabajo mediante el perímetro de Internet de Google Cloudo una conexión local.
Las VMs con cargas de trabajo que pueden acceder a Internet también pueden acceder a los servicios Google Cloud mediante Acceso privado de Google. El acceso a los Google Cloud servicios mediante el acceso privado de Google se mantiene Google Cloud en las redes y no sale a Internet.
El servicio de red de acceso a Internet admite lo siguiente:
- Hasta 100 direcciones IP públicas por región
- Hasta 300 reglas de cortafuegos por tabla de cortafuegos
- Rendimiento de hasta 2 Gbps en 128.000 conexiones simultáneas por región
- Protocolos TCP, UDP e ICMP
El servicio de red de acceso a Internet no admite la función de pasarela de nivel de aplicación (ALG).
Antes de empezar
Para cambiar la configuración de acceso a Internet de tu nube privada, debes tener acceso de administrador a VMware Engine.
Para habilitar el acceso a Internet, necesitas un intervalo de direcciones CIDR de servicios perimetrales. Cuando habilitas los servicios de red de acceso a Internet o de IP pública, las pasarelas se implementan en el contexto del tenant del servicio.
Usa el intervalo de direcciones CIDR de los servicios perimetrales para las pasarelas de Internet y de IP públicas de VMware Engine. El intervalo de direcciones debe cumplir los siguientes requisitos:
- Cumplir el estándar RFC 1918 como intervalo privado.
- No se solapen con ningún otro intervalo de direcciones de VMware Engine, como el intervalo de direcciones usado para los dispositivos de gestión o los segmentos de NSX.
- No se solapen con ningún intervalo de direcciones que se anuncie a VMware Engine, como los que se usan en las subredes de redes de nube privada virtual (VPC) o en las redes on‐premise.
- Dedica un intervalo de direcciones IP con 26 bits de máscara de subred (/26).
Requisitos de Google Cloud CLI y de las APIs
Para usar la herramienta de línea de comandos gcloud
o la API para gestionar tus recursos de VMware Engine, te recomendamos que configures las herramientas como se describe a continuación.
gcloud
Configura tu ID de proyecto predeterminado:
gcloud config set project PROJECT_ID
Definir una región y una zona predeterminadas:
gcloud config set compute/region REGION
gcloud config set compute/zone ZONE
Para obtener más información sobre la herramienta gcloud vmware
, consulta la documentación de referencia del SDK de Google Cloud.
API
En los ejemplos de API de este conjunto de documentación se usa la herramienta de línea de comandos cURL
para consultar la API. Se necesita un token de acceso válido como parte de la solicitud cURL
. Hay muchas formas de obtener un token de acceso válido. En los siguientes pasos se utiliza la herramienta gcloud
para generar un token de acceso:
Inicia sesión en Google Cloud:
gcloud auth login
Generar token de acceso y exportarlo a TOKEN:
export TOKEN=`gcloud auth print-access-token`
Verifica que TOKEN esté configurado correctamente:
echo $TOKEN
Ahora, usa el token de autorización en tus solicitudes a la API. Por ejemplo:
curl -X GET -H "Authorization: Bearer \"$TOKEN\"" -H "Content-Type: application/json; charset=utf-8" https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations
Python
Los ejemplos de código de Python de esta documentación usan la biblioteca VMware Engine para comunicarse con la API. Para poder usar este método, la biblioteca debe estar instalada y las credenciales de aplicación predeterminadas deben estar configuradas.
Descarga e instala la biblioteca de Python:
pip install google-cloud-vmwareengine
Configura la información de ADC ejecutando esos comandos en tu shell:
gcloud auth application-default login
También puedes usar un archivo de clave de cuenta de servicio:
export GOOGLE_APPLICATION_CREDENTIALS="FILE_PATH"
Para obtener más información sobre la biblioteca, visita la página de referencia o consulta los ejemplos de código en GitHub.
Configurar el servicio de acceso a Internet
Puedes permitir que tus máquinas virtuales con cargas de trabajo tengan acceso a Internet creando o actualizando una política de red.
De forma predeterminada, el servicio de red de acceso a Internet está inhabilitado.
Habilitar el servicio de acceso a Internet en una región
Consola
Para habilitar el servicio de acceso a Internet en una región, sigue estos pasos:
En la Google Cloud consola, ve a la página Políticas de red.
Haga clic en Seleccionar un proyecto y, a continuación, seleccione la organización, la carpeta o el proyecto que contenga la red de VMware Engine en la que quiera habilitar el servicio de acceso a Internet.
Haz clic en Crear para crear una política. Si quieres editar una política de red, haz clic en el icono Más
al final de una fila y selecciona Editar.Rellena los detalles de tu política de red, incluida la red y la región a las que se aplica la política.
Activa Acceso a Internet y, de forma opcional, habilita Servicio de dirección IP externa.
En el campo CIDR de servicios perimetrales, introduce el intervalo de direcciones que se va a usar al dirigirse a la puerta de enlace de Internet de VMware Engine (intervalo de direcciones /26).
Haz clic en Crear.
El estado del servicio cambia a Habilitado cuando se completa la operación, normalmente al cabo de varios minutos.
gcloud
Con la herramienta gcloud
, ejecuta el siguiente comando para crear una política de red:
gcloud vmware network-policies create NETWORK_POLICY_NAME \ --vmware-engine-network projects/PROJECT_ID/locations/LOCATIONS/vmwareEngineNetworks/NETWORK_ID \ --edge-services-cidr=IP_RANGE \ --location=LOCATION \ --internet-access
Haz los cambios siguientes:
NETWORK_POLICY_NAME
: el nombre de esta política de red.NETWORK_ID
: la red a la que se aplica esta política de redIP_RANGE
: el intervalo CIDR que se va a usar para el acceso a Internet y las pasarelas de acceso a IPs externas, en notación CIDR. Se necesita un bloque CIDR RFC 1918 con un prefijo "/26".LOCATION
:global
para redes antiguas o la región de una red estándar
API
curl -X POST -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json; charset=utf-8" https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/networkPolicies?networkPolicyId=NETWORK_POLICY_NAME '{ "vmwareEngineNetwork":"projects/PROJECT_ID/locations/LOCATION/vmwareEngineNetworks/NETWORK_ID", "edgeServiceCidr":IP_RANGE, "internetAccess: { "enabled": true }, "externalIp": { "enabled": true } }"
Haz los cambios siguientes:
NETWORK_POLICY_NAME
: el nombre de esta política de red. Debe tener el formatoREGION-default
.PROJECT_ID
: el ID de proyecto de esta solicitudLOCATION
:global
para redes antiguas o la región de una red estándarIP_RANGE
: el intervalo CIDR que se va a usar para el acceso a Internet y las pasarelas de acceso a IPs externas, en notación CIDR. Se necesita un bloque CIDR RFC 1918 con un prefijo "/26".NETWORK_ID
: la red de esta política de red
Python
Directrices para la función de red optimizada para la movilidad de HCX (MON)
Al configurar el acceso a Internet para las VMs migradas mediante HCX con la función de redes optimizadas para la movilidad (MON), se requiere una configuración de enrutamiento específica para asegurar la conectividad.
En los segmentos de extensión de capa 2 (L2E) que se hayan habilitado con MON, las VMs migradas no tendrán sus rutas anunciadas automáticamente al servicio de Internet de VMware Engine. Para asegurarte de que estas VMs puedan acceder a Internet, debes realizar la siguiente acción:
- Habilita la redistribución de rutas estáticas a BGP en el router de nivel 1.
Este paso manual es fundamental para anunciar las rutas de tus segmentos habilitados para MON, lo que les permite enrutar el tráfico de Internet a través del entorno de VMware Engine. Sin esta configuración, las VMs de estos segmentos no podrán acceder a Internet público.
Inhabilitar el servicio de acceso a Internet en una región
Para inhabilitar el servicio de acceso a Internet en una región, sigue estos pasos:
Consola
En la Google Cloud consola, ve a la página Políticas de red.
Haga clic en Seleccionar un proyecto y, a continuación, seleccione la organización, la carpeta o el proyecto que contenga la red de VMware Engine en la que quiera inhabilitar el servicio de acceso a Internet.
En la fila correspondiente a la política de red pertinente, haz clic en el icono Más
.Cambia Acceso a Internet a Inhabilitado.
- Debes inhabilitar el servicio de IP pública para poder inhabilitar el acceso a Internet.
- Para inhabilitar el servicio de IP pública, primero debes eliminar todas las direcciones IP públicas asignadas y las puertas de enlace VPN de punto a sitio.
Haz clic en Guardar.
El estado del servicio cambia a Inhabilitado cuando se completa la operación, normalmente al cabo de varios minutos.
gcloud
Con la herramienta gcloud
, ejecuta el siguiente comando para actualizar la política de red:
gcloud vmware network-policies update NETWORK_POLICY_NAME \ --no-internet-access \ --location LOCATION
Haz los cambios siguientes:
NETWORK_POLICY_NAME
: el nombre de esta política de redLOCATION
:global
para redes antiguas o la región de una red estándar
API
curl -X PATCH -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json; charset=utf-8" https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/networkPolicies/NETWORK_POLICY_NAME?updateMask=internetAccess.enabled,externalIp.enabled -d "{ "internetAccess: { "enabled": false }, "externalIp": { "enabled": false } }"
Haz los cambios siguientes:
PROJECT_ID
: el ID de proyecto de esta solicitudLOCATION
:global
para redes antiguas o la región de una red estándarNETWORK_POLICY_NAME
: el nombre de esta política de red
Python
Usar una conexión local para el acceso a Internet de las cargas de trabajo
También puedes dirigir el tráfico saliente a Internet desde las máquinas virtuales de tu carga de trabajo en VMware Engine a través de una conexión on-premise. El tráfico se dirige en función del estado de lo siguiente:
- Anuncio de ruta predeterminada (
0.0.0.0/0
) desde las instalaciones locales - Servicio de IP pública de VMware Engine
- Servicio de acceso a Internet de VMware Engine
- Controles de Servicio de VPC en la conexión de peering de VPC entre tu red de VPC y VMware Engine
Habilitar el enrutamiento del tráfico de Internet a través de una conexión local
Para acceder a Internet desde tus máquinas virtuales con cargas de trabajo a través de una conexión on-premise, debes completar dos pasos:
- Anuncia la ruta predeterminada (
0.0.0.0/0
) desde el entorno on-premise a través de una conexión on-premise (Cloud VPN o Cloud Interconnect). Comprueba la pasarela Cloud VPN o Cloud Router donde termina la conexión local a tu VPN. - Inhabilita el acceso a Internet y el servicio de IP pública de la red de VMware Engine.
Consola
En la Google Cloud consola, ve a la página Políticas de red.
Haga clic en Seleccionar un proyecto y, a continuación, seleccione la organización, la carpeta o el proyecto que contenga la red de VMware Engine en la que quiera habilitar el servicio de acceso a Internet.
En la fila correspondiente a la política de red pertinente, haz clic en el icono Más
.Cambia el valor de IP pública a Inhabilitada.
Cambia Acceso a Internet a Inhabilitado.
Haz clic en Guardar.
Si usas una red de VMware Engine antigua: habilita Controles de Servicio de VPC en la conexión de emparejamiento de VPC entre tu red VPC y VMware Engine mediante el comando
gcloud services vpc-peerings enable-vpc-service-controls
:gcloud services vpc-peerings enable-vpc-service-controls \ --network=VPC_NETWORK \ --service=servicenetworking.googleapis.com
gcloud
Con la herramienta gcloud
, ejecuta el siguiente comando para actualizar la política de red:
gcloud vmware network-policies update NETWORK_POLICY_NAME \ --no-internet-access \ --no-external-ip-address \ --location LOCATION
Haz los cambios siguientes:
NETWORK_POLICY_NAME
: el nombre de esta política de redLOCATION
:global
para redes antiguas o la región de una red estándar
Si usas una red de VMware Engine antigua, habilita Controles de Servicio de VPC en la conexión de emparejamiento de VPC entre tu red VPC y VMware Engine mediante el comando gcloud services vpc-peerings enable-vpc-service-controls
:
gcloud services vpc-peerings enable-vpc-service-controls \ --network=VPC_NETWORK \ --service=servicenetworking.googleapis.com
API
curl -X PATCH -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json; charset=utf-8" https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/networkPolicies/NETWORK_POLICY_NAME?updateMask=internetAccess.enabled,externalIp.enabled "{ "internetAccess: { "enabled": false }, "externalIp: { "enabled": false } }"
Si usas una red de VMware Engine antigua, habilita Controles de Servicio de VPC en la conexión de emparejamiento de VPC entre tu red VPC y VMware Engine mediante el comando gcloud services vpc-peerings enable-vpc-service-controls
:
gcloud services vpc-peerings enable-vpc-service-controls \ --network=VPC_NETWORK_NAME \ --service=servicenetworking.googleapis.com
Python
Asigna el valor False
a internet_access y external_ip.
Si usas una red de VMware Engine antigua, habilita Controles de Servicio de VPC en la conexión de emparejamiento de VPC entre tu red VPC y VMware Engine mediante el comando gcloud services vpc-peerings enable-vpc-service-controls
:
gcloud services vpc-peerings enable-vpc-service-controls \ --network=VPC_NETWORK \ --service=servicenetworking.googleapis.com
Habilitar Controles de Servicio de VPC es fundamental para enrutar el tráfico de Internet a través de una conexión on-premise o de una VPC de tu proyecto.
Cuando Controles de Servicio de VPC está habilitado, Google Cloud hace los siguientes cambios de enrutamiento en la red de VPC del productor de servicios (en este caso, el proyecto de inquilino de servicios emparejado con VMware Engine):
- Elimina la ruta predeterminada de IPv4 (destino
0.0.0.0/0
, siguiente salto a la pasarela de Internet predeterminada). - Empieza a reenviar el tráfico de Internet mediante la ruta predeterminada de la interconexión de VPCs.
Ejemplo:
Para habilitar Controles de Servicio de VPC en una conexión que empareja una red llamada "my-network" en el proyecto actual, usa el comando gcloud services vpc-peerings enable-vpc-service-controls
:
gcloud services vpc-peerings enable-vpc-service-controls \ --network=my-network \ --service=servicenetworking.googleapis.com
Inhabilitar el enrutamiento del tráfico de Internet a través de una conexión local
Para inhabilitar el enrutamiento del tráfico de Internet desde las VMs de tu carga de trabajo a través de una conexión on-premise, deja de anunciar la ruta predeterminada (0.0.0.0/0
) e inhabilita los Controles de Servicio de VPC en la conexión de emparejamiento de VPCs.
Si usas una red de VMware Engine antigua, inhabilita Controles de Servicio de VPC en la conexión de emparejamiento de VPC entre tu red VPC y VMware Engine. Para ello, usa el comando gcloud services vpc-peerings disable-vpc-service-controls
:
gcloud services vpc-peerings disable-vpc-service-controls \ --network=VPC_NETWORK_NAME \ --service=servicenetworking.googleapis.com
Siguientes pasos
- Consulta cómo asignar una dirección IP pública a una VM de tu nube privada.
- Consulta cómo las tablas y las reglas de cortafuegos filtran el tráfico de red hacia y desde los recursos de la nube privada.