-4

J'ai quelques tâches que je veux exécuter sur une plate-forme de cloud computing qui nécessite environ 30 minutes par jour.Exécution de tâches de conteneur cloud quotidiennes à faible coût

Je ne veux pas payer pour les ressources de calcul les 23,5h restants.

Quelles sont les options pour les plates-formes de cloud computing qui me permettent d'exécuter ces tâches à un coût très bas? En utilisant Amazon EC2 Container Service, je ne veux pas constamment avoir un cluster avec des instances en cours d'exécution lorsque je n'en ai pas besoin. Je peux détruire et créer le cluster tous les jours, mais cela semble inefficace. Puis-je utiliser ASG pour réduire à zéro les instances en cours d'exécution?

Google Cloud Compute semble me permettre de garder un cluster configuré, mais réduit le nombre d'instances dans un cluster de conteneurs à zéro assez facilement, puis à nouveau à l'échelle. Mais comment déclencher automatiquement cette mise à l'échelle une fois les tâches terminées?

Si j'utilise Amazon EC2, puis-je utiliser quelque chose comme AWS Lambda pour cela?

Existe-t-il un service centré sur les conteneurs où je ne paie que pour le temps d'exécution des conteneurs et non pour les ressources de calcul?

Répondre

0

Il y a beaucoup de termes incorrects ici.

Vous pouvez utiliser un groupe de mise à l'échelle automatique avec des échelles temporisées pour effectuer des rotations vers le haut/bas tous les jours. Vous pouvez ensuite exécuter la tâche. Si vous souhaitez l'automatiser complètement, j'utiliserais plutôt un Lambda pour faire tourner le cluster ECS, attendre qu'il soit prêt, puis exécuter les tâches et tuer les instances.

Le temps d'exécution de lambda, l'heure à laquelle les instances se sont déroulées et tous les autres services que vous avez utilisés vous ont été facturés.

Si vous voulez que ce soit plus rapide, vous pouvez créer le cluster ECS et y associer les instances, puis les éteindre. Vous n'encourez aucune facturation pendant qu'ils sont fermés. Ensuite, votre lambda pourrait les démarrer, attendez que le cluster ECS soit prêt, puis exécutez.

Les groupes Lambda et Autoscaling ont des déclencheurs de minuterie. AWS vous facture pour l'infrastructure, ce ne sont pas des PaaS, ce qui signifie que vous ne pouvez pas simplement exécuter une tâche et payer pour cela, vous payez pour l'infrastructure et vous exécutez vous-même. Lambda est le seul service mentionné ici qui ne nécessite aucun hébergement et des frais pour le "temps d'exécution".

+0

Quels termes sont incorrects? Votre réponse semble bonne, je vais essayer d'utiliser le AWS SDK Javascript dans un lambda planifié pour démarrer les instances. Comment puis-je démarrer les tâches lorsque les instances sont prêtes? En utilisant http://docs.aws.amazon.com/AmazonECS/latest/developerguide/start_task_at_launch.html? Comment pourrais-je orchestrer que les instances sont arrêtées une fois les tâches terminées? Ou est-il préférable d'utiliser https://aws.amazon.com/datapipeline/? – rrva

+0

Vous avez mentionné l'utilisation d'ELB pour l'échelle et quelques autres nuances. http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/ECS.html vous montrera comment démarrer des tâches sur ECS. –

+0

Edité la question légèrement et supprimé l'utilisation incorrecte de ELB. La mise à l'échelle automatique des groupes était le terme que je cherchais. – rrva