Предыстория: у меня есть домен, скажем, example.com. Я назначаю эластичный IP-адрес экземпляру на EC2 и даю ему имя DNS как example.com
Я хочу разместить 5 экземпляров EC2 в этом домене, например:
i1.example.com, i2.example.com, ...
Вопрос:
1 - возможно ли вышесказанное?
2 - если да, то как этого добиться? если нет, какова работа?
Спасибо
Да, это возможно.
Для отдельного сервера example.com необходимо использовать эластичный IP-адрес и назначить ему запись A example.com. Это связано с проблемой "вершины зоны". https://forums.aws.amazon.com/thread.jspa?threadID=32044
Для всех других поддоменов я рекомендую вам использовать CNAME от "i1.example.com" до доменного имени, назначенного EC2 (например, "ec2-AA-BB-CC-DD.compute-1.amazonaws.com") . У этого метода есть два преимущества:
Вы не исчерпываете свой лимит эластичных IP-адресов http://aws.amazon.com/ec2/faqs/#Why_am_I_limited_to_5_Elastic_IP_addresses
При обращении к этим системам DNS-серверы AWS EC2 всегда сообщают правильный IP-адрес - если на него ссылаются извне, он дает внешний IP-адрес, а при использовании внутри облака EC2 - внутренний IP-адрес (без дополнительных затрат на пропускную способность).
Самый простой способ - использовать остальные 4 эластичных IP-адреса и применить их к i-N экземпляров, и в этом случае они будут просто дополнительными записями DNS для этих других IP-адресов в вашем общедоступном DNS - ничем не отличается от www.example.com.
Немного менее уродливый (но гораздо более сложный) метод - запустить обратный прокси-сервер, который смотрит на входящие запросы и перенаправляет их на внутренние адреса i-N.example.com на основе чего-то идентифицируемого на уровне приложения (например, HTTP vhost)
Уродливая версия потребовала бы приобретения размещенной + динамической службы DNS для example.com и написания сценария запуска, который обновлял бы DNS для i-N экземпляры соответственно.