Aller au contenu

CLI : échanger des IP publiques entre nœuds

Utiliser la méthode CLI SwapExtIps pour échanger des adresses IP publiques entre deux conteneurs sur Stack Harbor PaaS — quand l'utiliser, les paramètres, et les redémarrages à prévoir.

La méthode CLI SwapExtIps échange des IP publiques entre deux conteneurs. C’est le bon outil quand vous voulez que les requêtes entrantes commencent à atterrir sur un autre nœud sans modifier le DNS — déplacer le trafic d’un environnement de préproduction vers la production, échanger une paire blue/green ou faire une bascule contrôlée d’un primaire vers un secours.

Vous pouvez échanger toutes les IP publiques entre les deux nœuds en un seul appel, ou restreindre l’échange à une paire d’IP spécifique.

Quand l’utiliser

  • Promouvoir la préprod en prod. Un environnement de préprod est construit et vérifié. Un seul appel CLI déplace l’IP de production sur le nœud de préprod ; le trafic live commence à y aller.
  • Bascule blue/green. Deux environnements portent la même application. L’échange d’IP fait la bascule.
  • Exercices de bascule. Répéter la procédure que vous lanceriez si un primaire devait être mis hors ligne.

Pour des déplacements à sens unique plutôt que des échanges, utilisez plutôt la méthode MoveExtIp — même forme, mais elle transfère une IP au lieu de l’échanger.

La commande

Une seule ligne :

~/jelastic/environment/binder/swapextips \
  --envName {envName} \
  --sourceNodeId {sourceNodeId} \
  --targetNodeId {targetNodeId} \
  [--sourceIp {sourceIp} --targetIp {targetIp}]
ParamètreDescription
--envNameNom de l’environnement source, où l’IP échangée est attachée
--sourceNodeIdID du nœud source (doit avoir au moins une IP publique)
--targetNodeIdID du nœud cible (peut appartenir à un autre environnement du même compte, même région)
--sourceIpFacultatif. IP spécifique sur le nœud source à échanger
--targetIpFacultatif. IP spécifique sur le nœud cible à échanger

Si vous omettez --sourceIp et --targetIp, toutes les IP publiques du nœud source sont échangées avec toutes celles du nœud cible.

Avant de l’exécuter

  • Même région. Les environnements source et cible doivent tourner dans la même région — l’échange d’IP ne franchit pas les régions.
  • Les deux nœuds en marche. La plateforme a besoin des deux extrémités actives pour réaliser l’échange.
  • Coupure brève. L’échange provoque une indisponibilité brève des IP publiques concernées — jusqu’à 10 secondes en temps normal.

Ce que la plateforme redémarre automatiquement

Certaines piles doivent se lier aux nouvelles adresses pour continuer à servir — la plateforme les redémarre pour vous quand leurs IP changent. La liste inclut :

  • GlassFish
  • Apache PHP
  • Apache Ruby
  • NGINX PHP
  • NGINX Ruby

Pour les conteneurs Elastic VPS et les conteneurs Docker personnalisés, la plateforme vous laisse le redémarrage — selon ce que le conteneur exécute, vous devrez peut-être le relancer manuellement après l’échange.

Après l’échange, vérifiez Access via SLB sur les deux nœuds — l’option devrait refléter l’état post-échange, et vous voudrez peut-être la basculer explicitement.

Échanger des ensembles inégaux

Si vous devez déplacer plusieurs IP spécifiques mais pas toutes, ou si les deux nœuds n’ont pas le même nombre d’IP, lancez MoveExtIp une fois par IP. SwapExtIps est symétrique — il attend des ensembles égaux à échanger.

À quoi ressemble la réponse

Le CLI retourne le résultat de l’opération avec la nouvelle allocation d’IP par nœud. Après quelques minutes, la vue tableau de bord rattrape et reflète la topologie post-échange.

Voir aussi