AWS EC2
AWS EC2 (Amazon Elastic Compute Cloud) — это веб-сервис, предоставляющий вычислительные мощности в облаке, который позволяет арендовать виртуальные серверы (инстансы) для запуска приложений. Сервис является частью платформы Amazon Web Services (AWS) и относится к категории инфраструктуры как услуги (IaaS). Основная особенность EC2 — возможность масштабирования вычислительных ресурсов в зависимости от потребностей пользователя, а также оплата только за фактически использованные ресурсы (модель pay-as-you-go).
История
Сервис AWS EC2 был запущен в публичную бета-версию 23 августа 2006 года. Первоначально он предоставлял только базовые виртуальные машины на архитектуре x86 с ограниченным набором типов. В 2008 году была добавлена поддержка Elastic Block Store (EBS) для постоянного хранения данных. В 2010 году появилась возможность запуска инстансов в виртуальных частных облаках (Amazon VPC). В 2013 году были представлены инстансы на базе процессоров Intel Xeon E5-2670, а в 2014 году — инстансы с графическими процессорами (GPU) для высокопроизводительных вычислений. В 2017 году AWS анонсировала собственные процессоры Graviton на архитектуре ARM, что позволило снизить стоимость вычислений для определённых типов нагрузок. К 2024 году EC2 насчитывает более 600 различных типов инстансов, включая выделенные хосты, инстансы для машинного обучения и инстансы с ускорением FPGA.
Архитектура и основные компоненты
Инстансы
Инстанс (instance) — это виртуальный сервер, который запускается на физическом оборудовании AWS. Каждый инстанс имеет определённый объём виртуальных процессоров (vCPU), оперативной памяти (RAM), сетевой пропускной способности и хранилища. Инстансы классифицируются по семействам, оптимизированным под разные задачи:
- Общего назначения (A, T, M) — сбалансированное соотношение CPU, памяти и сети для веб-серверов, баз данных небольшого объёма и микросервисов.
- Оптимизированные для вычислений (C) — высокопроизводительные процессоры для научных расчётов, пакетной обработки и игровых серверов.
- Оптимизированные для памяти (R, X, High Memory) — большой объём RAM для in-memory баз данных (Redis, SAP HANA) и аналитики в реальном времени.
- Оптимизированные для хранения (I, D, H) — высокоскоростное локальное хранилище NVMe для баз данных с интенсивной записью и распределённых файловых систем.
- Ускоренные вычисления (P, G, Inf, F) — GPU, FPGA или специализированные чипы для машинного обучения, рендеринга, криптографии и обработки видео.
Каждый инстанс запускается из Amazon Machine Image (AMI) — шаблона, содержащего операционную систему (Linux, Windows, macOS) и предустановленное ПО.
Amazon Machine Image (AMI)
AMI — это образ, который определяет программное обеспечение инстанса. AMI может быть публичным (предоставленным AWS или сообществом), приватным (созданным пользователем) или из AWS Marketplace. Пользователи могут создавать собственные AMI на основе запущенного инстанса для быстрого развёртывания клонов.
Elastic Block Store (EBS)
EBS — это служба блочного хранения, которая предоставляет постоянные тома для инстансов EC2. Тома EBS подключаются к инстансу через сеть и могут сохраняться после остановки инстанса. Доступны различные типы томов: SSD (gp2, gp3, io1, io2) для высокопроизводительных баз данных и HDD (st1, sc1) для потоковой записи и архивов. Максимальный размер тома — до 64 ТБ.
Эластичные IP-адреса и сеть
Каждый инстанс получает частный IP-адрес в виртуальной сети Amazon VPC. Для доступа из интернета можно назначить эластичный IP-адрес (Elastic IP) — статический публичный IPv4-адрес, который не меняется при перезапуске инстанса. Также поддерживаются IPv6, балансировщики нагрузки (Elastic Load Balancing) и группы автоматического масштабирования (Auto Scaling).
Модели ценообразования
AWS EC2 предлагает несколько моделей оплаты, что позволяет оптимизировать затраты:
- По требованию (On-Demand) — оплата за секунду (для Linux) или за час (для Windows) без долгосрочных обязательств. Подходит для тестовых сред и краткосрочных проектов.
- Спотовые инстансы (Spot Instances) — аренда неиспользуемых мощностей AWS со скидкой до 90% по сравнению с On-Demand. Инстанс может быть остановлен AWS в любой момент при повышении спроса. Используется для пакетной обработки, анализа данных и fault-tolerant приложений.
- Резервированные инстансы (Reserved Instances) — предоплата за 1 или 3 года с фиксированной скидкой (до 72%). Подходит для стабильных нагрузок.
- Выделенные хосты (Dedicated Hosts) — физический сервер, выделенный одному клиенту. Используется для лицензирования ПО по модели BYOL (Bring Your Own License).
- Сберегательные планы (Savings Plans) — гибкая модель, при которой пользователь обязуется тратить определённую сумму в час в течение 1–3 лет, получая скидку на любые инстансы.
Безопасность и управление доступом
Безопасность в EC2 реализуется через несколько уровней:
- Группы безопасности (Security Groups) — виртуальные файрволы, которые контролируют входящий и исходящий трафик на уровне инстанса. Правила задаются по IP-адресам, протоколам и портам.
- Сетевые ACL (Network ACL) — дополнительные списки контроля доступа на уровне подсети в VPC.
- IAM-роли (Identity and Access Management) — позволяют назначать инстансам временные учётные данные для доступа к другим сервисам AWS (S3, DynamoDB) без хранения ключей на инстансе.
- Шифрование — тома EBS и AMI могут быть зашифрованы с помощью AWS Key Management Service (KMS).
Автомасштабирование и балансировка нагрузки
Группы автоматического масштабирования (Auto Scaling Groups, ASG) автоматически добавляют или удаляют инстансы в зависимости от заданных метрик (загрузка CPU, сетевая активность, длина очереди). В сочетании с балансировщиком нагрузки (Application Load Balancer или Network Load Balancer) это обеспечивает отказоустойчивость и эластичность приложения.
Применение
AWS EC2 используется для широкого спектра задач:
- Веб-хостинг — размещение сайтов, API и микросервисов.
- Высокопроизводительные вычисления (HPC) — научные симуляции, геномные исследования, рендеринг.
- Машинное обучение — обучение и инференс моделей на GPU-инстансах (P4, P5, G5).
- Резервное копирование и аварийное восстановление — запуск копий инфраструктуры в другом регионе AWS.
- Разработка и тестирование — быстрая аренда сред для CI/CD и QA.
Ограничения и критика
Несмотря на популярность, EC2 имеет ряд недостатков:
- Сложность управления — большое количество типов инстансов, настроек и моделей ценообразования может запутать новых пользователей.
- Стоимость при неоптимальной конфигурации — неиспользуемые ресурсы или неправильный выбор модели оплаты приводят к переплатам.
- Зависимость от провайдера — миграция на другую облачную платформу (Google Cloud, Azure) требует значительной переработки архитектуры.
- Производительность соседей — на спотовых инстансах и некоторых типах T (burstable) производительность может падать при высокой загрузке других пользователей на том же физическом сервере.
Интересные факты
- Название «Elastic Compute Cloud» отражает способность сервиса «растягиваться» и «сжиматься» под нагрузку.
- Первый инстанс EC2 (m1.small) имел 1 vCPU, 1,7 ГБ RAM и 160 ГБ локального хранилища.
- В 2022 году AWS запустила инстансы на базе собственных процессоров Graviton3, которые обеспечивают до 25% лучшей производительности на ватт по сравнению с x86.
- EC2 используется крупными компаниями, включая Netflix, Airbnb, Spotify и NASA.
Источники
- Amazon Web Services. «Amazon EC2 Documentation». AWS, 2024.
- Varia, J. «Migrating to AWS: A Manager’s Guide». O’Reilly Media, 2018.
- Wittig, M., Wittig, A. «Amazon Web Services in Action». Manning Publications, 2019.
- AWS Blog. «A Decade of Amazon EC2». 2016.
- Gartner. «Magic Quadrant for Cloud Infrastructure and Platform Services». 2023.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →