Proposer un spoke VPC dans un autre projet

Lorsque vous créez un spoke, vous devez l'associer à un hub. Si votre spoke se trouve dans un projet différent du hub, l'administrateur du hub doit approuver le spoke que vous avez proposé pour qu'il puisse devenir actif. Pour créer un spoke VPC que vous souhaitez connecter à un hub dans un autre projet, procédez comme suit.

Pour en savoir plus sur l'utilisation des spokes, y compris sur la création, l'énumération, la mise à jour et la suppression de spokes, consultez la section Utiliser des spokes.

Avant de commencer

Avant de commencer, consultez les sections suivantes.

Créer ou sélectionner un projet

Pour faciliter la configuration de NCC, commencez par identifier un projet valide.

  1. Connectez-vous à votre Google Cloud compte. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $de crédits sans frais pour exécuter, tester et déployer des charges de travail.
  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. Installez la 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. Installez la 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)'

Activer l'API Network Connectivity

Pour pouvoir effectuer des tâches quelconques à l'aide de Network Connectivity Center (NCC), vous devez activer l'API Network Connectivity.

Console

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

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

    Accéder à Network Connectivity Center

  2. Cliquez sur Activer.

Vous pouvez également activer l'API en utilisant la Google Cloud bibliothèque d'API de la console, comme décrit dans Activer des API.

Proposer un spoke

Pour créer un spoke VPC dans le même projet que le hub ou dans un autre projet, procédez comme suit.

Si vous souhaitez attribuer des plages d'exportation à exclure ou à inclure, utilisez les options appropriées lors de la création du spoke.

Console

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

    Accéder à Network Connectivity Center

  2. Dans le menu "projet", sélectionnez le projet dans lequel vous souhaitez créer le spoke.

  3. Cliquez sur l'onglet Spokes.

  4. Cliquez sur Ajouter des spokes.

  5. Dans la section Sélectionner un hub, pour associer le nouveau spoke à un hub d'un autre projet, sélectionnez l'option Dans un autre projet pour l'emplacement du hub.

  6. Saisissez l'ID du projet et le nom du hub auxquels vous souhaitez associer votre nouveau spoke.

  7. Saisissez un Nom de spoke et, éventuellement, une Description.

  8. Si le hub auquel vous vous connectez est configuré pour la topologie en étoile (preview), sélectionnez ou saisissez le nom du groupe de spokes pour votre spoke. Pour en savoir plus sur la topologie en étoile, consultez la section Topologie en étoile. Pour en savoir plus sur les groupes de spokes, consultez la section Groupes de spokes.

  9. Pour le type de spoke, les options suivantes sont disponibles :

    • Pour un hub dans un autre projet, le type de spoke par défaut est Spoke VPC.
    • Pour un hub dans le même projet, les types de spokes autorisés sont déterminés par les types de spokes préexistants.
    • S'il n'y a pas de spokes, vous pouvez sélectionner n'importe quel type de spoke, bien que l'option présélectionnée soit le tunnel Cloud VPN.
  10. Pour ajouter un réseau VPC au spoke, sélectionnez le réseau VPC dans la liste.

  11. Facultatif : dans le champ Filtre de spoke VPC, vous pouvez ajouter un filtre pour personnaliser l'annonce des routes en spécifiant des plages d'adresses IP afin d'exclure ou d'inclure l'exportation du spoke vers le hub. Vous pouvez configurer le spoke pour qu'il n'exporte que les plages de sous-réseaux qui utilisent des adresses IPv4 privées, uniquement les plages de sous-réseaux IPv6 (internes et externes), ou les deux plages de sous-réseaux qui utilisent des adresses IPv4 privées et des plages de sous-réseaux IPv6 internes et externes.

    1. Plages IPv4 : configurez l'exportation des plages de sous-réseaux IPv4.

      • Inclure l'exportation des plages de sous-réseaux IPv4 du spoke vers le hub : par défaut, cette case est cochée et toutes les plages de sous-réseaux qui utilisent des adresses IPv4 privées sont exportées.

        Si vous ne souhaitez pas exporter les plages de sous-réseaux IPv4, décochez cette case.

        Si vous ne souhaitez exporter que des plages de sous-réseaux IPv4 spécifiques, sélectionnez Spécifier des plages IPv4 , puis saisissez les plages d'adresses que vous souhaitez exporter. Les plages de sous-réseaux IPv4 que vous spécifiez doivent être des plages d'adresses IPv4 privées, à l'exclusion des adresses IPv4 publiques utilisées en mode privé. Pour en savoir plus, consultez la section Plages d'adresses IPv4 valides.

      • Exclure l'exportation des plages de sous-réseaux du spoke vers le hub : si le spoke exporte toutes les plages de sous-réseaux qui utilisent des adresses IPv4 privées et que vous souhaitez exclure des plages spécifiques de l'exportation, saisissez ces plages dans ce champ.

    2. Plages IPv6 : configurez l'exportation des plages de sous-réseaux IPv6.

      • Inclure l'exportation de toutes les plages de sous-réseaux IPv6 du spoke vers le hub : pour exporter toutes les plages de sous-réseaux IPv6 internes et externes vers le hub, cochez la case.
  12. Cliquez sur OK.

  13. Si vous souhaitez ajouter d'autres spokes, cliquez sur Ajouter un spoke, puis recommencez le processus en saisissant un Nom de spoke.

  14. Lorsque vous avez terminé d'ajouter des spokes, cliquez sur Créer. La page NCC est mise à jour et affiche les détails des spokes que vous avez créés.

    L'état du spoke reste Inactive jusqu'à ce que l'administrateur du hub examine et accepte le spoke que vous avez proposé.

