AWS Cloudfrount доступность SLA
Я пытаюсь спроектировать систему в облаке AWS с определенным уровнем SLA (скажем, 99,99). Одним из элементов моей архитектуры является CloudFront, и на данный момент я пытаюсь понять, возможно ли повысить его доступность путем введения избыточности. Обычно это работает, например, контейнеры ECS или экземпляр EC2 или RDS, но это невозможно для облачного фронта (насколько я нашел).
Что у меня так далеко:
здесь говорится, что SLA составляет от 99 до 99,9
и здесь говорится, что я могу увеличить доступность, используя несколько источников (CDN), но мне кажется, я бы увеличил доступность CDN, но не сам сервис CloudFront, не так ли?
Может ли кто-нибудь исправить мое понимание, если оно неверно, и / или объяснить правильный способ увеличения SLA для сервиса CloudFront?
3 ответа
Прежде чем сходить с ума и пытаться проектировать системы с высоким SLA, подумайте об этом. 99,9% безотказной работы довольно легко достичь при умеренных затратах. Пройдите дальше, и ваши расходы быстро возрастут. Для каждого дополнения 9, подумайте об увеличении стоимости в 10-100 раз. Эта стоимость включает в себя облачную инфраструктуру, программное обеспечение для управления, мониторинга и оповещения, а также расходы на человека. Вы потратите много времени на управление системами, которые предоставляют SLA более 3 девяток (99,9%).
Время 99,99% означает только 1 минуту в неделю простоя. Это включает время, которое вам нужно потратить на исправление операционной системы, обновление программного обеспечения, резервное копирование и т. Д. Можете ли вы делать все это за 1 минуту каждую неделю? Если нет, вы не получите 4 девяток (99,99%). Сделайте ошибку, и ваша цель в четыре девятки станет двумя девятками.
Amazon CloudFront обеспечивает бесперебойную работу на 99,9%. Это довольно хорошо. Чтобы подняться выше, вам необходимо предоставить несколько источников (источников данных, которые CloudFront кэширует и доставляет конечным пользователям). Ваши первоначальные затраты удвоились в цене, не считая рабочей нагрузки, чтобы оба источника были точно синхронизированы друг с другом 24x7. Любые простои или проблемы с вашим происхождением и вашими четырьмя девятками просто ушли в окно.
Как уже упоминалось, это приведет к большим затратам и сложностям, поэтому вот моя идея:
Вы можете повысить доступность с помощью Route53 (с SLA 100%).
Во-первых, у меня была бы копия объектов, которые вы обслуживаете в Cloudfront, в другом сервисе, например, EC2 (посмотрите, как начинает расти сложность).
Затем вам нужно будет настроить политику маршрутизации при отказе. Обычно Route53 проверяет работоспособность вашего дистрибутива Cloudfront, и если он не работает, трафик переключается на EC2.
Теперь ваше SLA повысится до 99,89% (99,99% EC2 * 99,9% Cloudfront)
Думайте о CloudFront как о CDN (аналогично Akamai и другим CDN). Т.е. это кеш для статического контента, который может находиться на S3 или других источниках. Даже если CloudFront выйдет из строя, ваша система по-прежнему будет доступна на 99,99 % (если она спроектирована таким образом), потому что граница вашей системы — это граница VPC, а не CloudFront, Route53, S3 и т. д. (они рассматриваются вашей системой как внешние интерфейсы и находятся в общедоступной зоне). если вы не создадите частное соединение с ними).