Я использую Compute Engine в качестве своей основной машины для разработки, я хотел бы начать тестирование своего приложения, однако, если я назначу ему внешний IP-адрес, тогда он будет открыт для общедоступной сети, что является моей проблемой конфиденциальности.
Предполагая, что я не буду обращаться к этому экземпляру каждый раз с одного и того же IP-адреса, как я могу тестировать HTTP-запросы для разработки, которую я делаю?
Ваша проблема в том, что ваш IP-адрес не фиксирован.
Первый способ — настроить брандмауэр Google VPC на ваш текущий IP-адрес. Затем, когда ваш IP-адрес изменится, обновите правило брандмауэра VPC. Это самый простой способ, который занимает всего минуту или две, но вы должны делать это каждый раз, когда ваш адрес меняется.
Если ваш общедоступный IP-адрес меняется, но находится в диапазоне, вы можете настроить правило брандмауэра с блоком CIDR вместо одного IP-адреса.
Предпочтительный метод — не назначать экземпляру общедоступный IP-адрес. Установите VPN-шлюз в своем VPC и VPN-клиент на своем рабочем столе. Затем ваш веб-браузер и инструменты будут использовать VPN для подключения к частному IP-адресу. В Google Marketplace есть бесплатное программное обеспечение VPN, такое как OpenVPN, которым я пользуюсь. Вы просто платите за время экземпляра, которое вы можете отключить, когда вам не нужен VPN.
Есть более сложные методы, такие как авторизация по токену, но это излишне для тестирования веб-сервера.
Вы можете использовать переадресацию портов ssh для настройки прокси-сервера с вашего ноутбука на машину. Если вы используете Mac или Linux ssh
, для перенаправления порта 8080 с вашего локального компьютера на виртуальную машину (из документации gcloud) должно работать что-то вроде следующего:
gcloud compute ssh --ssh_flag = "-L 80:%INSTANCE%:80"
После того, как вы это настроите, вы сможете получить доступ к серверу по адресу http://локальный хост: 8080/ на своем ноутбуке.