Crear una conexión iniciada desde Google Cloud

En esta página se describen los pasos para crear y aprovisionar correctamente una conexión de Partner Cross-Cloud Interconnect para Amazon Web Services (AWS) iniciada desde Google Cloud.

Si no tienes una clave de activación de AWS, puedes iniciar y aprovisionar una conexión de Partner Cross-Cloud Interconnect para AWS desdeGoogle Cloud.

Antes de iniciar el proceso de aprovisionamiento de Partner Cross-Cloud Interconnect para AWS, asegúrate de que se cumplen las siguientes condiciones:

Para establecer una conexión correcta, debe crear el recurso transport. Sigue estas instrucciones para crear el transporte.

Antes de empezar

Antes de empezar, consulta las siguientes secciones.

Crea o escoge un proyecto.

Para facilitar la configuración de Partner Cross-Cloud Interconnect para AWS, empieza por identificar un proyecto válido.

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Install the Google Cloud CLI.

  5. Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

  6. Para inicializar gcloud CLI, ejecuta el siguiente comando:

    gcloud init
  7. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  8. Verify that billing is enabled for your Google Cloud project.

  9. Install the Google Cloud CLI.

  10. Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

  11. Para inicializar gcloud CLI, ejecuta el siguiente comando:

    gcloud init
  12. Si usas la CLI de Google Cloud, define el ID de tu proyecto con el comando gcloud config set.

    gcloud config set project PROJECT_ID

    Sustituye PROJECT_ID por el ID de tu proyecto único.

    En las instrucciones de la CLI gcloud de esta página se presupone que ya has definido el ID de tu proyecto.

  13. Para confirmar que has definido el ID de proyecto correctamente, usa el comando gcloud config list.

    gcloud config list --format='text(core.project)'
  14. Habilitar la API Network Connectivity

    Antes de poder realizar cualquier tarea con Cloud Interconnect, debes habilitar la API Network Connectivity.

    Consola

    Para habilitar la API Network Connectivity, haz lo siguiente:

    1. En la Google Cloud consola, ve a la página API Network Connectivity.

      Ir a la API Network Connectivity

    2. Haz clic en Enable (Habilitar).

    También puedes habilitar la API mediante la Google Cloud biblioteca de APIs de la consola, como se describe en el artículo Habilitar APIs.

    Inicia la conexión desde Google Cloud si no tienes una clave de activación

    Mostrar perfiles disponibles

    Para ver los perfiles disponibles en un proyecto concreto de la región en la que quieras aprovisionar la conectividad, sigue estos pasos.

    API

    Usa el networkconnectivity.remoteTransportProfiles.list método con un cuerpo de solicitud vacío.

    $ curl -H "Authorization: Bearer $(gcloud auth print-access-token)" "https://networkconnectivity.googleapis.com/v1beta/projects/PROJECT/locations/LOCATION/remoteTransportProfiles"
    

    Sustituye los siguientes valores:

    • PROJECT: el nombre del proyecto
    • LOCATION: el nombre de la Google Cloud región en la que quieras aprovisionar la conectividad, como us-west1

    Crea el recurso transport.

    Durante el proceso de creación de recursos transport, debe especificar los campos de ancho de banda, red y remoteProfileremoteAccountId. advertisedRoutes es un campo opcional, pero debe especificarlo para asegurarse de que haya conectividad desde AWS. Este campo puede ser una lista de subredes IPv4 e IPv6. Si tu red usa la creación automática de subredes, usa el 10.128.0.0/9 valor de Google Cloud.

    Para crear un recurso de transporte, sigue estos pasos.

    API

    Usa el networkconnectivity.transports.create método especificando el TRANSPORT_ID, como en el siguiente ejemplo:

    curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" "https://networkconnectivity.googleapis.com/v1beta/projects/PROJECT/locations/LOCATION/transports?="TRANSPORT_ID" --data '{
    "network": "NETWORK",
    "remoteProfile": "REMOTE_PROFILE",
    "bandwidth": "BANDWIDTH",
    "remoteAccountId": "AWS_ACCOUNT_ID",
    "advertisedRoutes": ["IP_RANGE_1","IP_RANGE_2"],
    "stackType": "STACK_TYPE
    }'
    

    Sustituye los siguientes valores:

    • PROJECT: el nombre del proyecto en el que quieres crear el transporte
    • LOCATION: el nombre de la Google Cloud región en la que quieras aprovisionar la conectividad, como us-west1
    • TRANSPORT_ID: nombre del recurso de transporte
    • NETWORK: la red en la que quieras crear el transporte
    • REMOTE_PROFILE: el perfil en el que quieres aprovisionar la conectividad
    • BANDWIDTH: el ancho de banda elegido para tu conexión, como BPS_1G
    • AWS_ACCOUNT_ID: el ID de tu cuenta de AWS
    • IP_RANGE: lista de intervalos de direcciones IP separados por comas
    • STACK_TYPE (opcional): tipo de pila de la versión de la dirección IP. Debe ser IPV4_ONLY o IPV4_IPV6. El valor predeterminado es IPV4_ONLY.

    En el resultado, busca el valor del campo name. Tiene el formato projects/PROJECT/locations/LOCATION/operations/OPERATION_ID, donde OPERATION_ID es el ID de tu operación.

    Para comprobar el estado de la operación, usa el método networkconnectivity.operations.get.

    GET https://networkconnectivity.googleapis.com/v1/locations/LOCATION/operations/OPERATION_ID
    

    Haz los cambios siguientes:

    • LOCATION: el nombre de la Google Cloud región en la que quieras aprovisionar la conectividad, como us-west1
    • OPERATION_ID: el ID de la operación

    Si el recurso transport se ha creado, el resultado tendrá la línea "done": true. Copia los siguientes valores del resultado para usarlos en pasos posteriores:

    • Valor del campo generatedActivationKey
    • Valor del campo peeringNetwork

    Completa los pasos de la API de AWS

    Sigue las instrucciones del documento de referencia de la API de AWS con la clave de activación que has generado en el paso anterior.

    Establecer el emparejamiento entre redes de VPC

    Puedes establecer de forma proactiva el emparejamiento entre redes de VPC en elGoogle Cloud extremo. Para ello, usa el peeringNetwork devuelto por el recurso transport creado anteriormente y asegúrate de crear un peering con el mismo tipo de pila. El tipo de pila predeterminado coincide con el recurso transport que usa IPV4_ONLY.

    Para recibir las rutas de AWS, debes habilitar el campo Import custom routes.

    El valor de MTU de la red de VPC emparejada se define explícitamente como el máximo para evitar problemas de MTU en la conectividad. Si usas una MTU inferior a 8896, puede que recibas una advertencia WARNING: Some requests generated warnings: - Network MTU 1460B does not match the peer's MTU 8896B. En ese caso, debes asegurarte de que las configuraciones de MTU coincidan entre tu red VPC y la red VPC de AWS. Google Cloud Si no coinciden, es posible que tengas que anular los valores de MTU y usar el denominador común más bajo. Por ejemplo, si usas 8896 en Google Cloud y 8800 en AWS, todo lo que haya en Google Cloud debe configurarse como 8800.

    gcloud

    Para establecer el emparejamiento entre redes de VPC, usa el comando gcloud compute networks peerings create.

    gcloud compute networks peerings create "TRANSPORT_NAME" \
        --network="VPC_NETWORK"
        --peer-network="PEERING_NETWORK" \
        --import-custom-routes
        --export-custom-routes
    

    Sustituye los siguientes valores:

    • TRANSPORT_NAME: el nombre del transporte que has creado
    • VPC_NETWORK: el nombre de la red de VPC de la que quieres obtener la lista de rutas
    • PEERING_NETWORK: el nombre de la red de VPC proporcionado por el recurso Transport que has copiado del campo peeringNetwork del recurso transport

    Si el comando se ejecuta correctamente, el campo state del resultado tendrá el valor ACTIVE.

    API

    Para establecer el emparejamiento entre redes de VPC, usa el método compute.networks.addPeering.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT/global/networks/NETWORK/addPeering
    

    Sustituye los siguientes valores:

    • PROJECT: el nombre del proyecto con el que estás emparejando
    • NETWORK: el nombre del recurso de red al que se va a añadir el emparejamiento

    Verificar la conexión

    Para comprobar que se ha establecido la conectividad, puedes enumerar las redes de VPC emparejadas y las tablas de rutas. Una vez que hayas completado la configuración de AWS, podrás ver tus rutas de AWS en la lista.

    gcloud

    Para ver una lista de las redes de VPC emparejadas, usa el comando gcloud compute networks peerings list.

    gcloud compute networks peerings list
    

    El resultado debería ser similar al siguiente:

    DEST_RANGE   TYPE                   NEXT_HOP_REGION  PRIORITY  STATUS
    10.0.0.0/16  DYNAMIC_PEERING_ROUTE  us-east4         0         accepted
    10.0.0.0/16  DYNAMIC_PEERING_ROUTE  us-east4         0         accepted
    

    Para ver las rutas de un transporte específico, usa el comando gcloud compute networks peerings list-routes.

    gcloud compute networks peerings list-routes TRANSPORT_ID\
        --direction=INCOMING \
        --network=NETWORK \
        --region=LOCATION
    

    Sustituye los siguientes valores:

    • TRANSPORT_ID: el nombre del recurso de transporte
    • NETWORK: el nombre de la red de VPC de la que quieres obtener la lista de tablas de rutas.
    • LOCATION: la ubicación del recurso de transporte

    API

    Para enumerar las redes emparejadas, usa el método compute.networks.list.

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT/global/networks
    

    Sustituye PROJECT por el nombre del proyecto del que quieras obtener la lista de redes.

    Para enumerar las rutas, usa el método compute.routes.listPeeringRoutes.

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT/global/networks/NETWORK/listPeeringRoutes
    

    Sustituye los siguientes valores:

    • PROJECT con el nombre del proyecto del que quieras mostrar las rutas.
    • NETWORK: el nombre de la red de VPC de la que quieres obtener la lista de tablas de rutas.

    Siguientes pasos