web-dev-qa-db-fra.com

Comment déplacer des instances EC2 vers un autre sous-réseau?

J'ai un VPC configuré dans AWS. nous avons créé 2 sous-réseaux (A/24 et B/24), en utilisant directement toutes les adresses IP sans IP/sous-réseaux pour une utilisation ultérieure.

Nous constatons que le b/24 n'est pas totalement utilisé et nous gaspillons l'adresse IP à cet égard.

Nous voulons maintenant réduire la taille du sous-réseau et déplacer les instances de B/24 à A/24. et créer 4 sous-réseaux plus petits à partir de B/24 et de la plage/28 et déplacer les serveurs vers l'un des sous-réseaux plus petits créés.

Veuillez indiquer quelles sont les meilleures pratiques suggérées que nous pouvons appliquer de manière à pouvoir conserver nos serveurs disponibles en B/24 et créer également plusieurs sous-réseaux.

39
Pasha

La création de sous-réseaux plus petits est assez simple. Supprimez le sous-réseau et créez de nouveaux sous-réseaux. Cependant, vous souhaiterez supprimer les cases en B/24 avant de le supprimer.

Désormais, le déplacement d'une machine en cours d'exécution entre des sous-réseaux n'est pas possible *. En fonction de votre application et de vos besoins, j'imagine que l'arrêter, prendre une image de la machine, puis lancer une nouvelle instance de cette machine dans l'autre sous-réseau fonctionnera.

* En passant, je me demandais si vous pouviez attacher une nouvelle interface réseau à partir d'un nouveau sous-réseau, puis supprimer votre ancienne interface réseau, en déplaçant efficacement les sous-réseaux sans avoir à démonter la boîte. Il s'avère que vous ne pouvez pas supprimer l'interface réseau à l'index 0, ce qui signifie que cela ne fonctionne pas.

34
Liyan Chang

Peut-être n'avez-vous qu'à "accéder" à un sous-réseau différent ...

Il est vrai que vous n'obtiendrez jamais la console Web AWS pour afficher une autre valeur pour "ID de sous-réseau" dans les détails de l'instance. D'autres ont expliqué comment créer de nouvelles instances qui seront "sur" le sous-réseau souhaité. Je devais prendre un serveur existant exécutant un logiciel qui était autorisé à "un ID d'hôte non transférable" et "le mettre sur" un sous-réseau différent. (Bien sûr, quand je parle de logiciel sous licence, je parle de logiciel Windows d'un fournisseur qui "ne prend pas en charge AWS"!) J'ai résolu ce problème en:

  1. Créez une nouvelle interface résea (AWS> EC2> Interfaces réseau) sur le sous-réseau souhaité et la même zone de disponibilité que la machine.
  2. Fixez le nouveau nic à la machine. (AWS> EC2> Actions> Réseau> Attacher l'interface réseau)
    • Sous Windows, l'interface vient d'apparaître!
  3. Définissez la "métrique" (entier "prioritaire", gains les plus faibles) de chaque connexion réseau (Panneau de configuration> Réseau et Internet> Connexions réseau> [nom de connexion double-cliquez]> Propriétés [bouton]> TCP\IPv4> Propriétés [bouton] > Avancé [bouton]> Métrique automatique [décocher]> Métrique d'interface)
  4. Pour confirmer l'appel de la table de routage route print depuis la ligne de commande.

Maintenant, tout ce que fait la machine se trouve sur le sous-réseau souhaité. Il est toujours accessible sur l'ancienne IP (et le sous-réseau précédent) ainsi que sur la nouvelle IP (et le sous-réseau souhaité).

C'est un cas assez étroit, mais j'espère que cela aide quelqu'un.

12
Bruno Bronosky

Le seul moyen est d'arrêter puis de créer AMI, puis de lancer à partir de l'image en AZ de votre choix (à partir d'avril 2015)

9
satoc

Vous pouvez créer une nouvelle instance dans le sous-réseau cible, mais la même AZ, puis détacher/rattacher les volumes EBS de l'original (y compris le volume racine) à la nouvelle instance. Cela peut entraîner un temps d'arrêt plus court car vous pouvez créer la nouvelle instance si l'original est en cours d'exécution mais est un peu plus complexe à réaliser.

4
John Grover