2013-08-22 11 views
4

Моя цель - автоматически назначить эластичный IP для экземпляра EC2 с автоматическим масштабированием.Назначение эластичного IP для автоматического масштабирования EC2 в VPC-AWS

Я сделал следующее: - Конфигурированный экземпляр EC2 с сценарием запуска для назначения IP - Конфигурированная конфигурация запуска и группа автомасштабирования для каждой спецификации.

Проблема заключается в том, что при развертывании конфигурации автоматического масштабирования запуска я теряю возможность разрешить автоматически назначать общий адрес (сначала), прежде чем он подберет эластичное назначение IP.

Когда я развертываю AMI вручную, при условии, что я проверяю, что «назначить публичный IP-адрес», экземпляр развернет, временно назначит адрес xxxx.amazon.xxxx, а затем перевернется на мое эластичное назначение IP.

однако ..

при развертывании через автоматический масштаб утилиты командной строки (как создать-Launch-конфиг +, как создать-авто-масштабирования-группу) IP не будет работать. Я чувствую, что это может быть исправлено, если есть опция при настройке конфигурации запуска, чтобы временно захватить открытый IP-адрес, чтобы связаться с API-интерфейсом amazon, чтобы вытащить эластичное назначение.

Я высоко ценю вашу помощь!

ответ

1

Возможно, вы захотите использовать cloud-init для запуска команды на локальном автомасштабированном сервере, который подключает EIP. Вот пример локальной команды, работающей на сервере при первой загрузке: http://cloudinit.readthedocs.org/en/latest/topics/examples.html#run-commands-on-first-boot

В этой локальной команде вы могли бы использовать Амазонка встроенных инструментов, чтобы связать адрес: http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ApiReference-cmd-AssociateAddress.html

В стартовой конфигурации, добавить, что облако -init синтаксис атрибута user-data как закодированный base64, и все будущие автомасштабированные экземпляры будут делать то, что он будет делать с облачными init.

Я обычно base64 кодирование, выполнив:

base64 <filename> 
+0

Я не считаю, что это будет работать. Вы не можете связаться с узлами AWS API до тех пор, пока не получите этот EIP. –

+0

Кристофер, вы можете вызвать EIP, а затем назначить его экземпляру. Я делаю это на связке узлов. Если вам нужен зарезервированный список EIP, зарезервируйте их раньше времени и используйте cloud-init для их назначения. – nictrix

+0

@nicrix Моя ошибка. Он будет работать, если у вас установлена ​​NAT-версия VPC, или вы каким-то образом включили публичные IP-адреса для своих экземпляров (кажется, странно это делать с EIP). –

Смежные вопросы