Attacher une adresse Floating IP à une instance Public Cloud

Base de connaissances

Attacher une adresse Floating IP à une instance Public Cloud


Icons/System/eye-open Created with Sketch. 6886 vues 17.07.2025 Cloud / Network Gateway for Public Cloud

Objectif

Les Floating IP sont des adresses IP publiques sur Public Cloud, utilisées pour exposer une instance privée ou un service de réseau privé sur le réseau public. Retrouvez plus d'informations sur notre page concepts dédiée.

Découvrez comment attacher des adresses Floating IP à vos instances.

Prérequis

Comprendre le service Floating IP

La solution Floating IP est fournie par les services OpenStack DVR (Distributed Virtual Router) sur le Public Cloud OVHcloud.

Floating IP vous permet de créer une adresse IP publique et de l’utiliser pour les réseaux privés de vos VMs pour le trafic entrant et sortant. Les adresses Floating IP peuvent être attachées et détachées de vos VMs à tout moment.

Vous pouvez garder des adresses Floating IP sans avoir à les attacher à un service. Elles restent disponibles pour vos ressources jusqu'à leur suppression manuelle.

Configuration cible

schema

Le but de cet exercice est de créer une VM (vm4fip) uniquement avec un réseau privé local (test-network) et d'utiliser un routeur (router1) pour configurer une Floating IP.

Ensuite, nous utiliserons cette Floating IP pour nous connecter à l'instance (VM) de l'extérieur et vérifier son accès à Internet.

En pratique


Accès à l'espace client OVHcloud

  • Lien direct : Projets Public Cloud
  • Pour accéder à vos services : Public Cloud > Sélectionnez votre projet

Attacher une Floating IP à une instance

Depuis l’espace client OVHcloud

Cliquez sur l'un des deux onglets ci-dessous selon que vous souhaitez associer une Floating IP à une nouvelle instance (Option 1) ou à une instance déjà existante (Option 2).

Cas d’une nouvelle instance

Si vous souhaitez associer une Floating IP à une instance existante, passez à l'Option 2 (deuxième onglet ci-dessus).

Avant de créer votre instance, assurez-vous d'avoir créé un réseau privé avec Gateway.

Si vous avez besoin d'assistance pour créer une nouvelle instance, consultez d'abord notre guide pour créer une instance depuis l'espace client OVHcloud.

À ce jour, toutes les régions ne sont pas compatibles avec cette fonctionnalité. Veillez à créer une instance dans une région qui le permet. Pour plus d'informations, veuillez vous référer à notre page sur la disponibilité des produits Public Cloud pour chaque région.

À l'étape 5 de la création d'une instance, vous pouvez choisir le « mode public » ou « mode privé » pour le réseau de votre instance.

Par défaut, le mode public est sélectionné. Cependant, comme nous créons une instance à laquelle nous allons attacher une Floating IP, nous devons créer une instance avec un réseau privé UNIQUEMENT.

Sélectionnez le Mode privé et cliquez sur la flèche déroulante pour sélectionner le réseau privé de votre choix (le réseau doit avoir été préalablement créé avec une Gateway).

Si vous sélectionnez un réseau privé qui n'est pas lié à une Gateway, le système créera automatiquement une Gateway de taille « S » par défaut et l'attachera à votre réseau.

Private Network

Cochez ensuite la case à côté de Attacher une Floating IP à cette instance puis sélectionnez Créer une nouvelle Floating IP.

Lorsque vous avez terminé, cliquez sur Suivant pour passer à la dernière étape et définir votre mode de facturation.

En cas de doute sur la durée d’utilisation, choisissez la facturation à l’heure, car vous ne pourrez plus y passer après la livraison. Vous aurez la possibilité de passer en abonnement mensuel dès que l’instance sera disponible sur la page « Instances ».

Si vous choisissez d’être facturé à l’heure, vous continuerez à être facturé tant que l’instance n’est pas supprimée, même si l’instance n’est pas utilisée.

