Как лучше всего получить внутренний IP-адрес экземпляров Amazon EC2? - PullRequest
0 голосов
/ 22 мая 2018

Проверьте следующий сценарий:

  • Я использую шаблон CloudFormation для создания 3 экземпляров Amazon EC2.
  • В шаблоне я использую группу автоматического масштабирования для запуска 3 экземпляров..
  • Я не назначаю общедоступный IP-адрес - экземплярам будет назначен только частный IP-адрес.

Я хочу создать кластер из 3 экземпляров, поэтому необходимо 3 экземпляра.знать частные IP-адреса друг друга.

Каков наилучший способ получить IP-адреса других 2 экземпляров в 3-м экземпляре?Должен ли я сохранить небольшой скрипт внутри AMI, который будет выбрасывать IP-адрес снаружи?

Ответы [ 2 ]

0 голосов
/ 22 мая 2018

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

Вместо этого рекомендуется назначить DNS-имя к экземпляру и обратиться к нему через это имя DNS.Вы можете определить частную размещенную зону Amazon Route 53 в шаблоне CloudFormation и создать наборы записей, чтобы назначить имя каждому из 3 экземпляров EC2.

Таким образом, сами экземпляры неВам не нужно знать IP-адреса, и нет необходимости «отправлять» IP-адреса в другие экземпляры, а также не нужно хранить IP-адреса для каждого экземпляра.

См .:

0 голосов
/ 22 мая 2018

В облачной информации вы можете использовать встроенную функцию GetAtt , которая возвращает значение атрибута из ресурса в шаблоне.

Чтобы получить PrivateIp, он будет выглядетькак это:

{ "Fn::GetAtt" : [ "Ec2Instance", "PrivateIp" ] }
...