0

Я получаю эту ошибку, когда пытаюсь запустить экземпляры с использованием политик и групп автомасштабирования.Autoscaling неправильно создает экземпляры

Cancelled: Launching a new EC2 instance: i-50dd31cc. Status Reason: Only EC2-Classic instances may be linked. 

Я использую следующие команды для создания конфигурации автозапуска запуска и группы автомасштабирования.

aws autoscaling create-launch-configuration --launch-configuration-name my-lc --image-id ami-12345678 --instance-type c4.large --classic-link-vpc-id vpc-1345622 --user-data file:///Users/path/Desktop/myscript.sh --classic-link-vpc-security-groups sg-sad34353 --spot-price "0.5" 

aws autoscaling create-auto-scaling-group --auto-scaling-group-name my-asg --launch-configuration-name my-lc --availability-zones "us-east-1a" "us-east-1e" --max-size 10 --min-size 1 --desired-capacity 10 --vpc-zone-identifier 'subnet-asd3r322,subnet-asdasd12' 

И затем я создаю аварийные сигналы Cloudwatch на основе количества сообщений в SQS. Все кажется прекрасным, и экземпляры работают корректно. Но проблема в том, что они всегда находятся в состоянии ожидания. И затем, через полчаса, они закрываются с вышеупомянутой ошибкой.

Как подключить только классические экземпляры EC2?

Также у меня есть еще одна проблема, связанная с «желаемыми» экземплярами. Мой счетчик минут равен 1, максимальный - 10, а желаемый - 10. Поэтому, когда я запускаю группу и нет сообщений в SQS, тогда желаемая емкость автоматически уменьшается до 1. Но когда есть 1000 сообщений даже более чем на половину час, нет увеличения желаемой мощности. Все еще работает только один экземпляр. Зачем?

ответ

1

У вас есть 2 вопроса, поэтому я постараюсь ответить им как можно лучше.

Конфигурация запуска: похоже, вы пытаетесь создать конфигурацию запуска для запуска экземпляров в EC2 Classic, связанную с VPC. То, что вы определили в конфигурации запуска, - это запустить экземпляр типа c4.large (только тип VPC) с включенной поддержкой классической ссылки на VPC. Вам нужно будет выбрать тип экземпляра, совместимый с EC2 Classic.

Группа AutoScaling: вы пытаетесь запустить экземпляр из конфигурации запуска с включенной поддержкой классической ссылки (подразумевая, что вы хотите запустить его в EC2 Classic, но вы поставляете VPC (идентификатор подсети), чтобы запустить его. вы не должны поставлять VPC идентификатор подсети, чтобы запустить его.

команды индивидуально не неправильно, так что вы не получаете никаких ошибок, но они не совместимы для использования вместе во время запуска.

CloudWatch: Я предлагаю решить первую проблему и задать отдельный вопрос о том, что ваши предупреждения CloudWatch не работают, но я подозреваю, что у вас нет сигнала тревоги, связанного с группой автомасштабирования. является url для получения дополнительной информации: http://docs.aws.amazon.com/autoscaling/latest/userguide/as-scale-based-on-demand.html

+0

Итак, если я запустил «c3» вместо «c4», и если я не предоставил идентификатор подсети, это был бы шаг в правильном направлении? –

+0

Ну, прежде чем вы ответите, я использовал «c3.large» вместо «c4.large» и не предоставил идентификатор подсети: IT WORKED. Экземпляры успешно созданы. Но что, если я хочу использовать экземпляры «c4.large». Как я буду использовать их? –

+0

Вы не можете использовать экземпляры c4 в EC2 Classic: [см. Ограничения в документации] (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/c4-instances.html#c4-instance-limit). Если вы хотите использовать c4, вам нужно перенести эти экземпляры непосредственно в VPC и не использовать классическую ссылку. Что я рекомендую делать в любом случае, так как новые типы экземпляров, выходящие в будущем, не будут доступны для EC2 Classic. Amazon пытается отодвинуть людей от использования EC2 Classic, ведь новые учетные записи, созданные сегодня, даже не имеют доступа к EC2 Classic, только VPC. – ItsKarma