Vérifiez votre configuration, puis cliquez sur Créer une instance. L’opération peut prendre quelques minutes jusqu’à la livraison de votre service.

Cas d’une instance existante (créée uniquement avec un réseau privé)

Veuillez noter que le réseau privé doit être relié à une Gateway. Pour plus d'informations, consultez ce guide : Créer un réseau privé avec une Gateway.

Cliquez sur IP Publiques dans le menu de gauche sous Network.

Cliquez sur Floating IPs puis sur Ajouter une nouvelle IP.

add a new ip

Sous la rubrique « Sélectionnez votre usage public », choisissez Floating IPs (Public Cloud).

select floating ip

À l'étape suivante, choisissez la région de votre Floating IP. La région doit être celle de l'instance à laquelle la Floating IP sera rattachée.

select location ip

Veuillez noter que seules seront affichées les régions dans lesquelles ce service est disponible.

Cliquez ensuite sur la liste déroulante pour sélectionner l'instance à laquelle attacher la Floating IP, puis choisissez le réseau/IP (celui-ci sera dans la plage par défaut sélectionnée lors de la création du réseau privé de l'instance).

select instance

Dans le cas où votre instance est attachée à deux ou plusieurs réseaux privés, vous sera alors présenté un nombre équivalent d'adresses IPs privées à sélectionner. Sélectionnez l'IP privée de votre choix.

Une fois ces étapes effectuées, cliquez sur Générer le bon de commande. La livraison de votre service peut prendre quelques minutes.

generate order

Détacher une Floating IP

Cette fonctionnalité est actuellement disponible uniquement via l’API OpenStack et l'interface Horizon.

Supprimer une Floating IP

Cliquez sur IP Publiques dans le menu de gauche sous Network.

Dans l'onglet Floating IP, cliquez sur le bouton ... à côté de l'IP correspondante et sélectionnez Supprimer.

delete floating ip

Dans la fenêtre qui s'affiche, cliquez sur Confirmer. L'opération peut prendre quelques minutes.

Depuis l'API OpenStack

Dépliez cette section

Cliquez sur les onglets ci-dessous pour afficher et suivre successivement chacune des 9 étapes.

Créez un routeur :

$ openstack router create router1
$ openstack router show router1 -c id -c status
+--------+--------------------------------------+
| Field  | Value                                |
+--------+--------------------------------------+
| id     | d2370b2f-18ba-4a23-886d-35c01ba2a957 |
| status | ACTIVE                               |
+--------+--------------------------------------+

Créez un réseau privé si nécessaire.
Si vous en avez déjà un, vous pouvez ignorer cette étape.

$ openstack network create test-network
$ openstack network show test-network -c id -c status
+--------+--------------------------------------+
| Field  | Value                                |
+--------+--------------------------------------+
| id     | a9753f63-889a-43b7-b3ea-258bd5008207 |
| status | ACTIVE                               |
+--------+--------------------------------------+

Créez un sous-réseau pour le réseau privé test-network.
Si vous en avez déjà un, vous pouvez ignorer cette étape.

Le service DHCP doit être activé sur le sous-réseau et une gateway ip doit être configurée.

$ openstack subnet create --subnet-range 192.168.0.1/24 --network test-network --dhcp --gateway 192.168.0.1 test-subnet
$ openstack subnet show test-subnet -c id -c gateway_ip -c enable_dhcp -c name
+-------------+--------------------------------------+
| Field       | Value                                |
+-------------+--------------------------------------+
| enable_dhcp | True                                 |
| gateway_ip  | 192.168.0.1                          |
| id          | c23df163-0d46-4928-91d6-956794c4de16 |
| name        | test-subnet                          |
+-------------+--------------------------------------+

Ajoutez un sous-réseau au router1.

