Пиринг сети Google Cloud VPC - DNS не используется?
У меня есть две сети VPC:
- В
Они связаны друг с другом через пиринг сети VPC. Машины из сети A могут нормально подключаться к машинам из сети B через IP.
Однако они не могут получить доступ друг к другу через свои внутренние DNS-имена (machinea.c.gc-project.internal).
Согласно облачной документации Google, это невозможно сделать, заявив:
Внутренние DNS-имена Compute Engine, созданные в сети, недоступны для одноранговых сетей. IP-адрес виртуальной машины должен использоваться для доступа к экземплярам виртуальной машины в одноранговой сети.
Как я могу решить эту проблему, чтобы они фактически могли использовать имена DNS?
Прямо сейчас я просто поместил IP-адреса в файлы хостов eachothers, но должен быть какой-то лучший способ, верно?
1 ответ
В какой-то степени вы уже ответили на свой вопрос. Вы правы, в соответствии с документацией, на которую вы ссылаетесь, внутренняя схема DNS недоступна через пиринг VPC на GCP сегодня.
У вас есть три варианта.
Используйте хост-файлы, как вы были. Это просто в настройке, но может быть сложным в обслуживании по мере роста вашей среды, хотя вы можете обратиться к инструментам управления конфигурацией, которые помогут - например, Ansible - автоматически распространять и поддерживать обновления.
Вы можете развернуть новую зону DNS в Google Cloud DNS. Подробнее об этом сервисе здесь: Cloud DNS Overview Хотя этот сервис предназначен только для публичных зон, вам необходимо зарегистрировать домен или использовать уже принадлежащий. И в качестве публичной зоны имена могут быть разрешены в Интернете, что может быть или не быть желательным. Вы также можете использовать внешний публичный DNS-провайдер.
Разверните свои собственные DNS-серверы. Вы можете настроить BIND или аналогичный на виртуальных машинах, чтобы действовать как DNS-сервер. Вам потребуется обновить настройки DNS на виртуальных машинах, чтобы использовать эти новые серверы, и я бы предложил развернуть как минимум два, например по одному в каждом из ваших VPC, для обеспечения устойчивости. Основным преимуществом будет то, что зона может быть закрытой, поэтому вам не нужно будет покупать доменное имя или выставлять записи в интернете. Конечно, вам нужно поддерживать DNS-серверы, что может быть или не быть желательным. Вы также можете запускать удаленные частные DNS-серверы, например, через VPN, но я бы не рекомендовал это как таковое, поскольку тогда вы создадите жесткую зависимость от VPN-соединения.
Стоит добавить, что как AWS, так и Azure поддерживают частные зоны как часть своих собственных служб DNS, поэтому не исключено, что Google добавит поддержку подобных в будущем.
Надеюсь, это поможет.