Créer une connexion initiée depuis Google Cloud

Cette page décrit la procédure à suivre pour créer et provisionner une connexion Partner interconnexion cross-cloud pour Amazon Web Services (AWS) initiée depuis Google Cloud.

Si vous ne disposez pas de clé d'activation d'AWS, vous pouvez lancer et provisionner une connexion Partner interconnexion cross-cloud pour AWS à partir deGoogle Cloud.

Avant de démarrer le processus de provisionnement d'une connexion Partner Cross-Cloud Interconnect pour AWS, assurez-vous que les conditions suivantes sont remplies :

Pour établir une connexion, vous devez créer la ressource transport. Suivez ces instructions pour créer le transport.

Avant de commencer

Avant de commencer, consultez les sections suivantes.

Créer ou sélectionner un projet

Pour faciliter la configuration de Partner interconnexion cross-cloud pour AWS, commencez par identifier un projet valide.

  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 vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.

  6. Pour initialiser la gcloud CLI, exécutez la commande suivante :

    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 vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.

  11. Pour initialiser la gcloud CLI, exécutez la commande suivante :

    gcloud init
  12. Si vous utilisez Google Cloud CLI, définissez votre ID de projet à l'aide de la commande gcloud config set.

    gcloud config set project PROJECT_ID

    Remplacez PROJECT_ID par votre ID de projet unique.

    Dans les instructions gcloud CLI présentées sur cette page, nous partons du principe que vous avez défini l'ID de votre projet.

  13. Pour vérifier que vous avez correctement défini l'ID du projet, utilisez la commande gcloud config list.

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

    Pour pouvoir effectuer des tâches quelconques à l'aide de Cloud Interconnect, vous devez activer l'API Network Connectivity.

    Console

    Pour activer l'API Network Connectivity, procédez comme suit :

    1. Dans la console Google Cloud , accédez à la page API Network Connectivity.

      Accéder à l'API Network Connectivity

    2. Cliquez sur Activer.

    Vous pouvez également activer l'API à l'aide de la bibliothèque d'API de la consoleGoogle Cloud , comme décrit dans la section Activer des API.

    Initier la connexion depuis Google Cloud si vous n'avez pas de clé d'activation

    Lister les profils disponibles

    Pour lister les profils disponibles dans un projet spécifique de la région dans laquelle vous souhaitez provisionner la connectivité, procédez comme suit.

    API

    Utilisez la méthode networkconnectivity.remoteTransportProfiles.list avec un corps de requête vide.

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

    Remplacez les valeurs suivantes :

    • PROJECT : nom du projet.
    • LOCATION : nom de la Google Cloud région dans laquelle vous souhaitez provisionner la connectivité, par exemple us-west1

    Créer la ressource transport

    Lors de la création de la ressource transport, vous devez spécifier les champs "Bande passante", "Réseau", remoteProfile et remoteAccountId. advertisedRoutes est un champ facultatif. Toutefois, pour assurer la connectivité depuis AWS, vous devez le spécifier. Ce champ peut être une liste de sous-réseaux IPv4 et IPv6. Si votre réseau utilise la création automatique de sous-réseaux, utilisez la valeur 10.128.0.0/9 de Google Cloud.

    Pour créer une ressource de transport, procédez comme suit.

    API

    Utilisez la méthode networkconnectivity.transports.create en spécifiant le TRANSPORT_ID, comme dans l'exemple suivant :

    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
    }'
    

    Remplacez les valeurs suivantes :

    • PROJECT : nom du projet dans lequel vous souhaitez créer le transport
    • LOCATION : nom de la Google Cloud région dans laquelle vous souhaitez provisionner la connectivité, par exemple us-west1
    • TRANSPORT_ID : nom de la ressource de transport
    • NETWORK : réseau dans lequel vous souhaitez créer le transport
    • REMOTE_PROFILE : profil pour lequel vous souhaitez provisionner la connectivité
    • BANDWIDTH : bande passante choisie pour votre connexion, par exemple BPS_1G
    • AWS_ACCOUNT_ID : ID de votre compte AWS
    • IP_RANGE : liste de plages d'adresses IP séparées par une virgule
    • STACK_TYPE (facultatif) : type de pile de version d'adresse IP. La valeur doit être IPV4_ONLY ou IPV4_IPV6. La valeur par défaut est IPV4_ONLY.

    Dans le résultat, recherchez la valeur du champ name. Il se présente au format projects/PROJECT/locations/LOCATION/operations/OPERATION_ID, où OPERATION_ID correspond à l'ID de votre opération.

    Pour vérifier l'état de l'opération, utilisez la méthode networkconnectivity.operations.get.

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

    Remplacez les éléments suivants :

    • LOCATION : nom de la Google Cloud région dans laquelle vous souhaitez provisionner la connectivité, par exemple us-west1
    • OPERATION_ID : ID de l'opération

    Si la création de la ressource transport est terminée, la ligne "done": true s'affiche dans le résultat. Copiez les valeurs suivantes du résultat pour les utiliser dans les étapes ultérieures :

    • Valeur du champ generatedActivationKey
    • Valeur du champ peeringNetwork

    Suivez les étapes de l'API AWS.

    Suivez les instructions du document de référence de l'API AWS, en utilisant la clé d'activation que vous avez générée à l'étape précédente.

    Établir un appairage de réseaux VPC

    Vous pouvez établir de manière proactive l'appairage de réseaux VPC à l'extrémitéGoogle Cloud . Pour ce faire, utilisez le peeringNetwork renvoyé par la ressource transport créée précédemment et assurez-vous de créer un peering avec le même type de pile. Le type de pile par défaut correspond à la ressource transport à l'aide de IPV4_ONLY.

    Pour recevoir les routes AWS, vous devez activer le champ Import custom routes.

    La MTU du réseau VPC appairé est explicitement définie sur la valeur maximale afin d'éviter les problèmes de MTU dans la connectivité. Si vous utilisez une MTU inférieure à 8 896, vous pouvez recevoir un avertissement WARNING: Some requests generated warnings: - Network MTU 1460B does not match the peer's MTU 8896B. Dans ce cas, vous devez vous assurer d'utiliser des configurations MTU correspondantes entre votre réseau VPC Google Cloud et le réseau VPC AWS. Si elles ne correspondent pas, vous devrez peut-être remplacer les valeurs MTU par le plus petit dénominateur commun. Par exemple, si vous utilisez 8896 dans Google Cloud et 8800 dans AWS, tout dans Google Cloud doit être configuré sur 8800.

    gcloud

    Pour établir l'appairage de réseaux VPC, utilisez la commande 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
    

    Remplacez les valeurs suivantes :

    • TRANSPORT_NAME : nom du transport que vous avez créé
    • VPC_NETWORK : nom du réseau VPC pour lequel vous souhaitez lister les routes.
    • PEERING_NETWORK : nom du réseau VPC fourni par la ressource Transport que vous avez copié à partir du champ peeringNetwork de la ressource transport

    Si la commande réussit, le champ state de la sortie a la valeur ACTIVE.

    API

    Pour établir l'appairage de réseaux VPC, utilisez la méthode compute.networks.addPeering.

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

    Remplacez les valeurs suivantes :

    • PROJECT : nom du projet que vous appairez.
    • NETWORK : nom de la ressource réseau à laquelle ajouter l'appairage.

    Vérifier votre connexion

    Pour vérifier que la connectivité a été établie, vous pouvez lister les réseaux VPC appairés et les tables de routage. Une fois la configuration AWS terminée, vous pouvez voir vos routes AWS dans la liste.

    gcloud

    Pour lister les réseaux VPC appairés, utilisez la commande gcloud compute networks peerings list.

    gcloud compute networks peerings list
    

    Le résultat ressemble à ce qui suit :

    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
    

    Pour lister les routes d'un transport spécifique, utilisez la commande gcloud compute networks peerings list-routes.

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

    Remplacez les valeurs suivantes :

    • TRANSPORT_ID : nom de la ressource de transport
    • NETWORK : nom du réseau VPC pour lequel vous souhaitez lister les tables de routage
    • LOCATION : emplacement de la ressource de transport

    API

    Pour lister les réseaux appairés, utilisez la méthode compute.networks.list.

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

    Remplacez PROJECT par le nom du projet pour lequel vous souhaitez lister les réseaux.

    Pour lister les routes, utilisez la méthode compute.routes.listPeeringRoutes.

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

    Remplacez les valeurs suivantes :

    • PROJECT par le nom du projet pour lequel vous souhaitez lister les routes.
    • NETWORK : nom du réseau VPC pour lequel vous souhaitez lister les tables de routage

    Étapes suivantes