$ openstack router add subnet router1 test-subnet
$ openstack router show router1 -c interfaces_info -c name
+-----------------+-----------------------------------------------------------------------------------------------------------------------------------------+
| Field           | Value                                                                                                                                   |
+-----------------+-----------------------------------------------------------------------------------------------------------------------------------------+
| interfaces_info | [{"port_id": "ec872f31-cfe5-4326-9aa2-30d2e5c60d20", "ip_address": "192.168.0.1", "subnet_id": "c23df163-0d46-4928-91d6-956794c4de16"}] |
| name            | router1                                                                                                                                 |
+-----------------+-----------------------------------------------------------------------------------------------------------------------------------------+

Ajoutez une gateway au router1 à partir du réseau partagé public Ext-Net.

$ openstack router set --external-gateway Ext-Net router1
$ openstack router show router1 -c external_gateway_info -c name
+-----------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Field                 | Value                                                                                                                                                                                                                                                                                    |
+-----------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| external_gateway_info | {"network_id": "b2c02fdc-ffdf-40f6-9722-533bd7058c06", "external_fixed_ips" : [{"subnet_id": "0f11270c-1113-4d4f-98de-eba83445d962", "ip_address": "141.94.208.45"}, {"subnet_id": "4aa6cac1-d5cd-4e25-b14b-7573aeabcab1", "ip_address": "2001:41d0:304:400::7dc"}], "enable_snat": true} |
| name                  | router1                                                                                                                                                                                                                                                                                  |
+-----------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

Créez une clé SSH test-keypair pour la connexion SSH à votre VM (n'oubliez pas de limiter les accès au fichier de clé privée à l'aide de la commande chmod).

$ openstack keypair create --private-key ./test-key.rsa test-key
+-------------+-------------------------------------------------+
| Field       | Value                                           |
+-------------+-------------------------------------------------+
| fingerprint | 02:54:10:33:e4:b0:fb:4b:ec:4b:06:e8:0d:38:90:25 |
| name        | test-key                                        |
| user_id     | 0a3ef9fd2ea748e8935accf19d0278a8                |
+-------------+-------------------------------------------------+
$ chmod 600 ./test-key.rsa

Générez une VM avec l'interface test-network uniquement.

$ openstack server create --image 'Ubuntu 22.04' --flavor s1-8 --key-name test-key --net test-network vm4fip
$ openstack server show vm4fip -c name -c status
+--------+--------+
| Field  | Value  |
+--------+--------+
| name   | vm4fip |
| status | ACTIVE |
+--------+--------+

Nous avons maintenant une VM nommée vm4fip avec une interface privée uniquement. Cette VM n'a aucun accès en dehors du test-network (réseau privé).

Créez une Floating IP à partir du réseau Ext-Net.

$ openstack floating ip create Ext-Net
$ openstack floating ip list
+--------------------------------------+---------------------+------------------+------+--------------------------------------+----------------------------------+
| ID                                   | Floating IP Address | Fixed IP Address | Port | Floating Network                     | Project                          |
+--------------------------------------+---------------------+------------------+------+--------------------------------------+----------------------------------+
| 7b646f78-9344-440e-83c1-57c828a03718 | 169.254.10.25       | None             | None | b2c02fdc-ffdf-40f6-9722-533bd7058c06 | 25a9e81103504980809e3f7573d93da3 |
+--------------------------------------+---------------------+------------------+------+--------------------------------------+----------------------------------+

Associez la Floating IP à la VM vm4fip.

$ openstack server add floating ip vm4fip 169.254.10.25
$ openstack floating ip list
+--------------------------------------+---------------------+------------------+--------------------------------------+--------------------------------------+----------------------------------+
| ID                                   | Floating IP Address | Fixed IP Address | Port                                 | Floating Network                     | Project                          |
+--------------------------------------+---------------------+------------------+--------------------------------------+--------------------------------------+----------------------------------+
| 7b646f78-9344-440e-83c1-57c828a03718 | 169.254.10.25       | 192.168.0.201    | 1230869c-7116-4ee9-b688-8b6ebc153855 | b2c02fdc-ffdf-40f6-9722-533bd7058c06 | 25a9e81103504980809e3f7573d93da3 |
+--------------------------------------+---------------------+------------------+--------------------------------------+--------------------------------------+----------------------------------+

