From 638bafaed3ecd8cb8f2ad9d5f4e588f44e1e87a1 Mon Sep 17 00:00:00 2001 From: Valentin Lacour Date: Wed, 26 Nov 2025 15:30:15 +0100 Subject: [PATCH 1/2] feat(network): create guide about extend network accross region --- .../guide.en-gb.md | 341 ++++++++++++++++++ .../meta.yaml | 2 + 2 files changed, 343 insertions(+) create mode 100644 pages/public_cloud/public_cloud_network_services/extend_private_network_accross_regions/guide.en-gb.md create mode 100644 pages/public_cloud/public_cloud_network_services/extend_private_network_accross_regions/meta.yaml diff --git a/pages/public_cloud/public_cloud_network_services/extend_private_network_accross_regions/guide.en-gb.md b/pages/public_cloud/public_cloud_network_services/extend_private_network_accross_regions/guide.en-gb.md new file mode 100644 index 00000000000..ef26c13d155 --- /dev/null +++ b/pages/public_cloud/public_cloud_network_services/extend_private_network_accross_regions/guide.en-gb.md @@ -0,0 +1,341 @@ +--- +title: Extending a Private OVHcloud Network Across Public Cloud Regions +excerpt: Learn how to configure a multi-region OVHcloud private network, manage VLANs and IP pools to prevent conflicts, and integrate with other OVHcloud products. +updated: 2025-12-02 +--- + +## Objective + +The objective of this guide is to help OVHcloud users configure and extend a private network across multiple Public Cloud regions, while avoiding IP conflicts and ensuring network stability. It covers best practices for: + +- Assigning separate IP pools per region. +- Managing VLANs across regions or other OVHcloud products. +- Using DHCP as a service for additional infrastructure, such as Bare Metal servers. +- Providing step-by-step instructions using the OVHcloud Control Panel, Horizon, OpenStack CLI, and Terraform. + +**By following this guide, users will be able to deploy a secure and reliable multi-region private network with OVHcloud.** + +## Background and Solution Overview + +### Challenges + +When extending a private network across multiple OVHcloud Public Cloud regions or connecting it to other OVHcloud products through a vRack, a major challenge arises from the way IP addressing is handled. + +Public Cloud instances automatically receive their private IP addresses via OpenStack DHCP or cloud-init, and this mechanism cannot be disabled. At the same time, all private networks using the same VLAN inside a vRack must share a common address space. This means that, without proper planning, the same VLAN can end up assigning overlapping or identical IP addresses across regions or between different OVHcloud services. + +To illustrate this issue, the following diagram shows an example of what must be avoided: + +![problematic image](images/problematic_image.png){.thumbnail} + +In this example, two Public Cloud instances in different regions and one Bare Metal server all share the same VLAN ID and have been assigned the same IP address. + +When multiple machines share the same IP on the same VLAN, the network becomes unstable. Packets cannot reliably determine which machine they should reach. For example, any traffic sent to 10.1.0.2 may land on an unpredictable host, resulting in inconsistent connectivity, routing errors, and service disruption. + +This problem becomes more severe as environments scale across multiple regions or products. Therefore, a structured approach to IP allocation such as dividing the subnet into dedicated per-region pools is essential to maintaining a stable, predictable and conflict-free vRack network. + +### Solution Overview + +To prevent IP conflicts and ensure stable communication across a stretched vRack network, each Public Cloud region must use a dedicated IP pool within the same private subnet. By segmenting the subnet into non-overlapping allocation ranges, OVHcloud ensures that OpenStack DHCP services in different regions never assign duplicate IP addresses—even when all networks share the same VLAN ID. + +The diagram below illustrates the corrected configuration: + +![solution image](images/solution_image.png){.thumbnail} + +Each region uses the same VLAN ID but draws IPs from a distinct allocation pool within the shared subnet, eliminating any risk of overlap. + +With this approach: + +- All regions remain part of the same L2 private network through the vRack. +- DHCP continues to function normally in each region, as OpenStack assigns IPs only from its designated pool. +- Additional OVHcloud products (such as Bare Metal, Dedicated Servers, or Private Cloud) can join the same VLAN without creating address conflicts. +- Multi-region workloads, migrations, and hybrid deployments operate reliably on a unified private network. + +This solution preserves the flexibility of a single stretched VLAN while enforcing predictable, conflict-free IP management. The next section explains how to configure this setup using the OVHcloud Control Panel, Horizon, OpenStack CLI, or Terraform. + +## Use case examples + +Here are some practical scenarios where extending a OVHcloud private network across regions or integrating with other OVHcloud products can solve real-world challenges. + +- **Database on Bare Metal & Application on Public Cloud:** Connect a Bare Metal database server with applications running in Public Cloud regions using the same VLAN without IP conflicts. +- **DHCP as a Service for Bare Metal Servers:** Assign IPs from Public Cloud networks to Bare Metal servers via DHCP for seamless integration. +- **Migration Between Public Cloud Regions:** Move workloads from one region to another while keeping the private network consistent and avoiding IP conflicts. +- **Multi-Region Services:** Run distributed services across multiple Public Cloud regions with a unified private network for secure communication. +- **Integration with Other OVHcloud Products:** Connect Public Cloud instances with Private Cloud, Dedicated Servers, or other OVHcloud services through vRack. + +## Requirements + +- A [Public Cloud project](/pages/public_cloud/public_cloud_cross_functional/create_a_public_cloud_project) in your OVHcloud account +- Basic networking knowledge +- Access to the [OVHcloud Control Panel](/links/manager) +- Access to the [Horizon interface](/pages/public_cloud/public_cloud_cross_functional/introducing_horizon) + +## Instructions + +This section provides step-by-step instructions to configure a private network stretched across multiple OVHcloud Public Cloud regions. You can use the OVHcloud Control Panel & Horizon, OpenStack CLI, or Terraform. + +### Configuration for Public Cloud + +Add the public cloud project to a vRack: + +![Add Public Cloud project to Vrack](images/add_pcp_to_vrack.png){.thumbnail} + +> [!tabs] +> Via the OVHcloud Control Panel and Horizon +>> **1. Create private networks in each region** +>> +>> Create a private network in each desired region using the same VLAN ID. +>> +>> ![Add Public Cloud project to Vrack](images/add_pcp_to_vrack.png){.thumbnail} +>> +>> > [!tabs] +>> > +>> > **Note:** At this stage, using the same VLAN ID across regions without separate IP pools is exactly what must be avoided. +>> > +>> +>> **2. Configure subnets and IP pools** +>> +>> Edit each subnet in Horizon, configure the gateway reserved IP and the IP pool. +>> +>> **- First region:** +>> +>> ![Edit subnet region 1](images/configure_subnet_region1.png){.thumbnail} +>> +>> ![Edit subnet region 1 - 2](images/configure_subnet_region1_2.png){.thumbnail} +>> +>> **- Second region:** +>> +>> ![Edit subnet region 2](images/configure_subnet_region2.png){.thumbnail} +>> +>> ![Edit subnet region 2 - 2](images/configure_subnet_region2_2.png){.thumbnail} +>> +>> **3. Refresh network status** +>> +>> Go back to the OVHcloud Control Panel and refresh the network page. +>> +>> ![Refresh vrack list page](images/refresh_vrack_list_page.png){.thumbnail} +>> +>> You should now see a single VLAN stretched across multiple regions, each with its own IP pool. +>> +> Via the Openstack CLI +>> > [!primary] +>> > +>> > **Required:** OpenStack authentication configured in your environment variables +>> > +>> +>> **1. Load OpenStack credentials:** +>> +>> ```bash +>> source openrc.sh +>> ``` +>> +>> **2. Select the first region** +>> +>> ```bash +>> export OS_REGION_NAME=RBX-A +>> openstack network create --provider-network-type vrack --provider-segment 1 stretch-private-network-vlan-1 +>> openstack subnet create --network stretch-private-network-vlan-1 --subnet-range 10.1.0.0/16 --dhcp \ +>> --allocation-pool start=10.1.1.2,end=10.1.1.254 --dns-nameserver 213.186.33.99 --gateway 10.1.1.1 stretch-private-subnet +>> ``` +>> +>> **3. Select the second region** +>> +>> ```bash +>> export OS_REGION_NAME=GRA11 +>> openstack network create --provider-network-type vrack --provider-segment 1 stretch-private-network-vlan-1 +>> openstack subnet create --network stretch-private-network-vlan-1 --subnet-range 10.1.0.0/16 --dhcp \ +>> --allocation-pool start=10.1.2.2,end=10.1.2.254 --dns-nameserver 213.186.33.99 --gateway 10.1.2.1 stretch-private-subnet +>> ``` +>> +> Via Terraform +>> > [!primary] +>> > +>> > **Required:** OVHcloud application key configured in your environment variables +>> > +>> +>> 1. Create a main Terraform configuration file (e.g., `main.tf`) with the following content: +>> +>> ```hcl +>> resource "ovh_cloud_project_network_private" "private-net" { +>> name = "stretch-private-network-vlan-${var.private_network_vlan_id}" +>> vlan_id = var.private_network_vlan_id +>> regions = var.regions +>> } +>> +>> resource "ovh_cloud_project_network_private_subnet_v2" "private-subnet" { +>> count = length(var.regions) +>> name = "stretch-private-subnet-vlan-${var.private_network_vlan_id}" +>> network_id = tolist(ovh_cloud_project_network_private.private-net.regions_attributes[*].openstackid)[count.index] +>> region = element(var.regions, count.index) +>> gateway_ip = "10.${var.private_network_vlan_id}.${count.index + 1}.1" +>> cidr = "10.${var.private_network_vlan_id}.0.0/16" +>> dns_nameservers = ["213.186.33.99"] +>> dhcp = true +>> enable_gateway_ip = true +>> +>> allocation_pools { +>> start = "10.${var.private_network_vlan_id}.${count.index + 1}.2" +>> end = "10.${var.private_network_vlan_id}.${count.index + 1}.254" +>> } +>> } +>> ``` +>> +>> 2. Create a variables file (e.g., `variables.tf`) with the following content: +>> +>> ```hcl +>> variable regions { +>> type = list +>> default = ["RBX-A", "GRA11"] +>> } +>> +>> variable private_network_vlan_id { +>> type = string +>> default = "1" +>> } +>> ``` +>> +>> 3. Apply the configuration +>> +>> ```bash +>> terraform apply +>> ``` +>> +>> Terraform will create the private network, subnets, and IP allocation pools in each region as defined. +>> + +### DHCP for Bare Metal Servers (DHCP as a Service) + +This section explains how to provide Public Cloud DHCP IP addresses to Bare Metal servers by integrating them into a stretched private network. + +The Public Cloud project and Bare Metal server must be added to the same vRack: + +![Add Bare Metal server to Vrack](images/add_baremetal_to_vrack.png){.thumbnail} + +> [!tabs] +> Via the OVHcloud Control Panel and Horizon +>> **1. Create a Public Cloud private network** +>> +>> ![Create Public Cloud private network](images/create_private_network.png){.thumbnail} +>> +>> > [!primary] +>> > +>> > **Note:** Use the same VLAN ID that will be used for the Bare Metal server. +>> > +>> +>> **2. Obtain the MAC address of the Bare Metal server’s private interface.** +>> +>> ![Obtain mac address](images/obtain_mac_address.png){.thumbnail} +>> +>> **3. Create a virtual port on the Public Cloud private network using the MAC address of the Bare Metal server.** +>> +>> ![Create virtual port](images/create_virtual_port.png){.thumbnail} +>> +>> **4. Install an operating system on the Bare Metal server (e.g., Ubuntu 24.04).** +>> +>> ```bash +>> cat <> network: +>> version: 2 +>> ethernets: +>> privint: +>> match: +>> macaddress: "74:56:3c:85:7e:40" +>> dhcp4: false +>> dhcp6: false +>> vlans: +>> vlan1: +>> id: 1 +>> link: privint +>> dhcp4: true +>> EOF +>> +>> sudo chmod 600 /etc/netplan/90-private-interface.yaml +>> sudo netplan apply +>> ``` +>> +>> > [!warning] +>> > +>> > **Note:** Post-installation scripts may need to be updated with the correct MAC address and VLAN ID. +>> > +>> +> Via the Opentsack CLI +>> > [!primary] +>> > +>> > **Required:** OpenStack atuthentication configured in your environment variables +>> > +>> +>> **1. Load OpenStack credentials.** +>> +>> ```bash +>> source openrc.sh +>> ``` +>> +>> **2. Select the region:** +>> +>> ```bash +>> export OS_REGION_NAME=RBX-A +>> ``` +>> +>> 3. Create the private network and subnet: +>> +>> ```bash +>> openstack network create --provider-network-type vrack --provider-segment 1 stretch-private-network-vlan-1 +>> +>> openstack subnet create --network stretch-private-network-vlan-1 --subnet-range 10.1.0.0/16 --dhcp \ +>> --allocation-pool start=10.1.0.2,end=10.1.254.254 --dns-nameserver 213.186.33.99 --gateway 10.1.0.1 stretch-private-subnet +>> ``` +>> +>> **4. Create a virtual port for the Bare Metal server.** +>> +>> ```bash +>> openstack port create --network stretch-private-network-vlan-1 bare_metal_port +>> ``` +>> +>> 5. Install the OS on the Bare Metal server (Ubuntu 24.04 used in this example). +>> +>> ```bash +>> cat <> network: +>> version: 2 +>> ethernets: +>> privint: +>> match: +>> macaddress: "74:56:3c:85:7e:40" +>> dhcp4: false +>> dhcp6: false +>> vlans: +>> vlan1: +>> id: 1 +>> link: privint +>> dhcp4: true +>> EOF +>> +>> sudo chmod 600 /etc/netplan/90-private-interface.yaml +>> sudo netplan apply +>> ``` +>> +>> > [!warning] +>> > +>> > **Note:** Post-installation scripts may need to be updated with the correct MAC address and VLAN ID. +>> > +>> +> Via Terraform +>> > [!primary] +>> > +>> > **Required:** OVHcloud application key configured in your environment variables +>> > +>> +>> **1. Configure your SSH public key in the `terraform.tfvars` file.** +>> +>> **2. ** +>> +>> +>> +>> > [!warning] +>> > +>> > Running the Terraform script may reinstall your Bare Metal server, so ensure you have backups or are prepared for a reinstall. +>> > +>> + +## Go further + +Join our [community of users](/links/community). diff --git a/pages/public_cloud/public_cloud_network_services/extend_private_network_accross_regions/meta.yaml b/pages/public_cloud/public_cloud_network_services/extend_private_network_accross_regions/meta.yaml new file mode 100644 index 00000000000..2c1da3d3eb7 --- /dev/null +++ b/pages/public_cloud/public_cloud_network_services/extend_private_network_accross_regions/meta.yaml @@ -0,0 +1,2 @@ +id: b05d91f0-f17a-4191-a965-4f74226f6d15 +full_slug: public-cloud-network-extend-private-network-multi-region \ No newline at end of file From 2bbed7c023a68559f4bd90d0ebe9cb89ca1a9de1 Mon Sep 17 00:00:00 2001 From: Valentin Lacour Date: Mon, 1 Dec 2025 12:04:04 +0100 Subject: [PATCH 2/2] feat(network): new guide about how to extend private network --- .../guide.en-gb.md | 139 ++++++- .../guide.fr-fr.md | 344 ++++++++++++++++++ .../images/add_baremetal_to_vrack.png | Bin 0 -> 103446 bytes .../images/add_pcp_to_vrack.png | Bin 0 -> 101756 bytes .../images/configure_subnet_region1.png | Bin 0 -> 70072 bytes .../images/configure_subnet_region1_2.png | Bin 0 -> 66906 bytes .../images/configure_subnet_region2.png | Bin 0 -> 70410 bytes .../images/configure_subnet_region2_2.png | Bin 0 -> 68251 bytes .../images/create_private_network.png | Bin 0 -> 93419 bytes .../images/create_virtual_port.png | Bin 0 -> 86677 bytes .../images/obtain_mac_address.png | Bin 0 -> 117138 bytes .../images/problematic_image.png | Bin 0 -> 114580 bytes .../images/refresh_vrack_list_page.png | Bin 0 -> 103897 bytes .../images/solution_image.png | Bin 0 -> 114464 bytes 14 files changed, 479 insertions(+), 4 deletions(-) create mode 100644 pages/public_cloud/public_cloud_network_services/extend_private_network_accross_regions/guide.fr-fr.md create mode 100644 pages/public_cloud/public_cloud_network_services/extend_private_network_accross_regions/images/add_baremetal_to_vrack.png create mode 100644 pages/public_cloud/public_cloud_network_services/extend_private_network_accross_regions/images/add_pcp_to_vrack.png create mode 100644 pages/public_cloud/public_cloud_network_services/extend_private_network_accross_regions/images/configure_subnet_region1.png create mode 100644 pages/public_cloud/public_cloud_network_services/extend_private_network_accross_regions/images/configure_subnet_region1_2.png create mode 100644 pages/public_cloud/public_cloud_network_services/extend_private_network_accross_regions/images/configure_subnet_region2.png create mode 100644 pages/public_cloud/public_cloud_network_services/extend_private_network_accross_regions/images/configure_subnet_region2_2.png create mode 100644 pages/public_cloud/public_cloud_network_services/extend_private_network_accross_regions/images/create_private_network.png create mode 100644 pages/public_cloud/public_cloud_network_services/extend_private_network_accross_regions/images/create_virtual_port.png create mode 100644 pages/public_cloud/public_cloud_network_services/extend_private_network_accross_regions/images/obtain_mac_address.png create mode 100644 pages/public_cloud/public_cloud_network_services/extend_private_network_accross_regions/images/problematic_image.png create mode 100644 pages/public_cloud/public_cloud_network_services/extend_private_network_accross_regions/images/refresh_vrack_list_page.png create mode 100644 pages/public_cloud/public_cloud_network_services/extend_private_network_accross_regions/images/solution_image.png diff --git a/pages/public_cloud/public_cloud_network_services/extend_private_network_accross_regions/guide.en-gb.md b/pages/public_cloud/public_cloud_network_services/extend_private_network_accross_regions/guide.en-gb.md index ef26c13d155..c9c3ff13733 100644 --- a/pages/public_cloud/public_cloud_network_services/extend_private_network_accross_regions/guide.en-gb.md +++ b/pages/public_cloud/public_cloud_network_services/extend_private_network_accross_regions/guide.en-gb.md @@ -324,11 +324,136 @@ The Public Cloud project and Bare Metal server must be added to the same vRack: >> > **Required:** OVHcloud application key configured in your environment variables >> > >> ->> **1. Configure your SSH public key in the `terraform.tfvars` file.** +>> **1. Create Terraform variable file `variables.tf`** >> ->> **2. ** +>> Define all variables needed for the deployment: >> ->> +>> ```hcl +>> variable "region" { +>> type = string +>> default = "RBX-A" +>> } +>> +>> variable "private_network_vlan_id" { +>> type = string +>> default = "1" +>> } +>> +>> variable "bare_metal_server_name" { +>> type = string +>> default = "ns3044214.ip-162-19-106.eu" +>> } +>> +>> variable "ssh_public_key" { +>> type = string +>> } +>> ``` +>> +>> **2. Create the private network file `private-network.tf`** +>> +>> ```hcl +>> resource "ovh_cloud_project_network_private" "private-net" { +>> name = "stretch-private-network-vlan-${var.private_network_vlan_id}" +>> vlan_id = var.private_network_vlan_id +>> regions = [var.region] +>> } +>> +>> resource "ovh_cloud_project_network_private_subnet_v2" "private-subnet" { +>> name = "stretch-private-subnet-vlan-${var.private_network_vlan_id}" +>> network_id = tolist(ovh_cloud_project_network_private.private-net.regions_attributes[*].openstackid)[0] +>> region = var.region +>> gateway_ip = "10.${var.private_network_vlan_id}.0.1" +>> cidr = "10.${var.private_network_vlan_id}.0.0/16" +>> dns_nameservers = ["213.186.33.99"] +>> dhcp = true +>> enable_gateway_ip = true +>> +>> allocation_pools { +>> start = "10.${var.private_network_vlan_id}.0.2" +>> end = "10.${var.private_network_vlan_id}.254.254" +>> } +>> } +>> ``` +>> +>> > [!primary] +>> > +>> > This file ensures a private network and subnet are created in the specified region, with DHCP enabled and a dedicated allocation pool. +>> > +>> +>> 3. **Create the Bare Metal file `bare-metal.tf`** +>> +>> ```hcl +>> data "ovh_dedicated_server" "server" { +>> service_name = var.bare_metal_server_name +>> } +>> +>> resource "openstack_networking_port_v2" "bare_metal_port" { +>> name = "bare-metal-${var.bare_metal_server_name}-port" +>> region = var.region +>> network_id = tolist(ovh_cloud_project_network_private.private-net.regions_attributes[*].openstackid)[0] +>> mac_address = data.ovh_dedicated_server.server.vnis[index(data.ovh_dedicated_server.server.vnis.*.mode, "vrack")].name +>> admin_state_up = "true" +>> +>> depends_on = [ovh_cloud_project_network_private_subnet_v2.private-subnet] +>> } +>> +>> data "ovh_dedicated_installation_template" "template" { +>> template_name = "ubuntu2404-server_64" +>> } +>> +>> resource "ovh_dedicated_server_reinstall_task" "server_reinstall" { +>> service_name = data.ovh_dedicated_server.server.service_name +>> os = data.ovh_dedicated_installation_template.template.template_name +>> +>> customizations { +>> hostname = data.ovh_dedicated_server.server.name +>> post_installation_script = base64encode(templatefile("templates/custom-bare-metal.tftpl", { +>> mac_address = data.ovh_dedicated_server.server.vnis[index(data.ovh_dedicated_server.server.vnis.*.mode, "vrack")].name +>> vlan_id = var.private_network_vlan_id +>> })) +>> ssh_key = var.ssh_public_key +>> } +>> } +>> ``` +>> +>> > [!primary] +>> > +>> > This configuration attaches the Bare Metal server to the private network via a virtual port and executes a post-installation script to configure networking. +>> > +>> +>> 4. **Create the post-installation template `templates/custom-bare-metal.tftpl`** +>> +>> ```bash +>> cat <> network: +>> version: 2 +>> ethernets: +>> privint: +>> match: +>> macaddress: "${mac_address}" +>> dhcp4: false +>> dhcp6: false +>> vlans: +>> vlan${vlan_id}: +>> id: ${vlan_id} +>> link: privint +>> dhcp4: true +>> EOF +>> +>> sudo chmod 600 /etc/netplan/90-private-interface.yaml +>> sudo netplan apply +>> ``` +>> +>> > [!primary] +>> > +>> > This script creates a netplan configuration for the private VLAN interface, enabling DHCP to assign an IP from the Public Cloud network. +>> > +>> +>> **5. Apply the configuration** +>> +>> ```bash +>> terraform apply +>> ``` >> >> > [!warning] >> > @@ -336,6 +461,12 @@ The Public Cloud project and Bare Metal server must be added to the same vRack: >> > >> +## Notes / Best Practices + +- Verify the VLAN ID matches between the Public Cloud network and Bare Metal server. +- Confirm the Bare Metal server receives an IP from the Public Cloud DHCP service after installation. +- Each server should use a dedicated IP allocation pool to avoid conflicts. + ## Go further -Join our [community of users](/links/community). +Join our [community of users](/links/community). \ No newline at end of file diff --git a/pages/public_cloud/public_cloud_network_services/extend_private_network_accross_regions/guide.fr-fr.md b/pages/public_cloud/public_cloud_network_services/extend_private_network_accross_regions/guide.fr-fr.md new file mode 100644 index 00000000000..076a0b248f4 --- /dev/null +++ b/pages/public_cloud/public_cloud_network_services/extend_private_network_accross_regions/guide.fr-fr.md @@ -0,0 +1,344 @@ +--- +title: Extension d'un réseau privé OVHcloud à travers les régions Public Cloud +excerpt: Découvrez comment configurer un réseau privé multi-régions OVHcloud, gérer les VLAN et les pools d'IP pour éviter les conflits, et l'intégrer avec d'autres produits OVHcloud. +updated: 2025-12-02 +--- + +## Objectif + +L'objectif de ce guide est d'aider les utilisateurs OVHcloud à configurer et à étendre un réseau privé à travers plusieurs régions Public Cloud, tout en évitant les conflits d'IP et en assurant la stabilité du réseau. Il couvre les bonnes pratiques pour : + +- Attribuer des pools d'IP distincts par région. +- Gérer les VLAN à travers les régions ou d'autres produits OVHcloud. +- Utiliser le DHCP en tant que service pour d'autres infrastructures, comme les serveurs Bare Metal. +- Fournir des instructions détaillées en utilisant l'espace client OVHcloud, Horizon, l'OpenStack CLI et Terraform. + +**En suivant ce guide, les utilisateurs seront capables de déployer un réseau privé multi-régions sécurisé et fiable avec OVHcloud.** + +## Contexte et aperçu de la solution + +### Défis + +Lorsqu'un réseau privé est étendu à travers plusieurs régions Public Cloud OVHcloud ou connecté à d'autres produits OVHcloud via un vRack, un défi majeur surgit en raison de la manière dont l'adressage IP est géré. + +Les instances Public Cloud reçoivent automatiquement leurs adresses IP privées via le DHCP OpenStack ou cloud-init, et ce mécanisme ne peut pas être désactivé. En même temps, tous les réseaux privés utilisant le même VLAN à l'intérieur d'un vRack doivent partager un espace d'adressage commun. Cela signifie qu'en l'absence d'une planification appropriée, le même VLAN peut finir par attribuer des adresses IP chevauchantes ou identiques à travers les régions ou entre différents services OVHcloud. + +Pour illustrer ce problème, le diagramme suivant montre un exemple de ce qu'il faut éviter : + +![image problématique](images/problematic_image.png){.thumbnail} + +Dans cet exemple, deux instances Public Cloud situées dans des régions différentes et un serveur Bare Metal partagent le même ID VLAN et ont été attribués la même adresse IP. + +Lorsque plusieurs machines partagent la même IP sur le même VLAN, le réseau devient instable. Les paquets ne peuvent pas déterminer de manière fiable vers quelle machine ils devraient aller. Par exemple, tout trafic envoyé à 10.1.0.2 peut atterrir sur un hôte imprévisible, entraînant une connectivité irrégulière, des erreurs de routage et une interruption de service. + +Ce problème devient plus grave lorsque les environnements s'étendent à travers plusieurs régions ou produits. Par conséquent, une approche structurée de l'allocation d'IP, telle que la division du sous-réseau en pools dédiés par région, est essentielle pour maintenir un réseau vRack stable, prévisible et sans conflit. + +### Aperçu de la solution + +Pour éviter les conflits d'IP et assurer une communication stable à travers un réseau vRack étiré, chaque région Public Cloud doit utiliser un pool d'IP dédié au sein du même sous-réseau privé. En segmentant le sous-réseau en plages d'allocation non chevauchantes, OVHcloud garantit que les services DHCP OpenStack dans différentes régions n'attribuent jamais des adresses IP en double, même lorsque tous les réseaux partagent le même ID VLAN. + +Le diagramme ci-dessous illustre la configuration corrigée : + +![image solution](images/solution_image.png){.thumbnail} + +Chaque région utilise le même ID VLAN mais tire les IPs d'une plage d'allocation distincte au sein du sous-réseau partagé, éliminant ainsi tout risque de chevauchement. + +Avec cette approche : + +- Toutes les régions restent parties intégrantes du même réseau privé L2 via le vRack. +- Le DHCP continue à fonctionner normalement dans chaque région, car OpenStack attribue des IPs uniquement depuis sa plage désignée. +- D'autres produits OVHcloud (tels que Bare Metal, Serveurs dédiés ou Private Cloud) peuvent rejoindre le même VLAN sans créer de conflits d'adresses. +- Les charges de travail multi-régions, les migrations et les déploiements hybrides fonctionnent de manière fiable sur un réseau privé unifié. + +Cette solution préserve la flexibilité d'un seul VLAN étiré tout en imposant une gestion d'IP prévisible et sans conflit. La section suivante explique comment configurer ce déploiement en utilisant l'espace client OVHcloud, Horizon, l'OpenStack CLI ou Terraform. + +## Exemples d'utilisation + +Voici quelques scénarios pratiques où l'étendre un réseau privé OVHcloud à travers des régions ou l'intégrer à d'autres produits OVHcloud peut résoudre des défis réels. + +- **Base de données sur Bare Metal & Application sur Public Cloud :** Connecter un serveur de base de données Bare Metal avec des applications exécutées dans des régions Public Cloud en utilisant le même VLAN sans conflits d'IP. +- **DHCP en tant que service pour les serveurs Bare Metal :** Attribuer des IPs depuis les réseaux Public Cloud aux serveurs Bare Metal via le DHCP pour une intégration transparente. +- **Migration entre les régions Public Cloud :** Déplacer des charges de travail d'une région à une autre tout en maintenant le réseau privé cohérent et en évitant les conflits d'IP. +- **Services multi-régions :** Exécuter des services distribués à travers plusieurs régions Public Cloud avec un réseau privé unifié pour une communication sécurisée. +- **Intégration avec d'autres produits OVHcloud :** Connecter des instances Public Cloud avec Private Cloud, Serveurs dédiés ou d'autres services OVHcloud via vRack. + +## Prérequis + +- Un [projet Public Cloud](/pages/public_cloud/public_cloud_cross_functional/create_a_public_cloud_project) dans votre compte OVHcloud +- Connaissances de base en réseau +- Accès à l'[espace client OVHcloud](/links/manager) +- Accès à l'[interface Horizon](/pages/public_cloud/public_cloud_cross_functional/introducing_horizon) + +## Instructions + +Cette section fournit des instructions pas à pas pour configurer un réseau privé étiré à travers plusieurs régions Public Cloud OVHcloud. Vous pouvez utiliser l'espace client OVHcloud & Horizon, l'OpenStack CLI ou Terraform. + +### Configuration pour Public Cloud + +Ajouter le projet Public Cloud à un vRack : + +![Ajouter un projet Public Cloud à Vrack](images/add_pcp_to_vrack.png){.thumbnail} + +> [!tabs] +> Via l'espace client OVHcloud et Horizon +>> **1. Créer des réseaux privés dans chaque région** +>> +>> Créer un réseau privé dans chaque région souhaitée en utilisant le même ID VLAN. +>> +>> ![Ajouter un projet Public Cloud à Vrack](images/add_pcp_to_vrack.png){.thumbnail} +>> +>> > [!tabs] +>> > +>> > **Note :** À ce stade, l'utilisation du même ID VLAN à travers les régions sans pools d'IP distincts est exactement ce qu'il faut éviter. +>> > +>> +>> **2. Configurer les sous-réseaux et les pools d'IP** +>> +>> Modifier chaque sous-réseau dans Horizon, configurer l'IP de passerelle réservée et le pool d'IP. +>> +>> **- Première région :** +>> +>> ![Modifier le sous-réseau région 1](images/configure_subnet_region1.png){.thumbnail} +>> +>> ![Modifier le sous-réseau région 1 - 2](images/configure_subnet_region1_2.png){.thumbnail} +>> +>> **- Deuxième région :** +>> +>> ![Modifier le sous-réseau région 2](images/configure_subnet_region2.png){.thumbnail} +>> +>> ![Modifier le sous-réseau région 2 - 2](images/configure_subnet_region2_2.png){.thumbnail} +>> +>> **3. Actualiser l'état du réseau** +>> +>> Retourner à l'espace client OVHcloud et actualiser la page du réseau. +>> +>> ![Actualiser la page de liste du vrack](images/refresh_vrack_list_page.png){.thumbnail} +>> +>> Vous devriez maintenant voir un seul VLAN étiré à travers plusieurs régions, chacune avec son propre pool d'IP. +>> +> Via l'Openstack CLI +>> > [!primary] +>> > +>> > **Requis :** Authentification OpenStack configurée dans les variables d'environnement +>> > +>> +>> **1. Charger les informations d'identification OpenStack :** +>> +>> ```bash +>> source openrc.sh +>> ``` +>> +>> **2. Sélectionner la première région** +>> +>> ```bash +>> export OS_REGION_NAME=RBX-A +>> openstack network create --provider-network-type vrack --provider-segment 1 stretch-private-network-vlan-1 +>> openstack subnet create --network stretch-private-network-vlan-1 --subnet-range 10.1.0.0/16 --dhcp \ +>> --allocation-pool start=10.1.1.2,end=10.1.1.254 --dns-nameserver 213.186.33.99 --gateway 10.1.1.1 stretch-private-subnet +>> ``` +>> +>> **3. Sélectionner la deuxième région** +>> +>> ```bash +>> export OS_REGION_NAME=GRA11 +>> openstack network create --provider-network-type vrack --provider-segment 1 stretch-private-network-vlan-1 +>> openstack subnet create --network stretch-private-network-vlan-1 --subnet-range 10.1.0.0/16 --dhcp \ +>> --allocation-pool start=10.1.2.2,end=10.1.2.254 --dns-nameserver 213.186.33.99 --gateway 10.1.2.1 stretch-private-subnet +>> ``` +>> +> Via Terraform +>> > [!primary] +>> > +>> > **Requis :** Clé d'application OVHcloud configurée dans les variables d'environnement +>> > +>> +>> 1. Créer un fichier de configuration principal Terraform (par exemple, `main.tf`) avec le contenu suivant : +>> +>> ```hcl +>> resource "ovh_cloud_project_network_private" "private-net" { +>> name = "stretch-private-network-vlan-${var.private_network_vlan_id}" +>> vlan_id = var.private_network_vlan_id +>> regions = var.regions +>> } +>> +>> resource "ovh_cloud_project_network_private_subnet_v2" "private-subnet" { +>> count = length(var.regions) +>> name = "stretch-private-subnet-vlan-${var.private_network_vlan_id}" +>> network_id = tolist(ovh_cloud_project_network_private.private-net.regions_attributes[*].openstackid)[count.index] +>> region = element(var.regions, count.index) +>> gateway_ip = "10.${var.private_network_vlan_id}.${count.index + 1}.1" +>> cidr = "10.${var.private_network_vlan_id}.0.0/16" +>> dns_nameservers = ["213.186.33.99"] +>> dhcp = true +>> enable_gateway_ip = true +>> +>> allocation_pools { +>> start = "10.${var.private_network_vlan_id}.${count.index + 1}.2" +>> end = "10.${var.private_network_vlan_id}.${count.index + 1}.254" +>> } +>> } +>> ``` +>> +>> 2. Créer un fichier de variables (par exemple, `variables.tf`) avec le contenu suivant : +>> +>> ```hcl +>> variable regions { +>> type = list +>> default = ["RBX-A", "GRA11"] +>> } +>> +>> variable private_network_vlan_id { +>> type = string +>> default = "1" +>> } +>> ``` +>> +>> 3. Appliquer la configuration +>> +>> ```bash +>> terraform apply +>> ``` +>> +>> Terraform créera le réseau privé, les sous-réseaux et les pools d'IP d'allocation dans chaque région comme défini. +>> + +### DHCP pour les serveurs Bare Metal (DHCP en tant que service) + +Cette section explique comment fournir des adresses IP DHCP Public Cloud aux serveurs Bare Metal en les intégrant à un réseau privé étiré. + +Le projet Public Cloud et le serveur Bare Metal doivent être ajoutés au même vRack : + +![Ajouter un serveur Bare Metal à Vrack](images/add_baremetal_to_vrack.png){.thumbnail} + +> [!tabs] +> Via l'espace client OVHcloud et Horizon +>> **1. Créer un réseau privé Public Cloud** +>> +>> ![Créer un réseau privé Public Cloud](images/create_private_network.png){.thumbnail} +>> +>> > [!primary] +>> > +>> > **Note :** Utiliser le même ID VLAN qui sera utilisé pour le serveur Bare Metal. +>> > +>> +>> **2. Obtenir l'adresse MAC de l'interface privée du serveur Bare Metal.** +>> +>> ![Obtenir l'adresse MAC](images/obtain_mac_address.png){.thumbnail} +>> +>> **3. Créer un port virtuel sur le réseau privé Public Cloud en utilisant l'adresse MAC du serveur Bare Metal.** +>> +>> ![Créer un port virtuel](images/create_virtual_port.png){.thumbnail} +>> +>> **4. Installer un système d'exploitation sur le serveur Bare Metal (par exemple, Ubuntu 24.04).** +>> +>> ```bash +>> cat <> network: +>> version: 2 +>> ethernets: +>> privint: +>> match: +>> macaddress: "74:56:3c:85:7e:40" +>> dhcp4: false +>> dhcp6: false +>> vlans: +>> vlan1: +>> id: 1 +>> link: privint +>> dhcp4: true +>> EOF +>> +>> sudo chmod 600 /etc/netplan/90-private-interface.yaml +>> sudo netplan apply +>> ``` +>> +>> > [!warning] +>> > +>> > **Note :** Les scripts post-installation peuvent avoir besoin d'être mis à jour avec l'adresse MAC correcte et l'ID VLAN. +>> > +>> +> Via l'Opentsack CLI +>> > [!primary] +>> > +>> > **Requis :** Authentification OpenStack configurée dans les variables d'environnement +>> > +>> +>> **1. Charger les informations d'identification OpenStack.** +>> +>> ```bash +>> source openrc.sh +>> ``` +>> +>> **2. Sélectionner la région :** +>> +>> ```bash +>> export OS_REGION_NAME=RBX-A +>> ``` +>> +>> 3. Créer le réseau privé et le sous-réseau : +>> +>> ```bash +>> openstack network create --provider-network-type vrack --provider-segment 1 stretch-private-network-vlan-1 +>> +>> openstack subnet create --network stretch-private-network-vlan-1 --subnet-range 10.1.0.0/16 --dhcp \ +>> --allocation-pool start=10.1.0.2,end=10.1.254.254 --dns-nameserver 213.186.33.99 --gateway 10.1.0.1 stretch-private-subnet +>> ``` +>> +>> **4. Créer un port virtuel pour le serveur Bare Metal.** +>> +>> ```bash +>> openstack port create --network stretch-private-network-vlan-1 bare_metal_port +>> ``` +>> +>> 5. Installer le système d'exploitation sur le serveur Bare Metal (Ubuntu 24.04 utilisé dans cet exemple). +>> +>> ```bash +>> cat <> network: +>> version: 2 +>> ethernets: +>> privint: +>> match: +>> macaddress: "74:56:3c:85:7e:40" +>> dhcp4: false +>> dhcp6: false +>> vlans: +>> vlan1: +>> id: 1 +>> link: privint +>> dhcp4: true +>> EOF +>> +>> sudo chmod 600 /etc/netplan/90-private-interface.yaml +>> sudo netplan apply +>> ``` +>> +>> > [!warning] +>> > +>> > **Note :** Les scripts post-installation peuvent avoir besoin d'être mis à jour avec l'adresse MAC correcte et l'ID VLAN. +>> > +>> +> Via Terraform +>> > [!primary] +>> > +>> > **Requis :** Clé d'application OVHcloud configurée dans les variables d'environnement +>> > +>> +>> **1. Créer le fichier de variables Terraform `variables.tf`** +>> +>> Définir toutes les variables nécessaires pour le déploiement : +>> +>> ```hcl +>> variable "region" { +>> type = string +>> default = "RBX-A" +>> } +>> +>> variable "private_network_vlan_id" { +>> type = string +>> default = "1" +>> } +>> +>> variable "bare_metal_server_name" { +>> type = string +>> default = " \ No newline at end of file diff --git a/pages/public_cloud/public_cloud_network_services/extend_private_network_accross_regions/images/add_baremetal_to_vrack.png b/pages/public_cloud/public_cloud_network_services/extend_private_network_accross_regions/images/add_baremetal_to_vrack.png new file mode 100644 index 0000000000000000000000000000000000000000..04a2050f205f9e62fa73acd54c9dfdf8a1059199 GIT binary patch literal 103446 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