Проблема. Я ищу гибкий способ переместить контейнер докера (хранящийся в GCR.IO) в управляемую службу на GCP:
- один контейнер докера
gcr.io/project/helloworld
с частными данными (скажем, облачным SQL-бэкендом) - не может встретиться с реальным миром. - набор IP-адресов, которым я хочу их предоставить: скажем, ["1.2.3.4", "2.3. 4.0 / 24 "].
Моя идеальная платформа будет работать в облачном режиме, но также работает GAE.
Я хочу развиваться гибким способом (скажем, развертываниес 2-3 строками кода), возможно ли запустить мой сервис тайно и все же супер легко? Мы не говорим об огромном производственном проекте, мы говорим о том, чтобы поиграть и написать POC, которым вы хотите безопасно поделиться через Интернет с несколькими друзьями, убедившись, что остальной мир получает 403.
То, что я пробовал до сих пор.
Единственное, что легко работает - это GCE vm с дружественной к докеру ОС (например, cos), где я могу настроить правила брандмауэра. Это работает, но это неудачное приложение-докер на одноразовой виртуальной машине. Машина работает вечно и умирает при перезагрузке, если я не стабилизирую ее при cron / запуске. Похоже, я делаю чужую работу.
Все остальное, что я пробовал до сих пор, провалилось:
- Cloud Run . Удивительно, но не могу настроить правила брандмауэра для него или Cloud Director, .. кажется, работает только с IAP, который является болезненным для установки.
- GAE . Работает с несколькими IP-адресами и не может отключать общедоступные IP-адреса или защищать их. Мне удалось получить IP-фильтрацию в приложении , но это кажется немного рискованным. Я не хочу доверять своим навыкам кодирования:
- Cloud Armor . Поддерживает только балансировщик нагрузки HTTPS, которого у меня нет. И я не имею указаний на MIG. Я хочу простоты.
- Traffic Director и мне нужен балансировщик HTTP L7. Но у меня есть докер-контейнер, на одной капсуле. Зачем мне LB?
- GKE. На самом деле это, кажется, работает: [1], но это не полностью управляется (мне нужно создать кластер, pods, ..)
Это недостаток продукта или я смотрю на неправильные продукты? Какой самый простой способ добиться того, чего я хочу?
[1] как добавить правило брандмауэра в службу gke?