Votre VM ping maintenant via la Floating IP :

$ ping 169.254.10.25
PING 169.254.10.25 (169.254.10.25) 56(84) bytes of data.
64 bytes from 169.254.10.25: icmp_seq=1 ttl=52 time=0.641 ms
64 bytes from 169.254.10.25: icmp_seq=2 ttl=52 time=1.06 ms
64 bytes from 169.254.10.25: icmp_seq=3 ttl=52 time=0.744 ms
^C
--- 169.254.10.25 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2024ms
rtt min/avg/max/mdev = 0.641/0.817/1.067/0.182 ms

Et nous pouvons nous connecter à la VM vm4fip :

$  ssh ubuntu@169.254.10.25 -i ./test-key.rsa
Welcome to Ubuntu 22.04 LTS (GNU/Linux 5.15.0-25-generic x86_64)

* Documentation:  https://help.ubuntu.com
* Management:     https://landscape.canonical.com
* Support:        https://ubuntu.com/advantage

ubuntu@vm4fip:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc fq_codel state UP group default qlen 1000
link/ether fa:16:3e:24:b9:c2 brd ff:ff:ff:ff:ff:ff
altname enp0s3
inet 192.168.0.201/24 metric 100 brd 192.168.0.255 scope global dynamic ens3
valid_lft 85929sec preferred_lft 85929sec
inet6 fe80::f816:3eff:fe24:b9c2/64 scope link
valid_lft forever preferred_lft forever

Comme vous pouvez le constater, la VM n'a qu'une IP privée mais elle est disponible depuis Internet via l'adresse Floating IP.

ubuntu@vm4fip:~$ sudo resolvectl dns ens3 213.186.33.99
ubuntu@vm4fip:~$ curl ifconfig.me/ip
169.254.10.25

Une fois qu'une Floating IP est attachée à une VM, elle est exposée au réseau public. Assurez-vous toujours que votre machine virtuelle et ses services sont correctement protégés par des groupes de sécurité ou un pare-feu virtuel.

Ajouter un DNS à une adresse Floating IP

Cette manipulation doit être effectuée après avoir suivi les 9 étapes ci-dessus.

Pour ajouter un DNS à une adresse Floating IP, exécutez la commande suivante à partir de la ligne de commande :

$ openstack floating ip set --dns-domain <DOMAIN_NAME> <IP_ADDRESS_ID>

Détacher une Floating IP

Vous pouvez détacher une Floating IP de votre VM à tout moment :

$ openstack server remove floating ip vm4fip 169.254.10.25
$ openstack floating ip list
+--------------------------------------+---------------------+------------------+------+--------------------------------------+----------------------------------+
| ID                                   | Floating IP Address | Fixed IP Address | Port | Floating Network                     | Project                          |
+--------------------------------------+---------------------+------------------+------+--------------------------------------+----------------------------------+
| 7b646f78-9344-440e-83c1-57c828a03718 | 169.254.10.25       | None             | None | b2c02fdc-ffdf-40f6-9722-533bd7058c06 | 25a9e81103504980809e3f7573d93da3 |
+--------------------------------------+---------------------+------------------+------+--------------------------------------+----------------------------------+
$ ping 169.254.10.25
PING 169.254.10.25 (169.254.10.25) 56(84) bytes of data.
^C
--- 169.254.10.25 ping statistics ---
2 packets transmitted, 0 received, 100% packet loss, time 1019ms

Une fois qu'une Floating IP est détachée, elle retourne dans votre pool de Floating IPs. La Floating IP peut être attachée de nouveau à la même VM ou à toute autre VM. Détacher une Floating IP ne la supprime pas.

