Crea recursos de Data Transfer Essentials

Para que el tráfico se identifique como configurado para la facturación de Data Transfer Essentials, debes seleccionar servicios y asociarlos con los extremos seleccionados. En esta página, se muestra cómo crear los recursos necesarios de Data Transfer Essentials, que son configuraciones y destinos.

Antes de comenzar

Antes de crear configuraciones o destinos de Data Transfer Essentials, haz lo siguiente:

  1. Si aún no lo hiciste, instala la Google Cloud CLI.

  2. Autentica gcloud CLI con tu cuenta:

    gcloud auth login
    
  3. Configura tu proyecto:

    gcloud config set project PROJECT_ID
    

    Reemplaza PROJECT_ID por el ID del proyecto.

  4. Habilita la API de Network Connectivity en tu proyecto.

  5. Configura permisos.

  6. Verifica si los servicios que deseas seleccionar para Data Transfer Essentials son compatibles. Solo puedes configurar Data Transfer Essentials solo para los servicios y las regiones compatibles.

    gcloud

    Usa el gcloud network-connectivity multicloud-data-transfer-supported-services list comando.

    gcloud network-connectivity multicloud-data-transfer-supported-services list \
        --location=LOCATION
    

    Reemplaza LOCATION por un ID de región, por ejemplo, europe-west3. Google Cloud

    En el siguiente ejemplo de resultado, se muestra que los servicios son aptos para configurarse con Data Transfer Essentials porque usan niveles compatibles.

    NAME                   SERVICE_CONFIGS
    cloud-sql              [{'eligibilityCriteria': 'NETWORK_SERVICE_TIER_PREMIUM_ONLY'}]
    cloud-storage          [{'eligibilityCriteria': 'REQUEST_ENDPOINT_REGIONAL_ENDPOINT_ONLY'}]
    compute-engine         [{'eligibilityCriteria': 'NETWORK_SERVICE_TIER_STANDARD_ONLY'}]
    

    Para verificar la elegibilidad de un servicio específico, usa el gcloud network-connectivity multicloud-data-transfer-supported-services describe comando.

    gcloud network-connectivity multicloud-data-transfer-supported-services describe SERVICE1 \
        --location=LOCATION
    

    Reemplaza SERVICE1 por una cadena válida que represente el servicio. Consulta Servicios y regiones compatibles.

    API

    Usa el método multicloudDataTransferSupportedServices.get.

    GET https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION:getMulticloudDataTransferSupportedServices
    

    Reemplaza lo siguiente:

    • PROJECT_ID: Es el ID de tu proyecto.
    • LOCATION: Es un ID de Google Cloud región, por ejemplo, europe-west3.

    En el siguiente ejemplo de resultado, se enumeran los servicios que son aptos para configurarse con Data Transfer Essentials porque usan niveles compatibles.

    {
      "multicloudDataTransferSupportedServices": [
        {
          "name": "cloud-sql",
          "serviceConfigs": [
            {
              "eligibilityCriteria": "NETWORK_SERVICE_TIER_PREMIUM_ONLY"
            }
          ]
        },
        {
          "name": "cloud-storage",
          "serviceConfigs": [
            {
              "eligibilityCriteria": "REQUEST_ENDPOINT_REGIONAL_ENDPOINT_ONLY"
            }
          ]
        },
        {
          "name": "compute-engine",
          "serviceConfigs": [
            {
              "eligibilityCriteria": "NETWORK_SERVICE_TIER_STANDARD_ONLY"
            }
          ]
        }
      ]
    }
    

    Para verificar la elegibilidad de un servicio específico, usa el siguiente método:

    GET https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION:getMulticloudDataTransferSupportedServices
    {
    "service": "SERVICE1"
    }
    

    Reemplaza lo siguiente:

    • PROJECT_ID: el ID de tu proyecto.
    • LOCATION: Es un ID de la Google Cloud región, por ejemplo, europe-west3.
    • SERVICE1: una cadena válida que representa el servicio. Consulta Servicios y regiones compatibles.
  7. Verifica si se reconocen los números de sistema autónomo (ASN) que deseas especificar. Solo puedes configurar el tráfico a destinos que usen ASN reconocidos.

