Не удается подключиться между Cloud Run и Compute Engine с использованием внутреннего IP-адреса

У меня есть служба, работающая в Cloud Run, и базы данных MYSQL, MongoDB в Compute Engine. В настоящее время я использую общедоступный IP-адрес для связи между ними, я хочу использовать внутренний IP-адрес для повышения производительности, но я не могу найти решение этой проблемы. Пожалуйста, помогите мне некоторыми идеями, спасибо.

4 ответа

Согласно официальной документации Подключение к инстансам расширенными методами

Если у вас есть изолированный экземпляр, у которого нет внешнего IP-адреса (например, экземпляр, который намеренно изолирован от внешних сетей), вы все равно можете подключиться к нему, используя его внутренний IP-адрес в виртуальном частном облаке Google Cloud (VPC) сеть

Однако, если вы проверите службы, которые еще не поддерживаются Cloud Run, вы обнаружите:

Запуск виртуального частного облака в облаке (полностью управляемый) не может подключиться к сети VPC.

Сервисы еще не поддерживаются

Сейчас поддерживается. Вы можете использовать сетевой коннектор VPC (бета):

Эта функция находится на стадии предварительной версии и может измениться или иметь ограниченную поддержку. Для получения дополнительной информации см. Этапы запуска продукта.

На этой странице показано, как использовать бессерверный доступ к VPC для подключения службы Cloud Run (полностью управляемой) непосредственно к вашей сети VPC, обеспечивая доступ к экземплярам виртуальных машин Compute Engine, экземплярам Memorystore и любым другим ресурсам с внутренним IP-адресом.

Чтобы использовать бессерверный доступ к VPC в службе Cloud Run (полностью управляемой), сначала необходимо создать коннектор бессерверного доступа к VPC для обработки связи с вашей сетью VPC. После создания соединителя вы настраиваете конфигурацию службы Cloud Run (полностью управляемой) для использования этого соединителя.

Здесь, как создать: Создание коннектора доступа к бессерверному VPC и здесь обзор о нем: Пример бессерверного доступа к VPC

Теперь вы можете сделать это, выполнив эту команду при развертывании:

gcloud run deploy SERVICE --image gcr.io/PROJECT_ID/IMAGE --vpc-connector CONNECTOR_NAME

Если у вас уже есть развертывание Cloud Run, вы можете обновить его, выполнив команду:

cloud run services update SERVICE --vpc-connector CONNECTOR_NAME

Подробнее об этом здесь

Подключение из Cloud Run Managed к частным адресам VPC пока не поддерживается.

Эта функция находится в разработке и называется бессерверным доступом к VPC. Вы можете прочитать здесь.

Если у вас есть экземпляр Compute Engine, работающий в том же VPC с общедоступным IP-адресом, вы можете создать SSH-туннель для подключения к частным IP-адресам через общедоступный экземпляр. Это требует создания туннеля в вашем собственном коде, что легко сделать.

Другие вопросы по тегам