Вопросы и ответы по AWS Fargate

Общие вопросы

AWS Fargate – это ядро для бессерверных вычислений на базе контейнеров, которое работает как с Эластичным контейнерным сервисом Amazon (ECS), так и с Эластичным сервисом Amazon Kubernetes (EKS). При использовании AWS Fargate можно легко сосредоточиться на создании приложений, поскольку не приходится выделять серверы и управлять ими. Кроме того, Fargate позволяет выбирать ресурсы и оплачивать их отдельно для каждого приложения, а встроенная изоляция приложений повышает уровень безопасности при работе.

AWS Fargate – это бессерверное ядро с оплатой по факту использования, которое позволяет сосредоточиться на создании приложений, а не на управлении серверами. AWS Fargate совместим как с Amazon ECS, так и с Amazon EKS. AWS Fargate упрощает масштабирование облачных приложений и управление ими, передавая AWS всю часть управления ресурсами базовой инфраструктуры, чтобы команды разработчиков могли сосредоточиться на написании кода для решения бизнес-задач. Передача AWS таких заданий, как управление серверами, распределение ресурсов и масштабирование не только улучшает вашу операционную эффективность, но и ускоряет процесс перехода от идеи к разработке в облаке и снижает совокупную стоимость владения (TCO). Благодаря поддержке нескольких архитектур процессоров и операционных систем можно пользоваться преимуществами стоимости, гибкости и масштабируемости бессерверного решения в самых разных приложениях.

Ядро AWS Fargate полезно для широкого спектра рабочих нагрузок, включая поддержку распространенных вариантов использования контейнеров, таких как веб-приложения, API, архитектуры микросервисов, обработка данных и приложения с использованием искусственного интеллекта и машинного обучения. Кроме того, можно модернизировать приложения, когда клиенты создают новые программы в облаке или переносят туда традиционное приложение.

Amazon ECS – это высокопроизводительный сервис управления контейнерами с широкими возможностями масштабирования. Amazon EKS – это полностью управляемый сервис Kubernetes. Оба сервиса могут планировать контейнеры в AWS Fargate для автоматического масштабирования, балансировки нагрузки и оптимизации доступности контейнера с помощью управления планированием. Это более простой способ создания и эксплуатации приложений на основе контейнеров.

В AWS Fargate каждая рабочая нагрузка выполняется на отдельном вычислительном инстансе с одним арендатором. Каждая рабочая нагрузка изолирована границей виртуализации, при этом все задачи или поды Amazon ECS Kubernetes работают на только что выделенном инстансе. Подробнее об архитектуре AWS Fargate см. в техническом описании по безопасности AWS Fargate.

AWS Fargate стоит выбирать за изолированную модель и безопасность этого ядра. AWS Fargate также подходит для запуска контейнеров без необходимости распределять инстансы Эластичного облака вычислений Amazon (EC2) и управлять ими. AWS Fargate имеет встроенную интеграцию с сервисами AWS и сторонними инструментами, которые позволяют отслеживать приложения, собирать метрики и журналы. При использовании AWS Fargate вы платите только за использованные вычислительные ресурсы без авансовых платежей. Если требуется больший контроль над инстансами Amazon EC2 или дополнительные варианты настройки, используйте Amazon ECS или Amazon EKS без AWS Fargate. Используйте Amazon EC2 для рабочих нагрузок с использованием графических процессоров, которые AWS Fargate в настоящее время не поддерживает.

Да. При использовании Amazon ECS приложения на основе Arm можно запускать в AWS Fargate с помощью совместимых с архитектурой Arm или многоархитектурных контейнерных образов в Эластичном реестре контейнеров Amazon (Amazon ECR). Чтобы использовать AWS Fargate с процессорами AWS Graviton на основе Arm, необходимо всего лишь в определении задания Amazon ECS задать архитектуру ЦП Arm64. Используйте Amazon EC2 для запуска рабочих нагрузок на основе Arm в Amazon EKS, которые AWS Fargate в настоящее время не поддерживает.

Да. AWS Fargate предлагает использовать бессерверный подход для контейнеров Windows. При его использовании устраняется необходимость предоставлять серверы и управлять ими, и вы можете указывать и оплачивать ресурсы для каждого приложения. AWS Fargate обеспечивает изоляцию на уровне задач и производит необходимые исправления и обновления, чтобы сделать вычислительную среду безопасной. Список поддерживаемых версий Windows Server см. на странице документации по версиям платформы Windows.

Поскольку AWS Fargate – это бессерверное вычислительное ядро, клиентам не приходится управлять вычислительными инстансами, работающими в AWS Fargate. Поэтому AWS Fargate будет управлять лицензиями ОС Windows за вас, а стоимость этой услуги будет включена в цену на AWS Fargate. 

