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?

gandil
la source
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.

Âme perdue
la source
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
Marcel de Castilho
la source
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.
Styelz
la source
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
stivlo
la source
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

kieran
la source
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