Что такое "экземпляр"?
Стоит подумать о том, что люди имеют в виду, когда говорят о «дублировании экземпляра EC2». Экземпляр EC2 состоит из:
- Загрузочный диск с операционной системой
- Любые диски данных
- настройки сети (например, общественные & частные IP-адреса)
- конфигураций (например, Instance тип, данные пользователя, теги , и т. д.)
Дублирование экземпляра EC2 обычно означает запуск другого экземпляра с той же конфигурацией, но это не обязательно «дубликат». Например, другая зона доступности означает, что у нее будет другой IP-адрес (см. Ниже), и новый экземпляр будет загружен из AMI (Amazon Machine Image) вместо того, чтобы быть точным дубликатом диска из предыдущего экземпляра.
Дубликаты для обеспечения высокой доступности
Далее идет вопрос о High Availability. Новый экземпляр может занять несколько минут.Если требование заключается в почти мгновенном отключении, то единственным решением является всегда запускать более одного экземпляра, а затем повторно указывать IP-адрес или DNS-имя.
Как вы упомянули, легко и быстро связывать эластичный IP-адрес с альтернативным экземпляром EC2. Это изменение немедленно перенаправляет трафик, отправленный на этот IP-адрес.
Однако невозможно переназначить внутренний IP-адрес другому экземпляру (но см. Ниже).
Использование Auto Scaling для запуска другого экземпляра
Если требование позволяет в течение нескольких минут простоя, возникают тогда больше возможностей. Самым простым было бы запустить экземпляр EC2 в группе Auto Scaling. Группа может быть настроена так, чтобы всегда иметь определенное количество экземпляров (например, минимум 1 экземпляр). Таким образом, при сбое экземпляра Auto Scaling может автоматически запускать экземпляр замены с той же конфигурацией (загрузочный диск, тип экземпляра и т. Д.).
Кроме того, автоматическое масштабирование может автоматически запускать экземпляры в другой зоне доступности, если зона выходит из строя.
Однако обратите внимание, что внутренние диапазоны IP-адресов связаны с подсетями в VPC (Virtual Private Cloud). Каждая подсеть связана с единой зоной доступности. Иерархия:
- VPC
- Наличие зоны
- подсети (с диапазоном CIDR из IP-адресов)
Таким образом, запуск экземпляра в другой зоне доступности (и, следовательно, другой подсети) потребует, чтобы экземпляр имел другой внутренний IP-адрес.
хак для переназначения IP-адрес
В то время как внутренняя IP-адрес не может быть переназначен (и особенно не между подсетями), интересный хак был описан в ARC401 session at re:Invent 2014 (см слайдов 33 & 34, или на YouTube) ,
Это связано со связыванием IP-адреса со вторичным Эластическим сетевым интерфейсом (ENI), где IP-адрес падает за пределами диапазона VPC. Затем используйте правила маршрутизации для маршрутизации трафика, предназначенного для этого адреса, в ENI (отключение проверки источника/места). Фактически, трафик можно перенаправить в другой экземпляр, изменив правила маршрутизации. Немного взлома, но это, видимо, работает.
Можете ли вы предоставить более подробную информацию о том, почему вы требуете, чтобы он имел тот же частный IP-адрес? Это, вероятно, будет точкой отсчета. –