Cree una configuración

Crea una configuración de Data Transfer Essentials que incluya los servicios especificados. Solo puedes crear una configuración por región y por proyecto.

gcloud

Usa el comando gcloud network-connectivity multicloud-data-transfer-configs create

gcloud network-connectivity multicloud-data-transfer-configs create CONFIGURATION_NAME \
    --location=LOCATION \
    --description=DESCRIPTION \
    --services=SERVICE-A,...

Reemplaza lo siguiente:

  • CONFIGURATION_NAME: un nombre para la configuración.
  • LOCATION: la región de la configuración.
  • DESCRIPTION: una descripción de la configuración y su propósito.
  • SERVICE-A,...: una serie de cadenas que representan los servicios para los que deseas configurar Data Transfer Essentials. Para obtener cadenas válidas, consulta Servicios y regiones compatibles.

El siguiente comando de muestra crea una configuración llamada config1 en la región europe-west3 para los servicios compute-engine, cloud-storage y cloud-sql.

gcloud network-connectivity multicloud-data-transfer-configs create config1 \
    --location=europe-west3 \
    --description="configuration for europe-west3" \
    --services=compute-engine,cloud-storage,cloud-sql

API

Usa el método multicloudDataTransferConfigs.create.

POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/multicloudDataTransferConfigs/CONFIGURATION_NAME
{
  "description": "DESCRIPTION",
  "services": {
    "SERVICE-A",
    "SERVICE-B"
  }
}

Reemplaza lo siguiente:

  • PROJECT_ID: el ID de tu proyecto.
  • LOCATION: la región de la configuración.
  • CONFIGURATION_NAME: un nombre para la configuración.
  • DESCRIPTION: una descripción de la configuración y su propósito.
  • SERVICE-A,...: una serie de cadenas que representan los servicios para los que deseas configurar Data Transfer Essentials. Para obtener cadenas válidas, consulta Servicios y regiones compatibles.

De manera opcional, usa el parámetro de consulta requestID para identificar tus solicitudes a la API. Si vuelves a intentar la solicitud, el servidor puede usar el identificador para ignorar una solicitud a la que ya se respondió.

El siguiente fragmento de JSON crea una configuración llamada config1 en la región europe-west3 para los servicios compute-engine, cloud-storage y cloud-sql.