gcloud

Pour créer un spoke VPC, utilisez la commande gcloud network-connectivity spokes linked-vpc-network create.

gcloud network-connectivity spokes linked-vpc-network create SPOKE_NAME \
    --hub=HUB_URI \
    --global \
    --vpc-network=VPC_NETWORK \
    --include-export-ranges=[INCLUDE_EXPORT_RANGES] \
    --exclude-export-ranges=[EXCLUDE_EXPORT_RANGES] \
    --group=GROUP_NAME

Remplacez les éléments suivants :

  • SPOKE_NAME : nom du spoke que vous créez
  • HUB_URI: URI d'un hub dans un autre projet, dans lequel vous souhaitez créer le spoke
  • VPC_NETWORK : réseau VPC auquel ce spoke fournit une connectivité. Le réseau VPC doit se trouver dans le même projet que le spoke.
  • INCLUDE_EXPORT_RANGES: liste de mots clés, de CIDR ou d'une combinaison de mots clés et de CIDR séparés par des virgules, qui définissent les plages d'adresses IP de sous-réseau pouvant être exportées vers le hub.

    • Le mot clé ALL_PRIVATE_IPV4_RANGES ajoute toutes les plages de sous-réseaux qui utilisent des adresses IPv4 privées à la liste des plages d'exportation à inclure.

    • Le mot clé ALL_IPV6_RANGES ajoute toutes les plages de sous-réseaux IPv6 à la liste des plages d'exportation à inclure.

    • La liste des plages d'exportation à inclure accepte jusqu'à 16 plages CIDR IPv4 ou IPv6 uniques et non chevauchantes. Aucun CIDR de la liste ne peut correspondre à un autre CIDR de la liste ni le contenir. Chaque plage de sous-réseaux actuelle et future du réseau de spoke VPC qui chevauche un CIDR dans la liste des plages d'exportation à inclure doit remplir l'une des conditions suivantes :

      • Correspondre exactement à un CIDR dans la liste des plages d'exportation à inclure.

      • S'intégrer dans un CIDR de la liste des plages d'exportation à inclure. Dans ce cas, une plage de sous-réseaux a une longueur de masque de sous-réseau supérieure à celle du CIDR dans la liste des plages d'exportation à inclure. Par exemple, si le réseau de spoke VPC comporte la plage de sous-réseaux 10.1.2.0/24, 10.1.0.0/16 est un CIDR valide pour la liste des plages d'exportation à inclure, mais 10.1.2.0/25 ne l'est pas.

    • Si vous omettez la liste INCLUDE_EXPORT_RANGES, NCC fonctionne comme si la liste des plages d'exportation à inclure était [ALL_PRIVATE_IPV4_RANGES].

  • EXCLUDE_EXPORT_RANGES: liste de CIDR séparés par des virgules qui définissent les plages d'adresses IP de sous-réseau qui ne sont jamais exportées vers le hub.

    • La liste des plages à exclure accepte jusqu'à 16 CIDR uniques et non chevauchants. Aucun CIDR de la liste ne peut correspondre à un autre CIDR de la liste ni le contenir.

    • Chaque CIDR spécifié dans la liste des plages à exclure doit s'étendre aux adresses IP entièrement contenues dans la liste des plages d'exportation à inclure.

    • Si vous omettez la liste EXCLUDE_EXPORT_RANGES, NCC fonctionne comme si la liste des plages d'exportation à exclure était vide ([]).

  • GROUP_NAME : groupe auquel appartient ce spoke. Les valeurs acceptées sont default pour un hub avec topologie de maillage, ou center ou edge pour un hub avec topologie en étoile. Ce champ est obligatoire pour les groupes de spokes qui utilisent la topologie en étoile (preview). Pour en savoir plus sur les groupes de spokes, consultez la section Groupes de spokes.