Квоты на обслуживание для AWS Fargate основаны на количестве ядер виртуальных процессоров, используемых в конкретных регионе и аккаунте. Новые аккаунты AWS могут изначально иметь более низкие квоты, которые со временем могут увеличиваться, и запрашивать повышение этих мягких ограничений в рамках стандартной процедуры увеличения квот на обслуживание в AWS. Для рабочих нагрузок, требующих значительного масштабирования (10 000 ядер), AWS рекомендует использовать стратегию с несколькими аккаунтами.

Наше Соглашение об уровне обслуживания (SLA) в отношении вычислительных процессов гарантирует бесперебойную ежемесячную работу AWS Fargate на уровне не менее 99,99 %. AWS берет на себя два обязательства по SLA для входящих контейнерных сервисов: (1) SLA по контейнерным сервисам, входящим в несколько зон доступности, которое регулирует использование включенных контейнерных сервисов в нескольких зонах доступности; (2) SLA по одному заданию/поду, которое регулирует задачи и поды входящих контейнерных сервисов по отдельности. См. страницу AWS Fargate и SLA для Эластичного контейнерного сервиса Amazon.

Компенсация по AWS Fargate SLA по условиям нашего SLA в отношении вычислительных процессов предоставляется, если в рамках одного региона бесперебойная ежемесячная работа сервиса в нескольких зонах доступности, в которых запущено задание, составила менее 99,99 % в течение любого оплачиваемого месяца. С условиями и положениями соглашения об уровне обслуживания, а также подробностями оформления заявки на компенсацию можно ознакомиться на странице сведений об SLA в отношении вычислительных процессов.

Использование AWS Fargate

  • Seekable OCI (SOCI) помогает сократить время запуска задач Amazon ECS в AWS Fargate. SOCI – это технология AWS с открытым исходным кодом, которая позволяет контейнерам запускаться быстрее за счет медленной загрузки образа контейнера. Чтобы узнать, как начать работу с SOCI, ознакомьтесь с  документацией и публикацией в блоге.
  • Сокращение времени запуска AWS Fargate с помощью сжатых образов контейнеров zstd. Для повышения эффективности слои образа контейнера по умолчанию сжимаются в формате gzip. Однако containerd поддерживает альтернативный формат, известный как zstd, который, как было показано, распаковывается быстрее, что приводит к сокращению времени запуска задач при использовании AWS Fargate. Подробнее о том, как создавать образы контейнеров с помощью zstd, читайте в этом блоге.

Рекомендуется загружать тестовые приложения локально или в средах разработки, чтобы понять требования приложения к соответствующему размеру запроса. Оптимизатор вычислительных ресурсов AWS можно использовать для предоставления рекомендаций в случае недостаточного или слишком большого размера рабочей нагрузки.

В AWS Fargate для каждой задачи ECS или пода Kubernetes предусмотрен специальный эластичный сетевой интерфейс (ENI), подключенный к виртуальному частному облаку (VPC). Весь трафик, входящий и исходящий из контейнерной рабочей нагрузки, проходит через этот ENI. Поэтому группы безопасности VPC и списки управления доступом к сети VPC можно использовать для защиты ENI, а журналы потоков VPC можно использовать для мониторинга потоков трафика.

Каждой рабочей нагрузке, выполняемой в AWS Fargate, предоставляется полный доступ к краткосрочному хранилищу объемом 20 ГиБ, которое можно использовать в качестве временного хранилища во время выполнения рабочей нагрузки. После прекращения рабочей нагрузки все данные, хранящиеся в этом хранилище объемом 20 ГиБ, стираются. Такое краткосрочное хранилище можно увеличить до 200 ГиБ в Amazon ECS и до 175 ГиБ в Amazon EKS. Эластичную файловую систему Amazon (EFS) можно использовать для предоставления постоянного хранилища рабочим нагрузкам, работающим в AWS Fargate.

Обычные подходы к созданию контейнеров из контейнеров часто требуют использования привилегированного режима (как, например, с Docker на платформе Docker), недоступного в модели безопасности AWS Fargate, или монтирования присоединительного сокета в контейнер, что невозможно из-за использования containerd в AWS Fargate (начиная с версии платформы 1.4). В качестве альтернативы можно использовать проект создания образов без root, например Kaniko, который можно развернуть в рамках модели безопасности AWS Fargate. Он является целесообразным вариантом для создания образов контейнеров.

Безопасность и соответствие требованиям

AWS Fargate отвечает стандартам широкого спектра программ соответствия требованиям, включая PCI DSS, SOC, FIPS 140-2, FedRAMP и HIPAA. Более подробная информация и полный список таких программ приведены в документации о сервисах облачной безопасности AWS, включенных в программу обеспечения соответствия

