Много раз вновь прибывшие к Lisp хотят "избавиться от всей круглой скобки". Это длится в течение нескольких недель. Никакой проект создать серьезный синтаксис программирования общей цели сверху обычного синтаксического анализатора S-выражения никогда не добирается нигде, потому что программисты неизменно волнуют предпочтение, что Вы в настоящее время чувствуете как "ад круглой скобки". Требуется немного привыкающее к, но не очень! Как только Вы действительно привыкаете к нему, и можно действительно ценить пластичность синтаксиса по умолчанию, возвращаясь к языкам, где существует только один способ выразить какую-то конкретную конструкцию программирования, действительно скрипуче.
Однако Lisp является превосходной подложкой для создания Предметно-ориентированных языков. Столь же хороший как, если не лучше, чем, XML.
Удачи!
Короткий ответ: ты не можешь. Вы не можете получить точно такой же результат (N идентичных экземпляров EC2, не связанных группой автоматического масштабирования).
Запуск нескольких экземпляров из консоли не похож на создание группы автоматического масштабирования с N экземплярами в качестве требуемой емкости. Это просто полезный ярлык, вместо того, чтобы N раз проходить один и тот же процесс создания EC2. Это называется «резервирование» (никакого отношения к зарезервированному экземпляру). Группы автоматического масштабирования - это разные звери (даже если у вас N идентичных экземпляров EC2).
Вы можете либо:
Проблема в том, что количество экземпляров EC2 не будет динамическим, оно не может быть параметром.
Используйте функцию Ref
.
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html
Определяемые пользователем переменные определяются в "Parameters"
Раздел файла конфигурации. В разделе "Resources"
файла конфигурации вы можете заполнить значения, используя ссылки на эти параметры.
{
"AWSTemplateFormatVersion": "2010-09-09",
...
"Parameters": {
"MinNumInstances": {
"Type": "Number",
"Description": "Minimum number of instances to run.",
"Default": "1",
"ConstraintDescription": "Must be an integer less than MaxNumInstances."
},
"MaxNumInstances": {
"Type": "Number",
"Description": "Maximum number of instances to run.",
"Default": "5",
"ConstraintDescription": "Must be an integer greater than MinNumInstances."
},
"DesiredNumInstances": {
"Type": "Number",
"Description": "Number of instances that need to be running before creation is marked as complete in CloudFormation management console.",
"Default": "1",
"ConstraintDescription": "Must be an integer in the range specified by MinNumInstances..MaxNumInstances."
}
},
"Resources": {
"MyAutoScalingGroup": {
"Type": "AWS::AutoScaling::AutoScalingGroup",
"Properties": {
...
"MinSize": { "Ref": "MinNumInstances" },
"MaxSize": { "Ref": "MaxNumInstances" },
"DesiredCapacity": { "Ref": "DesiredNumInstances" },
...
},
},
...
},
...
}
В приведенном выше примере { "Ref": ... }
используется для заполнения значений в шаблоне. В этом случае мы предоставляем целые числа в качестве значений для "MinSize"
и "MaxSize"
.