“aws ec2, объединенно-адресный” не работа при использовании в UserData в сочетании с Auto Scaling Group

Я пытаюсь использовать AWS CloudFormation для создания экземпляра NAT через AutoScalingGroup, и я сталкиваюсь с проблемой при попытке связать EIP во время создания экземпляра через LaunchConfiguration использование UserData.

Ниже мой UserData (отрезанный и отредактированный, шаблон CloudFormation создается через Ansible следовательно переменные стиля Jinja2),

 "UserData": {
     "Fn::Base64": {
         "Fn::Join": [
             "",
             [
                 "#!/bin/bash\n",
                 "\n",
                 "# Associate EIP address\n",
                 "aws ec2 associate-address --instance-id `curl http://169.254.169.254/latest/meta-data/instance-id` --allocation-id {{ nat_eip_allocation_id }} --region {{ aws_region }}\n"
             ]
         ]
     }
 }

То, что действительно нечетно, является вышеупомянутыми выводами кода следование экземпляра (я передаю вывод по каналу к файлу журнала),

 {
     "AssociationId": "eipassoc-b33d5ad7", 
     "return": "true"
 }

Все же, когда я вхожу в свою консоль AWS, я не могу найти эту ассоциацию нигде, EIP не выделяется, и экземпляр EC2 не имеет EIP или любого общедоступного IP в этом отношении.

Если я вручную связываю его, это хорошо работает.

Я пропускаю что-то действительно очевидное здесь? Это, потому что я имею AssociatePublicIpAddress набор к false в LaunchConfiguration? Я предположил, что должен был сделать это, поскольку я не хочу автоматически присвоенный IP.

Спасибо

0
задан 2 December 2014 в 18:23
1 ответ

Похоже, установка AssociatePublicIpAddress на false действительно блокирует связывание EIP через CLI во время выполнения UserData .

] Кажется расточительным получать общедоступный IP-адрес только для его замены, но решение состоит в том, чтобы установить AssociatePublicIpAddress на true .

0
ответ дан 5 December 2019 в 13:01

Теги

Похожие вопросы