Не удается подключиться между 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-адресам через общедоступный экземпляр. Это требует создания туннеля в вашем собственном коде, что легко сделать.