Una conexión de red privada, establecida mediante Cross-Cloud Interconnect de Google Cloud o Partner Interconnect, puede ofrecer ventajas significativas para la transferencia de datos entre AWS o Azure y Cloud Storage:
- Optimización de costes potencial: puede conseguir ahorros en los costes de salida. Esto puede ser útil para los clientes que ya tengan interconexiones o que realicen transferencias de datos grandes o periódicas, lo que les permitirá ahorrar una cantidad considerable a largo plazo.
- Ancho de banda de red dedicado: usar una interconexión puede ofrecer un rendimiento constante y de alta capacidad, así como una latencia más baja, lo que es fundamental para las migraciones grandes y urgentes, y para la sincronización de datos en tiempo real.
- Cumplir los requisitos: ideal para cargas de trabajo en las que las obligaciones reglamentarias exigen que los datos no se conserven en Internet público. Esta función te ayuda a transferir datos de forma privada mediante la interconexión para cumplir los requisitos, mantener la soberanía de los datos y simplificar las auditorías.
Información general
En este documento se describen los pasos para:
- Solicitar y configurar una conexión Cross-Cloud Interconnect
- Crear un endpoint en S3 o Azure
- Configurar un balanceador de carga de red con proxy interno regional con conectividad híbrida
- Registrar un balanceador de carga en Directorio de servicios
- Crear una transferencia
- Confirmar que el tráfico usa la interconexión
Permisos obligatorios
Necesitarás permisos específicos para completar cada una de las siguientes secciones. Estos permisos se indican en la documentación de ese conjunto de pasos.
Opciones de interconexión
El Servicio de transferencia de Storage puede transferir datos de AWS y Azure a través de Cross-Cloud Interconnect (CCI) o Partner Interconnect.
Los pasos que se indican a continuación son específicos de CCI, pero también se aplican al configurar la red de Partner Interconnect.
Solicitar y configurar una conexión 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 CCI, ve a la siguiente sección.
AWS
Sigue las instrucciones para conectarte a Amazon Web Services para pedir y configurar una nueva conexión Cross-Cloud Interconnect. Necesitarás los permisos adecuados para configurar la red en Google Cloud y en AWS.
Consulta un vídeo en el que se explican los pasos para pedir y configurar una interconexión entre nubes (CCI) entre AWS y Google Cloud.
Azure
Sigue las instrucciones para conectarte a Microsoft Azure para pedir y configurar una nueva interconexión entre nubes. Necesitarás los permisos correctos para configurar la red en Google Cloud y en Azure.
Consulta un vídeo en el que se explican los pasos para pedir y configurar una interconexión entre nubes (CCI) entre Azure y Google Cloud.
Si tu segmento de Cloud Storage es un segmento regional, debes configurar la CCI en la misma región que el segmento para reducir la latencia de la red.
Crear un endpoint en S3 o Azure
Crea un endpoint en tu cuenta de S3 o Azure.
AWS
En tu cuenta de Amazon Web Services, crea un endpoint de VPC que se conecte a S3.
Sigue estas instrucciones de AWS para crear el endpoint: Acceder a un servicio de AWS mediante un endpoint de VPC de interfaz.
Azure
Configura un endpoint privado en la cuenta de almacenamiento de Azure siguiendo estos pasos.
Servicio de transferencia de Storage requiere el endpoint *.blob.core.microsoft.net. No se admite el endpoint *.dfs.core.microsoft.net.
Una vez creado, anota la dirección IP del endpoint. Deberá especificar la dirección IP al crear el balanceador de carga en la siguiente sección.
Configurar un balanceador de carga de red de proxy interno regional con conectividad híbrida
En Google Cloud, configura un balanceador de carga de red con proxy interno regional con conectividad híbrida. De esta forma, se 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 carga y que dirige el tráfico a los endpoints de VPC de S3 o a los endpoints privados de Azure Storage que has creado en la sección anterior.
Debes crear el balanceador de carga en el mismo proyecto y red de VPC que la vinculación de VLAN que interactúa con Cloud Interconnect. Aunque la interconexión puede estar en un proyecto diferente de la misma organización, el adjunto debe estar en la misma VPC y región que el balanceador de carga.
Especifica la dirección IP del endpoint de VPC de S3 o del endpoint privado de Azure Storage cuando llegues a los pasos etiquetados como Añadir endpoints al NEG de conectividad híbrida.
Anota la dirección IP y el puerto de frontend del balanceador de carga de red, ya que tendrás que especificarlos en la siguiente sección.
Validar la conexión
Antes de continuar, te recomendamos que compruebes que el balanceador de carga puede conectarse al endpoint de almacenamiento remoto.
Para ello:
- Crea una VM de Compute Engine en la misma red VPC que tu balanceador de carga.
En la VM, usa
curlpara probar la conectividad con la dirección IP y el puerto del balanceador de carga:curl -v --resolve HOSTNAME:LOAD_BALANCER_IP:PORT https://HOSTNAMEDonde:
<var>HOSTNAME</var>es el nombre de host de tu proveedor de almacenamiento de origen.- En el caso de AWS S3, utilice el endpoint de la API de S3 de la región de su contenedor. Por ejemplo,
s3.us-west-1.amazonaws.com. - En el caso de Azure Storage, usa el endpoint de blob de tu cuenta de almacenamiento. Por ejemplo,
mystorageaccount.blob.core.windows.net.
- En el caso de AWS S3, utilice el endpoint de la API de S3 de la región de su contenedor. Por ejemplo,
<var>PORT</var>es el puerto que ha configurado en la regla de reenvío del balanceador de carga, normalmente443.<var>LOAD_BALANCER_IP</var>es la dirección IP de frontend de tu balanceador de carga.
Una respuesta del endpoint remoto, aunque sea un error, indica que la conectividad se ha realizado correctamente. Un tiempo de espera de conexión indica que hay un error de configuración en tu red que debes resolver antes de continuar.
Registrar un balanceador de carga de red en Directorio de servicios
Registra el balanceador de carga de red en Directorio de servicios. El Servicio de transferencia de Storage usa Service Directory para resolver la dirección del balanceador de carga y conectarse a él directamente.
Sigue las instrucciones para registrar un balanceador de carga interno. Usa la dirección IP y el puerto del balanceador de carga que has creado al especificar la regla de reenvío.
Una vez creado, anota el enlace automático del servicio. Utiliza el formato
projects/{project_id}/locations/{location}/namespaces/{namespace}/services/{service}.
Necesitará este valor al crear el trabajo de transferencia.
Crear una transferencia
Concede los siguientes permisos al agente de servicio. Para obtener instrucciones sobre cómo recuperar el agente de servicio y concederle permisos, consulta el artículo Permisos del agente de servicio gestionado por Google.
- Lector de Directorio de servicios (roles/servicedirectory.viewer) a nivel de proyecto, en el proyecto que contiene los recursos de Directorio de servicios.
- Servicio autorizado de Private Service Connect (roles/servicedirectory.pscAuthorizedService) a nivel de proyecto, en el proyecto que contiene la VPC.
- Editor de segmentos heredados de Storage (roles/storage.legacyBucketWriter) en el segmento de destino.
Para crear un trabajo de transferencia que utilice una conexión Cross-Cloud Interconnect, debes usar la API REST de Storage Transfer Service. Envía una solicitud de la siguiente manera.
Fíjate en el campo privateNetworkService, donde especificarás el selfLink de tu servicio Service Directory.
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"
}
}
}
Donde:
- SERVICE_SELF_LINK es el autovínculo del servicio Service Directory. Utiliza 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.
Confirmar que el tráfico usa 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 consola de Google Cloud, ve a Conectividad híbrida > Interconnect de Cloud.
- Selecciona la vinculación de VLAN que se conecta a tu entorno de AWS o Azure.
- En la página de detalles de la conexión, selecciona la pestaña Monitorización. Busca métricas que indiquen la transferencia de datos. En concreto:
- Bytes de entrada: esta métrica muestra los datos que proceden de AWS o Azure y que se introducen en tu VPC de Google Cloud.
- Estado operativo: comprueba que tanto la conexión física como la sesión BGP estén en buen estado y operativas.