POST https://networkconnectivity.googleapis.com/v1/projects/my-project/locations/europe-west3/multicloudDataTransferConfigs/config1
{
  "description": "configuration for europe-west3",
  "services": {
    "compute-engine": {},
    "cloud-storage": {},
    "cloud-sql": {}
}

Terraform

En el siguiente ejemplo de Terraform, se crea una configuración.

resource "google_network_connectivity_multicloud_data_transfer_config" "default" {
  name        = "config"
  location    = "europe-west1"
  description = "A basic multicloud data transfer config"
  services {
    service_name = "big-query"
  }
  services {
    service_name = "cloud-storage"
  }
}

Las configuraciones de Data Transfer Essentials tardan hasta 24 horas en crearse. Para verificar el estado de la configuración, consulta los detalles de la configuración.

Para agregar o quitar servicios, actualiza una configuración.

Antes de intentar crear una configuración nueva, borra la existente.

Crea un destino para la configuración

Crea un destino para la configuración de Data Transfer Essentials. Un recurso de destino crea una asociación entre una configuración existente y un prefijo de IP externa con un extremo. Un extremo contiene un identificador de proveedor de servicios en la nube (CSP) y su ASN.

Crea un destino a la vez.

gcloud

Usa el comando gcloud network-connectivity multicloud-data-transfer-configs destinations create

gcloud network-connectivity multicloud-data-transfer-configs destinations create DESTINATION_NAME \
    --multicloud-data-transfer-config=CONFIGURATION_NAME \
    --location=LOCATION \
    --description=DESCRIPTION \
    --ip-prefix=IP_PREFIX \
    --endpoints=asn=ASN,csp=CSP

Reemplaza lo siguiente:

  • DESTINATION_NAME: un nombre para el destino. El nombre debe ser único dentro de una región.
  • CONFIGURATION_NAME: el nombre de la configuración.
  • LOCATION: la región de la configuración.
  • DESCRIPTION: una descripción del destino y su propósito.
  • IP_PREFIX: el prefijo de IP del destino especificado como un rango (por ejemplo, 203.0.113.0/24 o 2001:db8::/32) o un valor (por ejemplo, 203.0.113.6 o 2001:db8:2:2:2:2:2:2). Un prefijo de IP debe usarse solo una vez en una configuración, debe asociarse con al menos un extremo y puede asociarse con hasta 5 extremos.

  • Especifica cadenas correspondientes a los extremos que deseas agregar al destino:

    • ASN: el ASN que se espera que anuncie el prefijo. Consulta ASN reconocidos.
    • CSP: una cadena que representa el CSP del ASN que anuncia el prefijo.

    Puedes especificar la marca endpoints varias veces en el mismo comando. Un destino debe tener al menos un extremo y no puede tener más de cinco.

El siguiente comando de muestra crea un destino llamado destination1 para la configuración config1 en la región europe-west3 para el prefijo de IP y el extremo especificados.

gcloud network-connectivity multicloud-data-transfer-configs destinations create destination1 \
    --multicloud-data-transfer-config=config1 \
    --location=europe-west3 \
    --description="destination1 for config1" \
    --ip-prefix=203.0.113.0/24 \
    --endpoints=asn=16509,csp="aws"

API

Usa el método multicloudDataTransferConfigs.destinations.create.

POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/multicloudDataTransferConfigs/CONFIGURATION_NAME/destinations/DESTINATION_NAME
{
  "description": "DESCRIPTION",
  "ipPrefix": "IP_PREFIX",
  "endpoints": [
    {
      "asn": "ASN",
      "csp": "CSP"
    }
  ]
}

Reemplaza lo siguiente:

  • PROJECT_ID: el ID de tu proyecto.
  • LOCATION: la región de la configuración.
  • CONFIGURATION_NAME: el nombre de la configuración.
  • DESTINATION_NAME: un nombre para el destino. El nombre debe ser único dentro de una región.
  • DESCRIPTION: una descripción del destino y su propósito.
  • IP_PREFIX: el prefijo de IP del destino especificado como un rango (por ejemplo, 203.0.113.0/24 o 2001:db8::/32) o un valor (por ejemplo, 203.0.113.6 o 2001:db8:2:2:2:2:2:2). Un prefijo de IP debe usarse solo una vez en una configuración y para un solo ASN.

  • Especifica cadenas correspondientes a los extremos que deseas agregar al destino:

    • ASN: el ASN que se espera que anuncie el prefijo. Consulta ASN reconocidos.
    • CSP: una cadena que representa el CSP del ASN que anuncia el prefijo.

    Puedes especificar varios extremos en la misma llamada. Un destino debe tener al menos un extremo y no puede tener más de cinco.

El siguiente comando de muestra crea un destino llamado destination1 para la configuración config1 en la región europe-west3 para el prefijo de IP y el extremo especificados.

POST https://networkconnectivity.googleapis.com/v1/projects/my-project/locations/europe-west3/multicloudDataTransferConfigs/config1/destinations/destination1
{
  "description": "destination1 for config1",
  "ipPrefix": "203.0.113.0/24",
  "endpoints": [
    {
      "asn": "16509",
      "csp": "aws"
    }
  ]
}

Terraform

En el siguiente ejemplo de Terraform, se crea un destino.

resource "google_network_connectivity_destination" "default" {
  name                            = "destination"
  location                        = "europe-west1"
  multicloud_data_transfer_config = google_network_connectivity_multicloud_data_transfer_config.default.name
  description                     = "A basic destination"
  ip_prefix                       = "10.0.0.0/8"
  endpoints {
    asn = "14618"
    csp = "AWS"
  }
}

Para verificar el estado del destino, consulta los detalles del destino.

Para agregar o quitar extremos, actualiza el destino.

Como alternativa, borra el destino.

¿Qué sigue?