title | excerpt | updated |
---|---|---|
Configuration du vRack Public Cloud depuis les APIv6 OVHcloud |
Découvrez comment activer et gérer un vRack Public Cloud depuis les APIv6 OVHcloud |
2022-11-02 |
Le vRack est un réseau privé qui vous permet de configurer l’adressage entre deux ou plusieurs serveurs dédiés OVHcloud. Mais il vous permet également d’ajouter des instances Public Cloud à votre réseau privé afin de créer une infrastructure de ressources physiques et virtuelles.
Découvrez comment activer et gérer un vRack Public Cloud depuis les APIv6 OVHcloud.
- Posséder un projet Public Cloud dans votre compte OVHcloud.
- Avoir créer un utilisateur OpenStack.
- Connaissances réseaux élémentaires.
- Consulter le guide Configuration du vRack Public Cloud pour connaître les différentes méthodes proposées pour gérer le vRack Public Cloud OVHcloud.
- Consulter le guide Premiers pas avec les API OVHcloud pour vous familiariser avec l'utilisation des APIv6 OVHcloud.
Connectez-vous aux APIv6 OVHcloud en suivant le guide Premiers pas avec les API OVHcloud.
Une fois identifié, suivez les étapes décrites ci-dessous :
[!api]
@api {v1} /order POST /order/cart
[!primary] Cet appel va créer un identifiant pour votre « panier ». Vous pourrez y ajouter autant d'articles que vous voulez avant de le valider.
Dans le cas présent, la commande d’un vRack est gratuite. Récupérez le numéro de votre panier (cartId), il sera indispensable pour la suite.
[!api]
@api {v1} /order GET /order/cart/{cartId}/vrack
[!primary] Cet appel va vous permettre de récupérer l'ensemble des informations nécessaires à la commande du vRack. Copiez les éléments suivants :
cartId, duration, planCode, et pricingMode.
[!api]
@api {v1} /order POST /order/cart/{cartId}/vrack
[!primary] Cet appel va vous permettre d'ajouter le vRack au panier en ajoutant l’ensemble des informations nécessaires à la commande.
Dans le cas du vRack, cela donnerait par exemple :
cartId : [identifiant de votre panier]
duration : « P1M »
planCode : « vrack »
pricingMode : « default »
quantity : 1
Une fois que vous aurez validé la commande, vous obtiendrez un numéro d'article (« itemId »). Conservez cette information, elle vous sera utile si vous souhaitez apporter des modifications avant la validation du panier.
Une fois l'ensemble des articles mis dans votre panier, vous devrez le valider :
[!api]
@api {v1} /order POST /order/cart/{cartId}/checkout
[!primary] Cet appel va valider le panier et vous créer un bon de commande (orderId). Conservez cette information, elle sera nécessaire à la validation de la commande.
Pour valider la commande, vous avez deux méthodes possibles :
- Passer par l'url visible lorsque le panier est validé. Exemple :
url : https://www.ovh.com/cgi-bin/order/displayOrder.cgi?orderId=12345678&orderPassword=xxxxxxxxxx
- Valider par l'appel suivant :
[!api]
@api {v1} /me POST /me/order/{orderId}/payWithRegisteredPaymentMean
[!primary] Même s’il s’agit d’un bon de commande à 0 €, il est nécessaire de simuler un paiement du bon de commande (orderId). Votre bon de commande sera alors validé et son traitement commencera.
Une fois le bon de commande gratuit validé, un délai de quelques minutes peut être nécessaire pour que le vRack soit actif.
Une fois le vRack actif, il vous faudra intégrer votre ou vos projets Public Cloud dans le vRack.
Connectez-vous aux APIv6 OVHcloud en suivant le guide Premiers pas avec les API OVHcloud.
Dans le cas ou l’identifiant du projet Public Cloud n’est pas connu, les appels suivants vous permettront de le connaître.
[!api]
@api {v1} /cloud GET /cloud/project
[!primary] Cet appel permet de récupérer la liste des projets.
[!api]
@api {v1} /cloud GET /cloud/project/{serviceName}
[!primary] Cet appel permet d'identifier le projet grâce au champ « description ».
Une fois l’identifiant du projet et le nom du vRack connus, leur association se fait via l'appel suivant :
[!api]
@api {v1} /vrack POST /vrack/{serviceName}/cloudProject
Renseignez les champs de l'appel avec les informations récoltées précédemment :
serviceName : nom du vRack sous sa forme « pn-xxxxxx »
project : identifiant du projet Public Cloud, sous la forme d’une chaîne de 32 caractères.
[!primary] Cet appel initialise l’association du projet au vRack, il faut ensuite récupérer l’id de la tâche pour vérifier son avancement.
Vous pouvez consulter l'évolution de l'ajout dans le vRack grâce à cet appel :
[!api]
@api {v1} /vrack GET /vrack/{serviceName}/cloudProject/{project}
[!primary] Cet appel est facultatif et permet juste de vérifier le statut de la tâche. Une fois celle-ci terminée, vous pouvez passer à l’étape suivante.
Il est nécessaire de créer un vLan (ou réseau local virtuel) afin que les instances reliées au vRack puissent communiquer entre elles.
Sur l'offre Public Cloud, vous pouvez créer jusqu'à 4 000 vLan au sein d’un seul vRack. Cela signifie donc que vous pouvez utiliser chaque adresse IP privée jusqu’à 4 000 fois. Ainsi, par exemple, l'IP 192.168.0.10 du vLan 2 est différente de l'IP 192.168.0.10 du vLan 42.
Cela peut vous être utile afin de segmenter votre vRack entre plusieurs réseaux virtuels.
Depuis les APIv6 OVHcloud, vous pourrez personnaliser l'ensemble des paramètres : plage IP (10.0.0.0/16 par exemple), zone de déploiement, DCHP, Gateway...
[!primary] Sur les serveurs dédiés, par défaut, vous êtes sur le vLan0. Le fonctionnement de l’infrastructure OpenStack fait que vous devrez spécifier le numéro de votre vLan directement au niveau de l'infrastructure.
Contrairement aux serveurs dédiés, il n'est pas nécessaire de faire du vLan taggé directement sur l'instance.
Pour plus d'informations sur la gestion des vLan du vRack des serveurs dédiés, vous pouvez consulter ce guide : Créer plusieurs VLAN dans le vRack
Warning
Le vRack étant une infrastructure gérée au niveau d'OVHcloud, vous ne pourrez l'administrer qu'au travers de l'espace client OVHcloud et des APIv6 OVHcloud.
OpenStack n'étant pas située au même niveau de l'infrastructure, vous ne pourrez pas personnaliser les vLan au travers de l'interface Horizon ou des API OpenStack.
Une fois connecté à l'APIv6 OVHcloud, exécutez les commandes suivantes dans l'ordre.
[!api]
@api {v1} /cloud GET /cloud/project
[!primary] Cet appel permet de récupérer la liste des projets.
[!api]
@api {v1} /cloud GET /cloud/project/{serviceName}
[!primary] Cet appel permet d'identifier le projet grâce au champ « description ».
[!api]
@api {v1} /cloud GET /cloud/project/{serviceName}/vrack
[!primary] Dans le champ serviceName, indiquez l'identifiant de votre projet. Conservez l'information relative à l'identifiant du vRack sous la forme « pn-xxxxx ».
[!api]
@api {v1} /cloud POST /cloud/project/{serviceName}/network/private
[!primary] renseignez les champs avec les informations précédemment obtenues :
serviceName : ID du projet
name : le nom que vous voulez donner au vLan.
Vous pouvez laisser le champ « Region » vide pour que celui ci soit activé pour toutes les régions.
L’identifiant du vLan (vlanId) est nécessaire si vous souhaitez créer un vLan spécifique.
La création prends quelques instants.
Pour vérifier les informations de vos vLan, vous pouvez utiliser l'appel suivant :
[!api]
@api {v1} /cloud GET /cloud/project/{serviceName}/network/private
[!primary] Cet appel permet de récupérer le networkId. Celui ci se présentera sous la forme suivante : nom-vrack_vlanId.
Par exemple, pour le vLan 42 : pn-xxxxxx_42
Par défaut, si vous ne n'ajoutez pas de sous réseau, la plage IP utilisée est la suivante :
10.0.0.0/16
Si vous souhaitez gérer vous même les affectations IP, vous devrez créer un sous-réseau.
Pour cela, une fois le vLan créé, vous devrez créer le sous-réseau pour chaque zone concernée via l'appel suivant :
[!api]
@api {v1} /cloud POST /cloud/project/{serviceName}/network/private/{networkId}/subnet
Vous pouvez remplir les champs comme cela :
Champ | Description |
---|---|
serviceName | L’identifiant de votre projet |
networkId | L’identifiant de votre réseau récupéré lors des commandes précédentes. Ex : pn-xxxxxx_42 pour le vLan 42 |
dhcp | Case cochée pour activation / décochée pour désactivation du DHCP dans le vLan |
end | Dernière adresse du sous réseau de la région Ex : 192.168.1.50 |
network | Bloc IP du sous réseau. Ex : 192.168.1.0/24 |
region | Exemple : SBG3 |
start | Première adresse du sous réseau pour cette région Ex : 192.168.1.15 |
[!primary] C’est l’étape de création du sous-réseau par région. Vous pouvez activer ou non l’attribution d’adresses IP privées de manière dynamique via DHCP.
Vous devrez faire la même opération pour chaque zone où vos instances sont présentes.
Warning
Faites attention à bien séparer vos pools d’adresses IP pour les différentes régions. Par exemple :
De 192.168.0.2 à 192.168.0.254 pour SBG1
De 192.168.1.2 à 192.168.1.254 pour GRA1
Deux situations peuvent se présenter à vous :
- L'instance n'existe pas encore.
- L'instance existe déjà et vous devez l'ajouter au vRack.
Une fois connecté à l'APIv6 OVHcloud, exécutez les commandes suivantes dans l'ordre.
[!api]
@api {v1} /cloud GET /cloud/project
[!api]
@api {v1} /cloud GET /cloud/project/{serviceName}/network/public
[!api]
@api {v1} /cloud GET /cloud/project/{serviceName}/network/private
[!primary] L'identifiant alors obtenu a la forme : « pn-xxxxx_yy » où yy est le numéro du vLan.
[!api]
@api {v1} /cloud GET /cloud/project/{serviceName}/flavor
[!primary] Vous pouvez limiter la liste en indiquant la zone de création de votre instance
[!api]
@api {v1} /cloud GET /cloud/project/{serviceName}/image
[!primary] Vous pouvez limiter la liste en indiquant la zone de création de votre instance
[!api]
@api {v1} /cloud GET /cloud/project/{serviceName}/sshkey
Si vous n'avez pas encore ajouté de clé SSH à votre espace client, vous pourrez le faire au travers de l'API suivante :
[!api]
@api {v1} /cloud POST /cloud/project/{serviceName}/sshkey
Une fois l'ensemble des éléments nécessaires au déploiement rassemblé, vous pouvez utiliser l'appel suivant
[!api]
@api {v1} /cloud POST /cloud/project/{serviceName}/instance
Vous devrez renseigner a minima les champs suivants :
Champ | Description |
---|---|
serviceName | Identifiant du projet Public Cloud concerné |
flavorId | Identifiant du type d'instance (ex : D2-2, B2-7, WIN-R2-15...) |
imageId | Identifiant du l'image de déploiement (ex : Debian 9, Centos 7...) |
name | Nom que vous donnez à votre instance. |
networks | Dans la partie « networkId » indiquez l'identifiant du réseau public (ext-net) ou celui de votre vLan (pn-xxxxxx_yy). Vous pouvez cliquer sur le bouton « + » pour ajouter d'autres réseaux. |
region | Régions de déploiement de l'instance (GRA5 par exemple) |
sshKeyId | Identifiant de votre clé SSH OpenStack |
Une fois l'appel effectué, si toutes les informations sont correctement renseignées, l'instance va se créer avec une ou plusieurs interfaces réseau.
Warning
Selon les systèmes d'exploitation, vous devrez configurer manuellement vos interfaces réseau privées pour que la prise en compte se fasse.
OpenStack n'étant pas en mesure de prioriser l'interface publique de l'interface vRack, il peut arriver que cette dernière passe en tant que route par défaut.
La conséquence directe est que l'instance est injoignable depuis une IP publique.
Un ou plusieurs redémarrages de l'instance depuis l'espace client peut permettre de rétablir la situation.
L'autre solution consite à vous connecter à l'instance en SSH au travers d'un autre de vos serveurs présents dans le même réseau privé. Vous pouvez aussi corriger la configuration réseau de l'instance au travers du mode Rescue.
Si vous devez intégrer une instance déjà existante dans le vRack, vous ne pourrez pas le faire depuis votre espace client OVHcloud. Pour cela, vous devrez obligatoirement passer par Horizon, les API Openstack ou les APIv6 OVHcloud.
L'action consistera simplement à ajouter une nouvelle interface réseau à votre serveur, en plus de celle existante.
Ainsi, par exemple, si vous avez une interface publique eth0, vous aurez en plus une interface eth1.
[!primary] La configuration de cette nouvelle interface est rarement automatique.
Il vous faudra donc la configurer en DHCP ou en IP Fixe selon votre infrastructure.
Les étapes ci-dessous décrivent comment effectuer la gestion des interfaces réseaux de vos instances.
[!api]
@api {v1} /cloud GET /cloud/project
[!api]
@api {v1} /cloud GET /cloud/project/{serviceName}/instance
[!api]
@api {v1} /cloud GET /cloud/project/{serviceName}/network/public
[!api]
@api {v1} /cloud GET /cloud/project/{serviceName}/network/private
[!primary] L'identifiant alors obtenu a la forme : « pn-xxxxx_yy » où yy est le numéro du vLan.
Une fois l'ensemble des informations nécessaires récupéré, vous pouvez utiliser l'appel suivant :
[!api]
@api {v1} /cloud POST /cloud/project/{serviceName}/instance/{instanceId}/interface
Vous devrez renseigner a minima les champs suivants :
Champ | Description |
---|---|
serviceName | Identifiant du projet Public Cloud concerné |
instanceId | Identifiant de l'instance concernée |
networkId | Indiquez l'identifiant du réseau publique (ext-net) ou celui de votre vLan (pn-xxxxxx_yy) |
ip | Définir une IP spécifique (ne fonctionne que pour les interfaces privées) |
Une fois l'appel effectué, si toutes les informations sont correctement renseignées, une nouvelle interface va s'ajouter sur votre instance.
[!primary] Votre instance OVHcloud disposera donc d'une nouvelle interface réseau en plus de l'interface publique (Ext-net).
Vous pourrez voir, dans le résumé de l'instance, l'adresse IP privée attribuée automatiquement à votre interface.
À votre charge de l'utiliser en configurant votre interface via le DHCP ou en utilisant vos propres IP au travers d'une configuration en IP statique.
Warning
Détacher une interface réseau entraîne sa suppression immédiate.
Cependant, il est important de noter que si vous detacher l'interface « Ext-Net » (IP publique), cette adresse serait relâchée et remise en circulation. Vous ne pourriez donc pas vous la réattribuer.
Cette action n'est à effectuer que si vous souhaitez isoler votre serveur dans le vRack (réseau privée) ou dans le cas contraire la sortir d'un ou plusieurs VLAN.
Une fois l'ensemble des informations nécessaires récupéré, vous pouvez utiliser l'appel suivant pour supprimer une interface :
[!api]
@api {v1} /cloud DELETE /cloud/project/{serviceName}/instance/{instanceId}/interface/{interfaceId}
Vous devrez renseigner a minima les champs suivants :
Champ | Description |
---|---|
serviceName | Identifiant du projet Public Cloud concerné |
instanceId | Identifiant de l'instance concernée |
networkId | Indiquez l'identifiant du réseau publique (ext-net) ou celui de votre vLan (pn-xxxxxx_yy) |
Configuration du vRack Public Cloud
Premiers pas avec les API OVHcloud
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.