Назад | Перейти на главную страницу

Создание поддоменов в нескольких экземплярах EC2

Предыстория: у меня есть домен, скажем, 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") . У этого метода есть два преимущества:

  1. Вы не исчерпываете свой лимит эластичных IP-адресов http://aws.amazon.com/ec2/faqs/#Why_am_I_limited_to_5_Elastic_IP_addresses

  2. При обращении к этим системам 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 экземпляры соответственно.