Comment mettre à niveau en toute sécurité une instance Amazon EC2 de t1.micro vers grande? [fermé]


348

J'ai une micro-instance Amazon EC2 (t1.micro). Je souhaite mettre à niveau cette instance vers une version plus large. Il s'agit de notre environnement de production, alors quelle est la meilleure façon et sans risque de le faire?

Existe-t-il un guide étape par étape pour ce faire?


Avec le périphérique racine EBS ou avec le magasin d'instances?
stivlo

Je pense que le périphérique racine ebs. Je vois EBS sous l'élément Root Device Menu sur la console aws.
gandil

2
L'un de vous a-t-il pris en compte le fait qu'un t1.micro, m1.small etc. peut être une architecture 32 bits et qu'une grande instance est un arc 64 bits? Cela ne causera-t-il aucun problème? À partir de maintenant, je pense que nous devrons tout refaire (créer une nouvelle grande instance et réinstaller toute l'application)? N'est-ce pas le cas en cas de changement d'architecture?
MD

1
Cela m'a juste mordu dans le **. La dernière fois, je choisirai 32 bits pour tout. Nous avons maintenant un serveur qui a besoin de plus de mémoire que 4 Go et l'architecture 32 bits ne peut pas le gérer. Si en fait dans le panneau de configuration d'Amazon dans EC2 il n'y a pas d'option pour lancer sur un grand type, il ne monte que sur moyen.
Tom Gruner

3
Pourquoi la question est signalée comme hors sujet ? C'est une question utile valable avec des réponses acceptables.
UsamaAmjad

Réponses:


302

D'après mon expérience, la façon dont je le fais est de créer un instantané de votre image actuelle, puis une fois terminée, vous la verrez comme une option lors du lancement de nouvelles instances. Lancez-le simplement comme une grande instance à ce stade.

C'est mon approche si je ne veux pas de temps d'arrêt (c'est-à-dire un serveur de production) car cette solution ne met un serveur hors ligne qu'après que le nouveau est opérationnel (je l'utilise également pour ajouter de nouvelles machines à mes clusters en utilisant cette approche pour seulement ajouter de nouvelles machines). Si le temps d'arrêt est acceptable, voir la réponse de Marcel Castilho.


1
puis supprimez petite l'instance avant?
gandil

1
L'adresse IP de la nouvelle instance sera différente. Ai-je raison? Nous devons donc modifier l'enregistrement DNS?
gandil

12
Si vous utilisez l'IP élastique comme vous le devriez, attribuez l'IP élastique au nouveau serveur. Le nouveau serveur aura alors la même adresse IP. Cette procédure sera également utile si votre serveur tombe en panne et que vous devez en démarrer un nouveau.
stivlo

1
Ce n'est pas une méthode très fiable, l'état du serveur peut changer s'il est soumis à des contraintes (ce qui est très probable compte tenu de la nécessité de le faire évoluer), et le nouveau serveur, plus grand, aura quelques minutes / heures de plus que le serveur en cours d'exécution.
AbiusX

2
Si l'instantané est du volume racine, Amazon recommande d'arrêter l'instance avant de prendre l'instantané: docs.aws.amazon.com/AWSEC2/latest/UserGuide/…
Taterhead

517

Utilisation d'AWS Management Console:

  • Clic droit sur l'instance
    • Cycle de vie de l'instance> Arrêter
    • Attendre...
    • Gestion des instances> Changer le type d'instance

4
c'est une méthode beaucoup plus simple ..
box86rowh

22
Je suis d'accord pour dire que c'est plus simple, mais l'avantage de la méthode acceptée est que vous pouvez réussir à faire fonctionner le nouveau serveur en parallèle au serveur existant avant de basculer sur IP élastique et de subir peu ou pas de temps d'arrêt.
Ryan Montgomery du

17
Sachez que lorsque Marcel dit "Attendez ...", vous allez attendre longtemps. Cette méthode est terrible si le temps d'arrêt est un problème. Si le temps d'arrêt n'a pas d'importance, c'est facile, mais cela n'implique pas une petite quantité de temps d'arrêt. Prévoyez environ une demi-heure.
Jake

8
moins de 5 minutes pour moi ... mw.small à m1.medium exécutant SQL 2012 Web
azcoastal

4
Et le problème de taille du disque?
Adrian Salazar

49

Utilisation d'AWS Management Console

  • Allez dans "Volumes" et créez un instantané du volume de votre instance.
  • Allez dans "Instantanés" et sélectionnez "Créer une image à partir d'un instantané".
  • Allez dans "AMI" et sélectionnez "Launch Instance" et choisissez votre "Instance Type" etc.

Cela vous permet de modifier l'architecture et le type d'instance.
Styelz

Merci d'avoir mis les étapes ici et de l'avoir précisé, c'est la meilleure méthode, à moins que vous ne soyez aux premiers stades où les temps d'arrêt n'ont pas d'importance.
Jake

2
J'ai essayé cela, mais dans mon cas, une nouvelle instance n'a pas commencé avec AMI d'une instance plus ancienne, avait un problème de panique du noyau.
zeeshan

18

Utilisez la console AWS EC2, pas ElasticFox.

Première voie:

  • Créer une nouvelle AMI de l'instance
  • Lancez-le

Manière alternative:

  • Faire un instantané du disque
  • Lancer une grande instance EBS avec le même type d'AMI (veuillez noter qu'à ce stade, le disque contiendra les données qui étaient présentes lors de la création de cette AMI, pas vos dernières modifications)
  • Une fois complètement démarré, arrêtez la nouvelle instance
  • Détachez le volume racine de l'instance arrêtée
  • Créez un disque virtuel à partir de l'instantané créé auparavant dans la même zone de disponibilité de la nouvelle instance
  • Attachez le volume racine à / dev / sda1
  • Démarrez la nouvelle instance à nouveau

9

Créez AMI -> Boot AMI sur une grande instance.

Plus d'infos http://docs.amazonwebservices.com/AmazonEC2/gsg/2006-06-26/creating-an-image.html

Vous pouvez également tout faire à partir de la console d'administration sur aws.amazon.com


Je veux le faire sur la console aws. Existe-t-il un document de procédure avec image
gandil

Faites un clic droit sur votre instance et cliquez sur "créer AMI" - puis allez dans les AMI sur l'écran de la console (sur le côté gauche) et cliquez sur "lancer AMI" sur celle que vous souhaitez lancer
kieran
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.