Поведение во время запуска ec2 - PullRequest
0 голосов
/ 14 сентября 2018

У меня есть случай использования, когда у нас очень большая вычислительная работа, которая может быть довольно эффективно разбита на множество маленьких единиц работы. Эффективно скажем, 1000 часов вычислительной работы для экземпляра m4.large. Допустим, я хотел получить результат в течение следующих 10 минут, а это значит, что мне нужно 6000 экземпляров, чтобы выполнить работу вовремя.

Пока что я настроил пакет AWS, я использовал не более 20 m4.large экземпляров, которые входят в вашу учетную запись. Я знаю, что могу увеличить количество экземпляров, запрошенных AWS, но я все еще не очень хорошо знаю, каково это поведение, если вы вдруг попытаетесь предоставить тысячи экземпляров по запросу или если AWS ограничивает количество экземпляров, которые вы можете использовать.

Итак, мой вопрос: могу ли я запускать тысячи m4.large экземпляров по требованию? И если да, то в какие времена я буду искать все случаи, чтобы добраться до состояния Running.

Ответы [ 2 ]

0 голосов
/ 14 сентября 2018

Вы можете связаться со службой поддержки AWS, чтобы увеличить лимиты EC2 (используйте ссылку, показанную в разделе Limits консоли управления EC2).Они проверит ваш вариант использования.

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

Пример использования: Gigaom |Cycle Computing еще раз демонстрирует потенциал высокопроизводительных вычислений Amazon

Существуют также такие службы, как Spotinst , которые могут помочь вам подготовить серверы при минимально возможных затратах.

0 голосов
/ 14 сентября 2018

Я делал это много раз с ~ 100 экземплярами, но никогда с тысячами экземпляров.

ШАГ 1. Откройте заявку в службу поддержки с помощью AWS.Вам нужно будет одобрить ваш аккаунт, проверить кредит и т. Д. Мои клиенты - это очень крупные компании, поэтому для них процесс получения кредита и одобрения прост.Если вы маленький парень, я не знаю.

ШАГ 2: Подумайте над дизайном вашего VPC и с тем, как вы будете решать это множество случаев.Если 5 экземпляров, проходящих через шлюз NAT, однозначно, но сотня систем поставит интернет-соединение на колени.

ШАГ 3: Подумайте о требуемой пропускной способности сети.Вам нужны группы размещения или высокоскоростное подключение к интрасети или Интернету?

ШАГ 4: будьте готовы к тому, что вы не можете запустить все экземпляры с определенным типом экземпляра (ошибка емкости недоступна).У вас есть выбор экземпляров, к которым вы можете обратиться.

ШАГ 5: Создайте свое собственное программное обеспечение, я использую Python для запуска экземпляров, выполнения обновлений, установки программного обеспечения и т. Д. Затем вы можете опросить экземпляры, используяBoto3 EC2 API, чтобы определить, когда все экземпляры работают.Продолжительность времени для 1000 экземпляров не будет сильно отличаться от 1 экземпляра.

Теперь для реального мира.Если ваша работа занимает 1000 часов, запуск 1000 экземпляров не сократит ее до 1 часа, если у вас не будет действительно масштабируемого программного обеспечения с минимальным необходимым межмашинным обменом данными.Когда вы выйдете за пределы 10 систем, пропускная способность сети и накладные расходы на связь станут проблемой.Несмотря на огромные ресурсы AWS, запуск 1000 экземпляров EC2 за один раз одним клиентом не является распространенным случаем запуска.

Я бы также НЕ запускал 1000 экземпляров, чтобы сократить время обработки до 10 минут.Ваши экземпляры могут подключаться к сети, обновляться, синхронизироваться и т. Д. В течение 10 минут. Это означает, что вы будете тратить 50% своего бюджета на время ожидания.Для действительно больших работ сегодня мы предпочитаем использовать Hadoop / Spark, где реалистично масштабирование до сотен машин.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...