Я хочу запустить несколько компьютеров EC2 параллельно. До сих пор я использовал boto и fabric, но серийное исполнение требует времени для запуска и предоставления их по одному. Любое альтернативное решение/инструмент для этого?Запуск нескольких экземпляров EC2 параллельно
4
A
ответ
2
Средство командной строки amazon поддерживает параметр для количества экземпляров.
aws ec2 run-instances help
--count (string)
Number of instances to launch. If a single number is provided, it is
assumed to be the minimum to launch (defaults to 1). If a range is
provided in the form min:max then the first number is interpreted as
the minimum number of instances to launch and the second is inter-
preted as the maximum number of instances to launch.
Если вы используете старую CLI:
ec2-run-instances
-n, --instance-count MIN[-MAX]
The number of instances to attempt to launch. May be specified as a
single integer or as a range (min-max). This specifies the minimum
and maximum number of instances to attempt to launch. If a single
integer is specified min and max are both set to that value.
Update: Согласно документации бота ec2, вы можете передать в min_count и MAX_COUNT параметра команды run_instances, который также позволят вам запускайте несколько экземпляров параллельно.
1
вы можете использовать CloudFormation для запуска автоматического масштабирования группы с фиксированным размером:
"MyFixedSizeGroup":{
"Type":"AWS::AutoScaling::AutoScalingGroup",
"Properties":{
"LaunchConfigurationName":{"Ref":"GlobalWorkersSmallLaunchConf"},
"AvailabilityZones" : [ "us-east-1a" ],
"MinSize":"4",
"MaxSize":"4",
"DesiredCapacity":"4",
"Tags":[{"Key":"Name", "Value":"worker instance", "PropagateAtLaunch":"true"}]
}
}
и желаемой конфигурации запуска, например:
"GlobalWorkersSmallLaunchConf":{
"Type":"AWS::AutoScaling::LaunchConfiguration",
"Properties":{"KeyName":{"Ref":"MyKeyName"},
"ImageId":"ami-SomeAmi",
"UserData":{"Fn::Base64":{"Fn::Join":["",[{"Ref":"SomeInitScript"}]]}},
"SecurityGroups":[{"Ref":"InstanceSecurityGroup"}],
"InstanceType":"m1.small",
"InstanceMonitoring":"false"
}
}
Вы можете использовать его с boto или через CLI
BTW- Он работает намного лучше, потому что вы отправляете один запрос на услугу AWS, то есть han как стек. для завершения экземпляров (и любых других ресурсов, которые вы хотите добавить) просто удалите стек.
Смежные вопросы
- 1. Запуск нескольких экземпляров lexer/parser ANTLR4 параллельно
- 2. Запуск нескольких экземпляров докеров в EC2
- 3. AWS EC2 Экземпляры: запуск нескольких экземпляров
- 4. Запуск ec2-describe-экземпляров в EC2
- 5. Запуск экземпляров EC2 с именем
- 6. Запуск нескольких экземпляров Scrapy Spider
- 7. Запуск нескольких экземпляров ночного видения
- 8. Запуск нескольких экземпляров Evince
- 9. Запуск нескольких экземпляров casperjs
- 10. Запуск нескольких экземпляров ffmpeg
- 11. Запуск нескольких экземпляров elasticsearch
- 12. Запуск нескольких экземпляров tomcat
- 13. Запуск нескольких экземпляров JHipster
- 14. SNS публикация нескольких экземпляров EC2
- 15. Запуск нескольких экземпляров upstart автоматически
- 16. запуск и остановка экземпляров EC2 по расписанию
- 17. Запуск нескольких экземпляров сервера Rails
- 18. Запуск нескольких экземпляров процесса на нескольких серверах
- 19. Запуск нескольких экземпляров консольного приложения с php
- 20. AWS CloudWatch Alarms для нескольких экземпляров EC2
- 21. Мониторинг использования памяти для нескольких экземпляров EC2
- 22. Запуск сценария на нескольких машинах параллельно
- 23. Параллельный запуск Java нескольких задач параллельно
- 24. Запуск нескольких устройств параллельно на Calabash iOS
- 25. python 27 - Создание и запуск экземпляров другого скрипта параллельно
- 26. Как запускать несколько экземпляров экземпляров параллельно
- 27. Запуск нескольких экземпляров Redis on Centos
- 28. Запуск нескольких экземпляров Solr против классов
- 29. Запуск нескольких экземпляров программы для ускорения процесса?
- 30. Запуск нескольких экземпляров одного отчета параметра сразу
выше информации нигде не упоминается, создает ли он несколько экземпляров «одновременно» или «один за другим». OP ищет альтернативу «серийному исполнению» запуска нескольких экземпляров. – slayedbylucifer
@slayedbylucifer: Это единственная команда, и экземпляры создаются параллельно. – chris
Согласен. Просто попробовал, и это сработало. Пробовал и с Ruby SDK, и это сработало. Все они создают экземпляры параллельно, поскольку все они вызывают одни и те же API. Не уверен, почему OP говорит, что python boto не создает экземпляры параллельно. Я никогда не пробовал Бото. Но AWS CLI использует boto за шторами. – slayedbylucifer