0

Есть ли способ дублировать экземпляр EC2 в том же VPC в разных AZ для целей HA, так что, когда первичный экземпляр является плохим (например, из-за отказа статуса проверки), я может закрыть его и быстро переключиться на резервный.Как дублировать экземпляр EC2 для HA Цель

По какой-то причине мне нужно оставить один и тот же частный IP-адрес и общедоступный/IP-адрес IP. Для адреса EIP я могу отделить его от экземпляра OLD и повторно связать его с экземпляром NEW, но как насчет частного IP-адреса?

Любое предложение? Заранее спасибо ...

+0

Можете ли вы предоставить более подробную информацию о том, почему вы требуете, чтобы он имел тот же частный IP-адрес? Это, вероятно, будет точкой отсчета. –

ответ

4

Что такое "экземпляр"?

Стоит подумать о том, что люди имеют в виду, когда говорят о «дублировании экземпляра 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-адресов)
        • Instance

Таким образом, запуск экземпляра в другой зоне доступности (и, следовательно, другой подсети) потребует, чтобы экземпляр имел другой внутренний IP-адрес.

хак для переназначения IP-адрес

В то время как внутренняя IP-адрес не может быть переназначен (и особенно не между подсетями), интересный хак был описан в ARC401 session at re:Invent 2014 (см слайдов 33 & 34, или на YouTube) ,

Это связано со связыванием IP-адреса со вторичным Эластическим сетевым интерфейсом (ENI), где IP-адрес падает за пределами диапазона VPC. Затем используйте правила маршрутизации для маршрутизации трафика, предназначенного для этого адреса, в ENI (отключение проверки источника/места). Фактически, трафик можно перенаправить в другой экземпляр, изменив правила маршрутизации. Немного взлома, но это, видимо, работает.

+0

Это полезно. Благодаря... – user2994125

1

Вы не можете быть в состоянии сохранить тот же закрытый, первичный IP-адрес, но вы Cano назначить дополнительный частный IP-адрес к экземпляру EC2 в VPC, и они переназначаемые:

Private IP адреса

При запуске экземпляра в VPC, первичный частный IP-адрес из диапазона адресов подсети назначается сетевому интерфейсу по умолчанию (eth0) экземпляра. Если вы не укажете первичный IP-адрес , мы выбираем доступный IP-адрес в диапазоне подсети для вас.

Вы можете назначить дополнительные частные IP-адреса, известные как вторичные частные адреса , в экземпляры, запущенные в VPC. В отличие от первичного частного IP-адреса , вы можете переназначить вторичный частный IP-адрес с одного сетевого интерфейса на другой.

Отсюда: http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-ip-addressing.html

+0

Это полезно. Спасибо ... – user2994125