Если я настрою файлы своих хостов так, чтобы они ссылались на все другие узлы ec2 с использованием внутренних IP-адресов, это сработает или мне придется использовать внешние IP-адреса?
Нужно ли мне указывать что-либо в моей группе безопасности, чтобы внутренние IP-адреса работали?
например / etc / hosts
ip-10-11-12-13.internal some_node_name
Если я сделаю это, могу ли я ссылаться на some_node_name в любом месте моих сценариев, где я раньше использовал бы IP-адрес?
На моих серверах марионеточного агента у меня есть ссылка на моего хозяина марионеток, например:
public-ip-here puppet
Когда я перезагружаю марионеточный агент, системный журнал показывает, что они не могут найти мастера с сообщением: getaddinfo: имя или служба неизвестны
Я заставил его работать, обновив /etc/default/puppet
и я добавил к опциям:
--server=public-ip-here
Из того, что я прочитал, puppet по умолчанию будет пытаться использовать puppet, и я установил это в моем файле hosts, так почему бы ему не поднять это?
Один совет по использованию марионетки в EC2 - назначить ElasticIP своему мастеру марионеток, а затем создать запись DNS для ElasticIP CNAME, а не запись A для IP.
DNS-серверы AWS используют «представления» dns, чтобы варьировать свой ответ в зависимости от того, поступил ли запрос из одного региона EC2 или извне. Если запрос CNAME поступает из региона EC2, DNS-серверы AWS ответят внутренним IP-адресом CNAME. (Прочтите об условных DNS-ответах BIND "Views")
Вы должны использовать CNAME в DNS, чтобы, когда клиенты марионеток EC2 запрашивали у DNS-серверов AWS IP-адрес Puppetmaster, они получали ответ, который направляет их на внутренний IP-адрес марионеточного мастера, а не на внешний IP-адрес.
Резюме: не используйте / etc / hosts для поиска puppetmaster в EC2, этот внутренний IP-адрес может измениться и не работает в нескольких регионах. Используйте запись CNAME, которая указывает на CNAME ElasticIP, хранящуюся в DNS.
этот файл hosts неверен .. Если ваш марионеточный сервер имеет внутренний IP-адрес 10.0.1.10. Затем каждый узел, к которому вы хотите подключиться,
10.0.1.10 puppet
Тогда этот узел будет нормально подключаться без строки --server. Если все узлы находятся на востоке США, они должны использовать внутренний IP-адрес. Если ваш марионеточный сервер находится на востоке, а некоторые клиенты на западе ... Эти клиенты на западе используют общедоступные, а восточные по-прежнему используют внутренние.