EC2 автоматическое масштабирование с эластичным IP

Я развернул EC2 с автоматическим масштабированием и связал с ним Elastic IP-адрес. Я не использую балансировщик нагрузки, потому что общее количество пользователей не превышает 20. Поэтому мои текущие настройки должны иметь 1 минимальный и 1 максимальный серверы.

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

Как я могу назначить эластичный IP автоматически новому экземпляру EC2? Есть ли решение этой проблемы?

ОБНОВИТЬ:

Я добавил следующее в Данные пользователя, но новый EC2 по- прежнему создается без публичного IP-адреса.

#!/bin/bash
INSTANCE_ID=$(curl -s http://169.254.169.254/latest/meta-data/instance-id)
aws ec2 associate-address --instance-id $INSTANCE_ID --allocation-id=eipalloc-**.***.***.***

2 ответа

Без ELB для управления вашими Elastic IP вы должны будете использовать поле User Data в вашем экземпляре EC2 для вызова aws ec2 associate-address Конечная точка API при создании экземпляра:

aws ec2 associate-address --instance-id <instance id> --allocation-id <eip-alloc-id>

Идентификатор распределения EIP можно найти с помощью консоли AWS. Вы можете получить идентификатор экземпляра, сделав этот вызов в пользовательских данных:

INSTANCE_ID=$(curl -s http://169.254.169.254/latest/meta-data/instance-id)

С EC2 и автоматическим масштабированием вам нужно использовать user data в EC2 для автоматического присоединения эластичного IP-адреса к экземпляру EC2 для автоматического масштабирования

      #!/bin/bash
aws configure set aws_access_key_id "XYZ..."
aws configure set aws_secret_access_key "ABC..."
aws configure set region "ap-..."
aws ec2 associate-address --instance-id "$(curl -X GET "http://169.254.169.254/latest/meta-data/instance-id")" --public-ip your_elastic_IP

Примечание: вы должны создать нового пользователя, и у IAM есть только ассоциированный адрес разрешения для создания / получения ключа aws

Надеюсь, это поможет вам :)

Другие вопросы по тегам