Supprimer une Floating IP

Pour supprimer une Floating IP, vous devez le faire explicitement :

$ openstack floating ip delete 169.254.10.25
$ openstack floating ip list
$

Depuis l’interface Horizon

Dépliez cette section

Les étapes suivantes décrivent comment attacher une Floating IP à une instance existante.

Avant de continuer, assurez-vous que votre instance est liée à un réseau privé uniquement et que le réseau privé est lié à une passerelle (gateway).

Détacher une Floating IP

Vous pouvez détacher une Floating IP de votre instance à tout moment.

Une fois connecté à l'interface Horizon, cliquez sur Network, puis sur Floating IPs.

Cliquez sur Disassociate à côté de l'adresse Floating IP correspondante.

dissocier

Une fenêtre contextuelle s'affiche vous invitant à confirmer la sélection. Cliquez sur Disassociate.

confirm

Une fois cette opération effectuée, l'adresse Floating IP sera détachée de l'instance et réintégrée dans votre pool d'adresses Floating IP.

Supprimer une Floating IP

Pour supprimer une Floating IP, cliquez sur la flèche déroulante à côté de l'instance correspondante, puis cliquez sur Release Floating IP.

delete

Depuis l'API OVHcloud

Dépliez cette section

L'API OVHcloud vous permet d'associer une Floating IP uniquement à une instance existante.

Récupérez les informations nécessaires.

Pour l'identifiant du projet (project ID), les appels ci-dessous vous permettent de le récupérer.

Cet appel récupère la liste des projets.

Cet appel identifie le projet via le champ description.

Pour l'identifiant de l'instance, l'appel ci-dessous vous permet de le récupérer.

Complétez les champs avec les informations précédemment obtenues :

serviceName : ID du projet

region : vous pouvez spécifier la région pour des résultats plus rapides

Créez une Floating IP et associez-la à une instance avec l'appel suivant.

Remplissez les champs selon le tableau suivant :

ChampDescription
serviceNameIdentifiant du projet
regionNameNom de la région dans laquelle se trouve l'instance
instanceidIdentifiant de l'instance
ipL'IP privée de l'instance

Pour le champ de propriété « Gateway », veuillez choisir l'option Empty. Cela est dû au fait que nous attachons une Floating IP à une instance créée au départ avec un réseau privé uniquement et qui est déjà rattachée à une gateway. Veuillez noter que, pour le moment, il ne sera pas possible de créer une Floating IP si l'instance est liée à un réseau privé qui n'est pas rattaché à une gateway.

La création va prendre quelques instants.

Détacher une Floating IP

Cette fonctionnalité est actuellement disponible uniquement via l’API OpenStack et l'interface Horizon.

Supprimer une Floating IP

Pour supprimer une Floating IP, utilisez les appels API suivants.

Récupérez tout d'abord les informations nécessaires.

Pour l'identifiant du projet, les appels ci-dessous vous permettent de le récupérer :

Cet appel récupère la liste des projets.

Cet appel identifie le projet via le champ « description ».

Récupérez l'identifiant de la Floating IP avec l'appel ci-dessous :

Complétez les champs avec les informations précédemment obtenues :

  • serviceName : ID du projet
  • regionName : le nom de la région

Une fois les informations récupérées, utilisez l'appel suivant pour supprimer la Floating IP :

Complétez les champs avec les informations précédemment obtenues :

  • serviceName : ID du projet
  • regionName : le nom de la région où se trouve l'IP
  • floatingIpId : ID de l'adresse Floating IP

Aller plus loin

Si vous avez besoin d'une formation ou d'une assistance technique pour la mise en oeuvre de nos solutions, contactez votre commercial ou cliquez sur ce lien pour obtenir un devis et demander une analyse personnalisée de votre projet à nos experts de l’équipe Professional Services.

Échangez avec notre communauté d'utilisateurs.

Articles associés