Эластичный IP-адрес
Эластичный IP-адрес (Elastic IP, EIP) — это статический публичный IPv4-адрес, предоставляемый облачным провайдером (преимущественно Amazon Web Services, AWS) для динамического связывания с вычислительными ресурсами, такими как виртуальные серверы (EC2-инстансы) или сетевые интерфейсы. В отличие от обычных публичных IP-адресов, которые автоматически назначаются ресурсам при их запуске и могут меняться после остановки или перезагрузки, эластичный IP-адрес остаётся закреплённым за учётной записью пользователя до тех пор, пока тот не освободит его вручную. Основное назначение EIP — обеспечение постоянной точки доступа к ресурсу, который может быть заменён или перемещён без изменения DNS-записей или настроек клиентов.
История и происхождение
Концепция эластичного IP-адреса была впервые реализована компанией Amazon Web Services в 2008 году в рамках сервиса Amazon Elastic Compute Cloud (EC2). До появления EIP пользователи AWS сталкивались с проблемой: при остановке или сбое виртуального сервера его публичный IP-адрес терялся, и новый экземпляр получал другой адрес. Это затрудняло использование облачных ресурсов для приложений, требующих стабильного сетевого подключения, — например, веб-серверов, почтовых серверов или VPN-шлюзов.
Решение заключалось в создании пула статических IP-адресов, которые пользователь мог арендовать и привязывать к своим ресурсам по мере необходимости. Термин «эластичный» отражает возможность динамического переназначения адреса между разными инстансами без простоев: при отказе одного сервера адрес быстро переключается на резервный. Впоследствии аналогичные функции появились у других облачных провайдеров: Microsoft Azure (Reserved IP, позже — Public IP Prefix), Google Cloud Platform (Static External IP), Яндекс.Облако (Статический публичный IP) и Selectel (Плавающий IP).
Классификация и терминология
В контексте облачных вычислений эластичные IP-адреса относятся к категории статических публичных IPv4-адресов. Их можно классифицировать по следующим признакам:
- По способу назначения: выделенные (закреплённые за учётной записью) и пуловые (выдаваемые из общего пула провайдера).
- По региону: адреса привязаны к конкретному географическому региону облака (например, eu-west-1 или us-east-1) и не могут быть перемещены между регионами без освобождения и повторного запроса.
- По модели оплаты: обычно тарифицируются отдельно от вычислительных ресурсов — за время, когда адрес зарезервирован, но не привязан к работающему инстансу, взимается плата (стимулируя пользователей не держать неиспользуемые адреса).
В русскоязычной документации AWS термин «эластичный IP-адрес» часто используется как синоним «статического публичного IP-адреса», хотя в других платформах могут применяться иные названия: «зарезервированный IP», «фиксированный IP», «плавающий IP» (в контексте отказоустойчивых конфигураций).
Устройство и механизм работы
Эластичный IP-адрес функционирует как виртуальный сетевой ресурс, управляемый через API облачного провайдера. Технически это запись в таблице маршрутизации провайдера, связывающая публичный адрес с частным IP-адресом виртуального сервера через механизм трансляции сетевых адресов (NAT). Пользователь не управляет физическим маршрутизатором — вся логика реализована программно.
Процесс работы включает следующие этапы:
- Резервирование: пользователь запрашивает новый эластичный IP-адрес через консоль управления, CLI или SDK. Адрес выделяется из пула провайдера и закрепляется за учётной записью.
- Привязка (ассоциация): адрес связывается с конкретным сетевым интерфейсом (например, eth0 виртуального сервера) или с самим инстансом. После этого трафик, направленный на публичный EIP, перенаправляется на соответствующий ресурс.
- Переназначение: при необходимости адрес можно отвязать от одного ресурса и привязать к другому (в пределах того же региона и зоны доступности). Это происходит практически мгновенно — обычно за несколько секунд.
- Освобождение: когда адрес больше не нужен, пользователь освобождает его, и он возвращается в общий пул провайдера. Если адрес не освобождён и не привязан к работающему инстансу, за него продолжает взиматься плата.
Важное ограничение: эластичный IP-адрес всегда привязан к региону. Нельзя перенести адрес, например, из зоны us-east-1a в eu-west-1b без его освобождения и повторного запроса. Также на одну учётную запись AWS по умолчанию накладывается квота на количество EIP (обычно 5 на регион, но может быть увеличена по запросу).
Применение
Эластичные IP-адреса широко используются в сценариях, где требуется стабильная сетевая точка доступа к облачным ресурсам:
- Веб-серверы и API: для обеспечения постоянного адреса, который можно прописать в DNS (например, A-запись для домена) или использовать в настройках CDN.
- Отказоустойчивые конфигурации: в паре с механизмами автоматического восстановления (Auto Scaling, AWS Elastic Load Balancer) EIP позволяет быстро переключить трафик на резервный сервер при сбое основного.
- VPN-серверы и шлюзы: для организации доступа к корпоративной сети через статический IP, который не меняется при перезагрузке шлюза.
- Почтовые серверы: для отправки и получения электронной почты требуется постоянный IP-адрес, чтобы не попадать в чёрные списки (DNSBL) из-за частой смены адреса.
- Разработка и тестирование: для доступа к тестовым средам с фиксированным адресом, который можно внести в белые списки брандмауэров.
Преимущества и недостатки
Преимущества
- Постоянство: адрес не меняется при остановке, перезагрузке или замене инстанса.
- Гибкость: возможность быстрого переназначения между ресурсами без изменения DNS.
- Управляемость: полный контроль через API и консоль, интеграция с автоматизацией (Terraform, Ansible).
- Маскировка сбоев: при отказе одного сервера адрес переключается на другой, что минимизирует время простоя.
Недостатки
- Стоимость: за неиспользуемые (непривязанные) EIP взимается плата, что стимулирует эффективное использование.
- Ограничения: квота на количество адресов на аккаунт, невозможность перемещения между регионами.
- Риск исчерпания IPv4: из-за дефицита публичных IPv4-адресов провайдеры могут вводить дополнительные ограничения или плату за каждый адрес.
- Необходимость ручного управления: в отличие от динамических IP, которые назначаются автоматически, EIP требует явного резервирования и освобождения.
Критика и альтернативы
Эластичные IP-адреса критикуются за то, что они поощряют использование статических IPv4-адресов в эпоху, когда отрасль стремится к переходу на IPv6 и отказу от постоянных адресов в пользу DNS-имён и балансировщиков нагрузки. Кроме того, в распределённых архитектурах (микросервисы, контейнерные оркестрации) EIP часто считаются устаревшим решением: вместо них рекомендуется использовать балансировщики нагрузки (ELB, ALB) или шлюзы API, которые сами управляют адресами.
В качестве альтернатив применяются:
- DNS-имена (CNAME): вместо фиксации IP-адреса в конфигурациях используется доменное имя, которое указывает на балансировщик или облачный сервис.
- Балансировщики нагрузки: AWS Elastic Load Balancer, Google Cloud Load Balancer — они предоставляют статический DNS-адрес и автоматически распределяют трафик между инстансами.
- IPv6-адреса: в некоторых облаках (например, AWS) можно получить статический IPv6-адрес, который не требует отдельной платы и не имеет квот, аналогичных EIP.
- Cloudflare Spectrum / Anycast: для некоторых сценариев (например, игровые серверы) используются технологии, обеспечивающие единую точку доступа через глобальную сеть доставки.
Интересные факты
- В AWS эластичные IP-адреса являются региональным ресурсом, но их можно ассоциировать только с инстансами в той же зоне доступности (Availability Zone) внутри региона. Для межзонального перенаправления требуется освобождение и повторная привязка.
- Если эластичный IP-адрес не привязан к работающему инстансу, за него взимается почасовая плата (по состоянию на 2025 год — около $0,005 в час). Это сделано для предотвращения «захвата» адресов.
- В некоторых облачных провайдерах (например, Яндекс.Облако) статический публичный IP можно зарезервировать бесплатно, если он привязан к работающему ресурсу; плата взимается только за неиспользуемые адреса.
- Эластичные IP-адреса не поддерживают протокол IPv6; для IPv6 в AWS используются отдельные статические адреса, которые не требуют резервирования.
Источники
- Amazon Web Services. «Elastic IP Addresses» — документация AWS EC2.
- Microsoft Azure. «Public IP addresses» — документация Azure.
- Google Cloud. «Static External IP Addresses» — документация GCP.
- Яндекс.Облако. «Статические публичные IP-адреса» — документация Yandex Cloud.
- Selectel. «Плавающие IP-адреса» — документация Selectel.
- RFC 1918 — «Address Allocation for Private Internets» (контекст публичных и частных адресов).
- Книга: «Amazon Web Services in Action» — Michael Wittig, Andreas Wittig (Manning Publications, 2018).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →