Nous avons une instance EC2 en cours d'exécution dans l'instance AWS EC2. Nous avons nos algorithmes de ML et nos données. Nous avons également hébergé une interface Web sur cette machine.
Il n'y a plus de nouveaux développements dans cette instance EC2. Nous souhaitons mettre fin à l'abonnement AWS pour une courte période (dans le but de réduire les coûts et d'explorer de nouveaux services cloud). Plus important encore, nous voulons être dans une position où nous pouvons acheter une nouvelle instance EC2 avec un nouvel abonnement AWS, utiliser la sauvegarde que nous prenons maintenant et reprendre toutes les opérations (backend web, services SMS pour notre application qui est hébergée dans AWS, etc.).
Quelle est la meilleure façon de procéder? La résiliation temporaire de l'abonnement AWS est-elle souhaitable?
4 Réponses :
Je suppose que vous avez lancé une instance EC2 à partir d'une Amazon Machine Image de base, puis que vous y avez ajouté vos propres logiciels et modèles. Par opposition au lancement d'une instance EC2 à partir d'une offre AWS Marketplace.
La chose la plus simple à faire est de créer une Amazon Machine Image < / a> (AMI) à partir de votre instance EC2 en cours d'exécution. Cela capturera l'état actuel de l'instance et le conservera dans votre compte AWS. Ensuite, vous pouvez mettre fin à l'instance. Plus tard, lorsque vous souhaitez la recréer, lancez une nouvelle instance, en sélectionnant l'AMI enregistrée au lieu d'une AMI standard.
Une alternative est d'éviter le besoin de capturer l'état de la machine, en utilisant les pratiques DevOps standard pour contrôler les révisions tout ce dont vous avez besoin pour recréer l'état d'une machine en cours d'exécution.
Notez qu'il existe des coûts associés à une AMI, bien qu'ils soient minimes (0,05 USD par Go-mois de données stockées, par exemple).
(1) Nous utilisons AWS pour envoyer des messages OTP / autres vers un mobile. Je suppose que c'est une offre de marché. (2) Pourriez-vous donner quelques liens pour en savoir plus sur les "pratiques DevOps standard pour contrôler les révisions tout ce dont vous avez besoin pour recréer l'état d'une machine en cours d'exécution."
Pour obtenir des conseils d'AWS, vous pouvez consulter aws.amazon.com/devops ou aws.amazon.com/training/course-descriptions/devops-engineeri ng ou d0.awsstatic.com/whitepapers/AWS_DevOps.pdf .
Il n'y a pas de concept d '"abonnement AWS". AWS est facturé à la demande, ce qui signifie que vous ne payez que lorsque vous utilisez des ressources.
Si vous ne souhaitez temporairement pas l'instance Amazon EC2, vous pouvez:
Il est assez courant pour les entreprises d'arrêter les instances Amazon EC2 la nuit ou pendant le week-end pour réduire les coûts alors qu'elles ne sont pas nécessaires.
Merci @John :). Toute idée où je peux comparer les prix des deux options. Vais-je perdre toutes les données / configuration / paramètres liés à notre travail dans l'un ou l'autre de ces scénarios.
AMI stockera-t-il également les données sur le disque (je veux dire les fichiers et dossiers que nous avons créés dans l'instance EC2)? Sinon, comment pouvons-nous nous assurer que, ceux-ci seront restaurés lorsque je lance une nouvelle instance à l'aide de l'AMI. Existe-t-il une option autre que de copier tous ces fichiers sur une machine hors ligne (mon ordinateur portable) et de les recopier dans la nouvelle instance une fois créée à partir de l'AMI?
L’AMI uniquement contient le contenu des disques. C'est le but d'une AMI. Il ne contient pas de paramètres d'instance (par exemple, type d'instance, adresse IP). Une AMI ne peut être utilisée que pour lancer une nouvelle instance Amazon EC2. Il ne peut pas être «exporté» ou utilisé à d'autres fins. Le coût d'une instance Amazon EBS est généralement de 10 c / Go / mois de stockage provisionné (même s'il n'est pas entièrement utilisé). Le coût d'une AMI est basé sur le stockage Snapshot, soit 5c / Go / mois de données stockées, donc il n'inclut pas les blocs de disque inutilisés. Donc, c'est mieux que la moitié du prix.
J'avais contacté le service client AWS concernant ce problème. Ci-dessous, la réponse que j'ai reçue. Veuillez ajouter vos commentaires sur l'option qui pourrait me convenir.
Remarque: je remercie l'équipe d'assistance clientèle AWS pour son aide.
Je comprends que vous avez besoin d'informations sur la réduction des coûts pour votre Instance puisque vous n'utiliserez pas le service pendant un certain temps.
Pour vous aider, je vous recommande de consulter l'instance Lien Stop / Start ici: ==> https://docs.aws.amazon.com/AWSEC2 /latest/UserGuide/Stop_Start.html .
Lorsque vous arrêtez une instance, vous ne perdez aucune donnée et vous n'êtes pas facturé davantage les ressources. Cependant, gardez à l'esprit que vous serez toujours facturé pour tous les volumes de stockage EBS attachés à la ou les instances arrêtées.
Je vous recommande également de consulter les liens ci-dessous pour savoir comment réduire vos frais. ==> https://aws.amazon.com/premiumsupport/ centre de connaissances / réduire-facture-aws / ==> https://aws.amazon.com/blogs/compute/10-things-you-can-do-today-to-reduce-aws-costs/
Cela étant dit, veuillez noter que, comme je suis au service de la facturation, pour la meilleure assistance avec les différents plans, vous aurez besoin du l'assistance de notre équipe commerciale.
L'équipe commerciale pourra vous aider à économiser tout maintenir vos configurations.
Vous pourrez joindre l'équipe commerciale ici: ==> https://aws.amazon.com/websites/contact-us/ a>.
Une fois que vous avez rempli les détails dans le lien, un membre de l'équipe vous contacterons dans les plus brefs délais.
EDIT: Je viens de penser à une troisième option. Je vais le tester et je reviendrai. Cela ne vaut pas la peine; cela impliquerait de créer une image à partir de l'instance EC2, puis de convertir cette image en image VM, en stockant l'image VM dans S3. Il peut y avoir des avantages à cela, mais je ne les vois pas.
Je pense que vous avez deux options, toutes deux à un prix très raisonnable . Si vous pouvez séparer les données du système d'exploitation, la meilleure option serait d'utiliser un compartiment S3 comme système de fichiers dans l'instance EC2. Votre instance EC2 utiliserait ce compartiment pour stocker tous vos "algorithmes et données de ML" et, éventuellement, même votre "interface Web". Chaque fois que vous décidez que vous n'avez plus besoin de la capacité de traitement de l'EC2, vous démontez le système de fichiers du compartiment S3 de l'instance EC2 et mettez fin à cette instance. Après avoir configuré une règle de cycle de vie appropriée pour le compartiment S3, il passerait à Glacier, ou même Glacier Deep Archive [vous devez prendre en compte les différentes options de stockage à long terme]. À l'avenir, chaque fois que vous voudrez travailler à nouveau avec vos données, vous déplaceriez vos données de Glacier vers S3, créeriez une nouvelle instance EC2, installeriez vos applications, monteriez votre compartiment S3 comme un système de fichiers et vous auriez accès à vos données. Je pense que c'est votre option d'objectif de temps de récupération la moins chère et la plus courte. Pour implémenter cette option, regardez ma réponse à cette question ; tout ce dont vous avez besoin pour utiliser un compartiment S3 comme dossier normal dans l'instance EC2 est là.
La deuxième option fournit une solution intégrée, ce qui signifie que le système d'exploitation et les données restent ensemble, et vous permet de tout restaurer tel qu'il était le jour où vous avez arrêté de traiter vos données. Il se compose du cycle suivant:
aws ec2 create-instance-export-task --instance-id i-0d54b0682aa3998a0 --target-environment vmware --export-to-s3-task DiskImageFormat = VMDK, ContainerFormat = ova, S3Bucket = sm-vm-backup, S3Prefix = vms
aws ec2 import-image - conteneurs-disques Format = ova, UserBucket = "{S3Bucket = sm-vm-backup, S3Key = vmsexport-i-0a1c382e740f8b0ee.ova}"
Évidemment, vous devriez faire quelques essais et même automatiser l'ensemble du processus si c'est quelque chose qui sera fait fréquemment. D'après ce que vous avez dit, j'ai le sentiment que la première option est une meilleure option, à condition que vous puissiez facilement installer les applications qu'ils utilisent.
Pouvez-vous séparer les "algorithmes et données ML" ainsi que "l'interface Web" du système d'exploitation? En d'autres termes, si vous aviez les "algorithmes et données ML" et "l'interface Web" stockés quelque part et que tout ce que vous aviez à faire comme lancer une autre instance EC2 et les connecter, serait-ce acceptable? Cela signifierait que vous n'avez vraiment pas besoin de stocker l'instance, mais uniquement les données. J'imagine que la réponse est oui, parce que vous dites "Plus important encore, nous voulons être dans une position où nous pouvons ... ... ..." Si tel est le cas, je pense avoir une solution optimale pour vous.
Je peux stocker toutes les données (tout ce qui est accessible et copié depuis mon EC2) sur un PC hors ligne. Je peux également stocker un instantané de l'instance EC2. Je recherche un arrangement, où je peux simplement acheter un nouveau stockage EC2 à l'avenir et reproduire l'état actuel de l'instance EC2 en utilisant les données de sauvegarde mentionnées ci-dessus.
Compris, voir ma réponse ci-dessous. Vous pourriez probablement aller encore plus loin et partager le compartiment S3 avec plusieurs utilisateurs si vous en aviez besoin.