API

Pour créer un spoke VPC, utilisez la networkconnectivity.spokes.create méthode.

  POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/spokes
  {
    "name":"SPOKE_NAME",
    "hub":"HUB_URI",
    "linkedVpcNetwork": {
       "uri": VPC_URI,
       "include_export_ranges": "[INCLUDE_EXPORT_RANGES]",
       "exclude_export_ranges": "[EXCLUDE_EXPORT_RANGES]",
       "group": "GROUP_NAME"
    },
  }

Remplacez les éléments suivants :

  • PROJECT_ID: ID du projet contenant le nouveau spoke
  • SPOKE_NAME : nom du spoke que vous créez
  • HUB_URI : URI complet du hub, y compris le projet, car le hub se trouve dans un projet différent du spoke (par exemple, projects/hub-project-ID/locations/global/hubs/hub-name)
  • VPC_URI: réseau VPC vers lequel ce spoke pointe, par exemple vpc_uri
  • INCLUDE_EXPORT_RANGES: liste de mots clés, de CIDR ou d'une combinaison de mots clés et de CIDR séparés par des virgules, qui définissent les plages d'adresses IP de sous-réseau pouvant être exportées vers le hub.

    • Le mot clé ALL_PRIVATE_IPV4_RANGES ajoute toutes les plages de sous-réseaux qui utilisent des adresses IPv4 privées à la liste des plages d'exportation à inclure.

    • Le mot clé ALL_IPV6_RANGES ajoute toutes les plages de sous-réseaux IPv6 à la liste des plages d'exportation à inclure.

    • La liste des plages d'exportation à inclure accepte jusqu'à 16 CIDR uniques et non chevauchants. Aucun CIDR de la liste ne peut correspondre à un autre CIDR de la liste ni le contenir. Chaque plage de sous-réseaux actuelle et future du réseau de spoke VPC qui chevauche un CIDR dans la liste des plages d'exportation à inclure doit remplir l'une des conditions suivantes :

      • Correspondre exactement à un CIDR dans la liste des plages d'exportation à inclure.

      • S'intégrer dans un CIDR de la liste des plages d'exportation à inclure. Dans ce cas, une plage de sous-réseaux a une longueur de masque de sous-réseau supérieure à celle du CIDR dans la liste des plages d'exportation à inclure. Par exemple, si le réseau de spoke VPC comporte la plage de sous-réseaux 10.1.2.0/24, 10.1.0.0/16 est un CIDR valide pour la liste des plages d'exportation à inclure, mais 10.1.2.0/25 ne l'est pas.

    • Si vous omettez la liste INCLUDE_EXPORT_RANGES, NCC fonctionne comme si la liste des plages d'exportation à inclure était [ALL_PRIVATE_IPV4_RANGES].

  • EXCLUDE_EXPORT_RANGES: liste de CIDR séparés par des virgules qui définissent les plages d'adresses IP de sous-réseau qui ne sont jamais exportées vers le hub.

    • La liste des plages à exclure accepte jusqu'à 16 CIDR uniques et non chevauchants. Aucun CIDR de la liste ne peut correspondre à un autre CIDR de la liste ni le contenir.

    • Chaque CIDR spécifié dans la liste des plages à exclure doit s'étendre aux adresses IP entièrement contenues dans la liste des plages d'exportation à inclure.

    • Si vous omettez la liste EXCLUDE_EXPORT_RANGES, NCC fonctionne comme si la liste des plages d'exportation à exclure était vide ([]).

  • GROUP_NAME: groupe auquel appartient ce spoke (par exemple, center ou edge). Ce champ est obligatoire pour les groupes de spokes qui utilisent la topologie en étoile (preview). Pour en savoir plus sur les groupes de spokes, consultez la section Groupes de spokes.

Étape suivante