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

Можно ли присоединиться к VPC извне Google?

У меня есть экземпляр обратного прокси-сервера в GCP, у которого есть внешний IP-адрес, но за ним есть множество экземпляров бэкэнда, у которых нет внешних IP-адресов, но находятся в том же VPC. Идея состоит в том, чтобы уменьшить поверхность атаки только до обратного прокси; довольно стандартный материал.

У меня проблема в том, что по-прежнему полезно использовать ssh для внутренних экземпляров (для устранения неполадок или для целей развертывания. Я использую ansible). Есть ли способ создать сетевой интерфейс на моем локальном компьютере разработчика, который будет иметь прямой доступ к частным экземплярам (в будущем компьютер CI также будет нуждаться в доступе)? Другими словами, ssh'ing на внутренний ip. На данный момент мне нужно было назначить внешние эфемерные IP-адреса всем экземплярам, ​​чтобы иметь возможность напрямую обращаться к ним с помощью ansible, но, как я уже сказал, для следующего уровня безопасности я хочу только предоставить обратный прокси-сервер для Интернет

Я бы предпочел избежать создания экземпляра точки перехода, поскольку создание туннелей ssh ​​для возможности доступа к каждому экземпляру серверной части кажется беспорядком. Обычно это звучит как работа VPN, но я новичок в VPC и не знаю, есть ли другой способ справиться с этим требованием в VPC в целом или в GCP в частности. Какова стандартная практика для этого варианта использования?

Существует четыре распространенных метода подключения к экземплярам Google Cloud Compute Engine, у которых есть только частные IP-адреса. Этот список идет от простого к более сложному.

Способ 1. Используйте Google Cloud Console

Консоль Google Cloud поддерживает SSH для экземпляров Compute Engine. Перейдите в Compute Engine. Для каждого экземпляра есть кнопка SSH.

Документация

Метод 2: используйте интерфейс командной строки Google Cloud SDK

gcloud compute ssh user@INSTANCE_NAME

Примечание. Поддерживается только Linux. Не работает под Windows.

Документация

Метод 3: Хост OpenVPN Bastion

Установите OpenVPN на небольшой экземпляр Compute Engine и клиент на своем рабочем столе. Это мой предпочтительный метод, так как мои инструменты могут легко подключаться к VPC. OpenVPN бесплатен, но экземпляр - нет. Я использую экземпляр f1-micro, если мне не нужна высокопроизводительная сеть.

Google Marketplace OpenVPN

Метод 4: перенаправление удаленного порта SSH

Вы можете создать туннель SSH, который затем сможет подключаться к любому экземпляру в вашем VPC. В Интернете есть множество примеров. Для этого метода также требуется небольшой экземпляр Compute Engine, но вы можете заблокировать этот экземпляр, чтобы он принимал только SSH-трафик из вашей сети (блокировка IP или CIDR).

Метод 5: запуск туннеля IAP (прокси-сервер с идентификацией)

gcloud beta compute start-iap-tunnel <OPTIONS>

В этом методе используется технология, лежащая в основе методов №1 и №2. Этот метод создает туннель с использованием вычислительного экземпляра, управляемого Google Cloud. У этого метода есть ограничения (неопубликованные) на пропускную способность. Для трафика SSH это нормально.

Документация