我想並行啓動多個EC2計算機。到目前爲止,我使用boto和結構,但串行執行需要很長時間才能啓動並逐一提供。任何替代解決方案/工具來做到這一點?並行啓動多個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.
更新:根據博託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"
}
}
BTW-由於您向AWS服務發送單個請求,因此性能更好,即漢作爲一個堆棧而溺愛。終止實例(以及任何其他您想添加的資源)只需刪除堆棧。
相關問題
- 1. AWS EC2實例:啓動多個實例
- 2. 調試ec2實例啓動
- 3. 哪個用戶啓動了EC2實例?
- 4. 如何啓動EC2實例並在每個實例上載/運行啓動腳本?
- 5. 啓動多個Tomcat實例
- 6. 在EC2中運行多個Docker實例
- 7. 問題與EC2實例啓動卷附加到另一個EC2實例
- 8. 無法啓動EC2實例 - 「您的配額允許再運行0個實例」
- 9. 自動關閉並啓動Amazon EC2實例
- 10. 使用Ansible啓動EC2實例並動態分配子網
- 11. 等待EC2實例重新啓動
- 12. 啓動克隆的EC2實例
- 13. Amazon EC2實例遠程啓動
- 14. 無需啓動創建EC2實例
- 15. 使用公共ip啓動ec2實例
- 16. 與廚師一起啓動ec2實例
- 17. 安排ec2實例啓動/停止
- 18. 使用Zend啓動x86_64 Amazon EC2實例?
- 19. 博託錯誤啓動ec2實例
- 20. 如何在啓動Amazon EC2實例後自動啓動Tomcat
- 21. 將EC2實例啓動到vpc中並使用公共IP
- 22. 自動啓動多個upstart實例
- 23. EC2實例退役 - 只需重新啓動或從AMI啓動新實例?
- 24. AWS似乎在終止後自動啓動另一個EC2實例,並終止
- 25. EC2實例重新啓動 - 實例ID不存在
- 26. 在許多EC2實例上批量重新啓動httpd
- 27. SSH到ec2實例並執行
- 28. Linux啓動時啓動java程序(EC2實例)
- 29. 當EC2 linux實例啓動時啓動程序
- 30. 如何啓動AWS EC2上的實例啓動程序
上面的信息沒有提及任何地方是否創建「同時」或「一個接一個」的多個實例。 OP正在尋找替代多個實例啓動的「串行執行」。 – slayedbylucifer
@slayedbylucifer:這是一個單一的命令,實例是並行創建的。 – chris
同意。剛剛嘗試過,它工作。嘗試與Ruby SDK以及它的工作。它們都在並行創建實例,因爲它們都調用相同的API。不知道爲什麼OP說python boto不是並行創建實例。我從來沒有試過博託。但AWS CLI在窗簾後面使用boto。 – slayedbylucifer