GCP: могут ли функции, использующие бессерверный доступ к VPC, также использовать частный доступ Google

Я хочу, чтобы облачная функция на GCP подключалась к Google API (например, compute.googleapis.com) конфиденциально. То есть не через Интернет. Я также хочу, чтобы эта облачная функция выводила весь трафик в VPC через Бессерверный аксессор VPC.

Чтобы виртуальные машины могли подключаться к API Google в частном порядке, необходимо включить частный доступ к Google для подсети, в которой находится виртуальная машина. Но для функций бессерверный соединитель не является подсетью как таковой, поэтому для этого соединителя нельзя включить частный доступ Google. При частном доступе к Google вызов API Google, исходящий от функции, в конечном итоге направляет интернет-шлюз по умолчанию в общедоступный Интернет.

Как я могу заставить мою функцию выполнять вызовы API Google в частном порядке после выхода на мой VPC?


person Thomas Ruble    schedule 22.06.2020    source источник


Ответы (1)


Когда вы находитесь в сети Google, вы никогда не заходите в Интернет, чтобы связаться с сервисом Google. В худшем случае, поскольку это не тот регион, вы заходите в глобальную оптоволоконную сеть Google.

Если вы находитесь в том же регионе, вы остаетесь внутри него.

Таким образом, ваш звонок по умолчанию является частным. У вас нет облачных функций Google для обеспечения этого, это по умолчанию.

Но, если вы предпочитаете быть уверенным, вы можете использовать частный DNS Google, добавив private вот так: compute.private.googleapis.com

person guillaume blaquiere    schedule 22.06.2020
comment
Хм. Я не так уверен в этой конфиденциальности - или, по крайней мере, мне нужен способ доказать это. Во-первых, когда я разрешаю имя хоста для compute.googleapis.com из облачной функции, я возвращаю общедоступный IP-адрес. Во-вторых, я думал, что функции выполняются в другом стеке, чем интерфейсы для этих API, и поэтому у них нет прямого маршрута. - person Thomas Ruble; 22.06.2020
comment
Публичный IP не выходит в Интернет! Маршрутизатор предназначен для интеллектуальной маршрутизации потока внутри сети. Вы пробовали выполнить что-то похожее на трассировку маршрута? - person guillaume blaquiere; 22.06.2020
comment
Это интересный вопрос - я боюсь, что traceroute не дает нам многого для работы: traceroute на compute.googleapis.com (172.217.212.95), максимум 30 переходов, 60 байтовых пакетов 1 * * * 2 * * * 3 * * * 4 * * * 5 * * * 6 * * * 7 * * * 8 172,217,212,95 (172,217,212,95) 0,799 мс * * - person Thomas Ruble; 23.06.2020
comment
Я не знаю, как это продемонстрировать. Я не нахожу четкой документации по этому поводу. Только это сообщение в блоге Google, где все материалы Google находятся в одном синем облаке. Или здесь, где определение NAT передается в случае вызовов API Google . (и вы можете настроить NAT с помощью Google Cloud Functions). На вашей стороне есть контакты в Google? - person guillaume blaquiere; 23.06.2020