Una conexión de red privada, establecida con Google Cloud Cross‑Cloud Interconnect o interconexión de socio, puede ofrecer ventajas significativas para la transferencia de datos entre AWS o Azure y Cloud Storage:
- Posible optimización de costos: Es posible que se logren ahorros en los costos de salida. Esto puede ser beneficioso para los clientes con interconexiones existentes o aquellos que realizan transferencias de datos grandes o recurrentes, lo que genera ahorros sustanciales a largo plazo.
- Ancho de banda de red dedicado: El uso de una interconexión puede ofrecer una capacidad de procesamiento constante y de alta capacidad, y una latencia más baja, lo que es fundamental para las migraciones grandes y urgentes, y la sincronización de datos en tiempo real.
- Satisfacer las necesidades de cumplimiento: Es ideal para cargas de trabajo en las que los requisitos reglamentarios exigen que los datos no se mantengan en la Internet pública. Esta función te ayuda a transferir datos de forma privada a través de la interconexión para lograr el cumplimiento, respaldar la soberanía de los datos y simplificar las auditorías.
Descripción general
En este documento, se explican los pasos para realizar las siguientes acciones:
- Solicita y configura Cross‑Cloud Interconnect
- Crea un extremo en S3 o Azure
- Configura un balanceador de cargas de red del proxy interno regional con conectividad híbrida
- Registra tu balanceador de cargas en el Directorio de servicios
- Crear una transferencia
- Confirma que el tráfico esté usando la interconexión
Permisos necesarios
Necesitarás permisos específicos para completar cada una de las siguientes secciones. Estos permisos se enumeran en la documentación de ese conjunto de pasos.
Opciones de interconexión
El Servicio de transferencia de almacenamiento puede transferir datos desde AWS y Azure a través de Cross-Cloud Interconnect (CCI) o Partner Interconnect.
Los siguientes pasos son específicos de la CCI, pero también se aplican cuando se configura la red para la interconexión de socio.
Solicita y configura Cross‑Cloud Interconnect
Cross‑Cloud Interconnect es una conexión física dedicada entre Google Cloud y otros proveedores de servicios en la nube.
Si ya tienes una conexión de CCI, ve a la siguiente sección.
AWS
Sigue las instrucciones para conectarte a Amazon Web Services y solicitar y configurar un nuevo Cross‑Cloud Interconnect. Necesitarás los permisos correctos para configurar las redes en Google Cloud y en AWS.
Mira un video en el que se explican los pasos para pedir y configurar una CCI entre AWS y Google Cloud.
Azure
Sigue las instrucciones para conectarte a Microsoft Azure y solicitar y configurar una nueva Cross‑Cloud Interconnect. Necesitarás los permisos correctos para configurar las redes en Google Cloud y en Azure.
Mira un video en el que se explican los pasos para pedir y configurar una CCI entre Azure y Google Cloud.
Si tu bucket de Cloud Storage es regional, debes configurar la CCI en la misma región que tu bucket para reducir la latencia de red.
Crea un extremo en S3 o Azure
Crea un extremo en tu cuenta de S3 o Azure.
AWS
En tu cuenta de Amazon Web Services, crea un extremo de VPC que se conecte a S3.
Sigue estas instrucciones de AWS: Accede a un servicio de AWS con un extremo de VPC de interfaz para crear el extremo.
Azure
Configura un extremo privado en la cuenta de almacenamiento de Azure siguiendo estos pasos.
El Servicio de transferencia de almacenamiento requiere el extremo *.blob.core.microsoft.net. No se admite el extremo *.dfs.core.microsoft.net.
Una vez creado, anota la dirección IP del extremo. Deberás especificar la dirección IP cuando crees el balanceador de cargas en la siguiente sección.
Configura un balanceador de cargas de red del proxy interno regional con conectividad híbrida
En Google Cloud, configura un balanceador de cargas de red de proxy interno regional con conectividad híbrida. Esto proporciona una dirección IP interna que está restringida a los clientes que se ejecutan en la misma red de VPC que el balanceador de cargas y que enruta el tráfico a los extremos de VPC de S3 o a los extremos privados de Azure Storage que creaste en la sección anterior.
Debes crear el balanceador de cargas en el mismo proyecto y la misma red de VPC que el adjunto de VLAN que se conecta con Cloud Interconnect. Si bien la interconexión en sí puede estar en un proyecto diferente dentro de la misma organización, el adjunto debe estar en la misma VPC y región que el balanceador de cargas.
Especifica la dirección IP del extremo de VPC de S3 o del extremo privado de Azure Storage cuando llegues a los pasos etiquetados como Agrega extremos al NEG de conectividad híbrida.
Anota la dirección IP y el puerto del frontend del NLB, ya que deberás especificarlos en la siguiente sección.
Valida la conexión
Antes de continuar, te recomendamos que valides que el balanceador de cargas pueda conectarse al extremo de almacenamiento remoto.
Para ello, deberás hacer lo siguiente:
- Crea una VM de Compute Engine en la misma red de VPC que tu balanceador de cargas.
Desde la VM, usa
curlpara probar la conectividad con la dirección IP y el puerto del balanceador de cargas:curl -v --resolve HOSTNAME:LOAD_BALANCER_IP:PORT https://HOSTNAMEAquí:
<var>HOSTNAME</var>es el nombre de host de tu proveedor de almacenamiento de origen.- En el caso de AWS S3, usa el extremo de API de S3 para la región de tu bucket, por ejemplo,
s3.us-west-1.amazonaws.com. - En el caso de Azure Storage, usa el extremo de blob de tu cuenta de almacenamiento, por ejemplo,
mystorageaccount.blob.core.windows.net.
- En el caso de AWS S3, usa el extremo de API de S3 para la región de tu bucket, por ejemplo,
<var>PORT</var>es el puerto que configuraste en la regla de reenvío del balanceador de cargas, por lo general,443.<var>LOAD_BALANCER_IP</var>es la dirección IP del frontend de tu balanceador de cargas.
Una respuesta del extremo remoto, incluso un error, indica que la conectividad es correcta. Un tiempo de espera de conexión indica un error de configuración en la configuración de red que debes resolver antes de continuar.
Registra tu NLB en el Directorio de servicios
Registra el NLB en el Directorio de servicios. El Servicio de transferencia de almacenamiento usa el Directorio de servicios para resolver la dirección del balanceador de cargas y conectarse directamente a él.
Sigue las instrucciones para registrar un balanceador de cargas interno. Usa la dirección IP y el puerto del balanceador de cargas que creaste cuando especificaste la regla de reenvío.
Una vez creado, anota el vínculo a sí mismo del servicio. Usa el formato projects/{project_id}/locations/{location}/namespaces/{namespace}/services/{service}.
Necesitarás este valor cuando crees el trabajo de transferencia.
Crear una transferencia
Otorga los siguientes permisos al agente de servicio. Para obtener instrucciones sobre cómo recuperar el agente de servicio y otorgarle permisos, consulta Permisos del agente de servicio administrado por Google.
- Visualizador de Service Directory (roles/servicedirectory.viewer) a nivel del proyecto que contiene los recursos de Directorio de servicios.
- Servicio autorizado de Private Service Connect (roles/servicedirectory.pscAuthorizedService) a nivel del proyecto, en el proyecto que contiene la VPC.
- Escritor de depósitos heredados de Storage (roles/storage.legacyBucketWriter) en el bucket de destino
Para crear un trabajo de transferencia que use Cross‑Cloud Interconnect, debes usar la API de REST del Servicio de transferencia de almacenamiento. Envía una solicitud de la siguiente manera.
Ten en cuenta el campo privateNetworkService, que es donde especificarás el selfLink de tu servicio de Directorio de servicios.
AWS
POST https://storagetransfer.googleapis.com/v1/transferJobs
{
"status": "ENABLED",
"projectId": "PROJECT_ID",
"transferSpec": {
"awsS3DataSource": {
"privateNetworkService": "SERVICE_SELF_LINK",
"bucketName": "S3_BUCKET_NAME",
"awsAccessKey": {
"accessKeyId": "ACCESS_KEY_ID",
"secretAccessKey": "SECRET_ACCESS_KEY"
}
},
"gcsDataSink": {
"bucketName": "GCS_BUCKET_NAME"
}
}
}
Azure
POST https://storagetransfer.googleapis.com/v1/transferJobs
{
"status": "ENABLED",
"projectId": "PROJECT_ID",
"transferSpec": {
"azureBlobStorageDataSource": {
"privateNetworkService": "SERVICE_SELF_LINK",
"storageAccount": "AZURE_SOURCE_NAME",
"container": "AZURE_CONTAINER",
"azureCredentials": {
"sasToken": "AZURE_SAS_TOKEN",
}
},
"gcsDataSink": {
"bucketName": "GCS_BUCKET_NAME"
}
}
}
Aquí:
- SERVICE_SELF_LINK es el vínculo propio del servicio de Directorio de servicios. Usa el formato
projects/{project_id}/locations/{location}/namespaces/{namespace}/services/{service}.
Para obtener información sobre otros campos, consulta la documentación de referencia de transferSpec.
Confirma que el tráfico esté usando la interconexión
Usa Cloud Monitoring para verificar el tráfico que fluye a través de tu interconexión desde AWS o Azure.
- En la Google Cloud Console, ve a Conectividad híbrida > Cloud Interconnect.
- Selecciona el adjunto de VLAN que se conecta a tu entorno de AWS o Azure.
- En la página de detalles de tu conexión, selecciona la pestaña Supervisión. Busca métricas que indiquen transferencia de datos. En particular, haz lo siguiente:
- Bytes de entrada: Esta métrica muestra los datos que provienen de AWS o Azure a tu VPC de Google Cloud.
- Estado operativo: Asegúrate de que tanto la conexión física como la sesión de BGP estén en un estado operativo correcto.