Да. AWS Fargate соответствует требованиям HIPAA. Если вы заключили с AWS договор делового партнерства (BAA), вы можете обрабатывать PHI в контейнерах, развернутых с помощью AWS Fargate. Дополнительную информацию см. на странице о соответствии требованиям HIPAA. Если вы планируете обрабатывать, хранить или передавать PHI, но еще не заключили BAA с AWS, свяжитесь с нами для получения дополнительной информации. 

Да. Ядро AWS Fargate доступно в регионах AWS GovCloud (США). AWS GovCloud (США) – это изолированная облачная инфраструктура и сервисы Amazon, помогающие добиться соответствия нормативным и законодательным требованиям государственных органов США, а также подрядчиков, учебных заведений и других клиентов из США, выполняющих конфиденциальные рабочие нагрузки в облаке. Полный список регионов AWS, в которых доступно ядро AWS Fargate, см. в этой таблице или документации

Интеграция

AWS Fargate предлагает гибкую модель интеграции, включающую как собственные сервисы AWS, так и сторонние решения от партнерской сети Amazon (APN). Общим механизмом интеграции является запуск в рамках задачи AWS Fargate дополнительного контейнера, который может взаимодействовать с контейнером основного приложения. Например, можно запустить на время выполнения основного приложения агент безопасности или маршрутизатор журналов, который взаимодействует с ним, а затем отправляет данные в централизованную систему для анализа и проверки.

AWS предоставляет несколько инструментов для мониторинга и реагирования на различные аспекты работы ресурсов AWS Fargate, включая Предупреждения Amazon CloudWatch, Журналы Amazon CloudWatch, События Amazon CloudWatch, Журналы AWS CloudTrail, AWS Trusted Advisor и Оптимизатор вычислительных ресурсов AWS. Распространенным подходом является использование аналитики контейнеров Amazon CloudWatch для сбора и анализа журналов, а также просмотра операционных панелей. Для ведения журналов приложений есть встроенные драйверы журналов для CloudWatch и Splunk, но FireLens для Amazon ECS можно использовать с помощью параметров определения задачи для маршрутизации журналов в службу AWS или точку назначения Партнерской сети AWS (APN).

Ценообразование и оптимизация затрат

При использовании AWS Fargate вы платите только за потребляемые вашими контейнеризованными приложениями ресурсы виртуальных ЦПУ, памяти и хранилища. Потребление ресурсов виртуальных ЦПУ и памяти вычисляется с момента вызова ваших образов контейнера и до тех пор, пока задача Amazon ECS или под EKS не завершится (с округлением до ближайшей секунды). Предусмотрен минимальный обязательный платеж за 1 минуту использования. 20 ГБ краткосрочного хранилища доступно для всех задач и подов AWS Fargate по умолчанию, и вы платите только за дополнительные ресурсы хранилища, которые запрошены. Как и в случае с инстансами Amazon EC2, в сервисе AWS Fargate можно выбрать как спотовые цены, так и план для экономии вычислительных ресурсов. Подробные сведения см. на странице цен.

  • AWS предлагает спотовые инстансы для задач AWS Fargate, в которых используются свободные вычислительные ресурсы, доступные по более низкой цене, чем инстансы по требованию. Использование спотовых инстансов позволяет запускать устойчивые к прерыванию работы задачи Amazon ECS со скидкой до 70 % от цен на AWS Fargate. 
  • Служба AWS представила экономичные планы AWS Fargate – модель скидок, которая предоставляет те же скидки, что и зарезервированные инстансы, в обмен на обязательство использовать определенный объем (измеряемый в долларах в час) вычислительной мощности в период от одного года до трех лет. 
  • Разработанные AWS процессоры AWS Graviton – это лучшее соотношение цены и производительности для облачных рабочих нагрузок, запускаемых в Amazon EC2, управляемых контейнерах AWS и других управляемых сервисах. Соотношение цены и производительности AWS Graviton улучшено на 40 % по сравнению с сопоставимыми инстансами на базе x86. Процессоры AWS Graviton более энергоэффективны и потребляют на 60 % меньше энергии при той же производительности, чем сопоставимые инстансы EC2. 
  • AWS Fargate поддерживается Оптимизатором вычислительных ресурсов AWS, что позволяет легко выявлять и исправлять неэффективные конфигурации.

Процессоры AWS Graviton созданы по оригинальной разработке Amazon Web Services, чтобы обеспечить лучшее соотношение цены и качества для облачных рабочих нагрузок. AWS Fargate с процессорами AWS Graviton предлагает до 40 % более выгодное соотношение цены и производительности и на 20 % более низкую стоимость, чем с Fargate на базе Intel x86. При этом сервис поддерживает множество рабочих нагрузок, таких как серверы приложений, веб-сервисы, высокопроизводительные вычисления и обработка мультимедиа. Вы получаете преимущества бессерверных вычислений AWS Fargate, при этом оптимизируя производительность и затраты на работу контейнерных рабочих нагрузок.