Как включить HTTP-трафик для шаблонов экземпляров GCE?
Как при создании шаблона экземпляра в Google Compute Engine, как включить http-трафик для экземпляров, созданных из шаблона?
Я думал, что предоставление тега http будет работать, но, похоже, это не так.
3 ответа
Сеть по умолчанию в проекте поставляется с правилами брандмауэра по умолчанию "default-allow-http" и "default-allow-https", чтобы разрешить трафик через порты 80 и 443. Эти правила имеют целевой тег установки "http-сервер". При настройке шаблона экземпляра вы можете установить флажки "Разрешить HTTP-трафик" и "Разрешить HTTPS-трафик" из консоли разработчика, сделав так, чтобы правила брандмауэра по умолчанию были применены к новым экземплярам, созданным через этот шаблон экземпляра.
Следующее должно работать в теории, но на практике это не работает.
Одним из возможных решений является включение http-трафика для всех ваших экземпляров в этом проекте. Для этого из инструментов командной строки GCE запустите:
gcloud compute firewall-rules create FIREWALL_RULE --allow tcp:80
Мне не ясно, что установка правила для конкретного шаблона экземпляра возможна, но, надеюсь, кто-то исправит меня, если это так.
gcloud compute firewall-rules create FIREWALL_RULE --allow tcp:80,tcp:443
Эта команда должна это сделать
Одним из возможных решений является включение http-трафика для всех ваших экземпляров> в этом проекте. Для этого из инструментов командной строки GCE запустите:
gcloud compute firewall-rules create FIREWALL_RULE --allow tcp: 80
Я пробую вашу команду, но она не работает, потому что команда хочет имя экземпляра:
google130505_student@qwiklabs-gcp-286ef104ac93631b:~$ gcloud compute firewall-rules create FIREWALL_RULE --allow tcp:80
Creating firewall...failed.
ERROR: (gcloud.compute.firewall-rules.create) Could not fetch resource:
- Invalid value for field 'resource.name': 'FIREWALL_RULE'. Must be a match of regex '(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?)'
google130505_student@qwiklabs-gcp-286ef104ac93631b:~$ gcloud compute firewall-rules create gclab2 --allow tcp:80
Creating firewall.../Created [https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-286ef104ac93631b/global/firewalls/gclab2].
Creating firewall...done.
NAME NETWORK DIRECTION PRIORITY ALLOW DENY
gclab2 default INGRESS 1000 tcp:80
Итак, правильная команда:
gcloud compute firewall-rules create NAME_OF_YOUR_INSTANCE --allow tcp:80
Если запрос разрешает эту виртуальную машину в качестве сервера http или https, я просто успешно использовал:
cloud compute instances add-tags myvm1 --tags=http-server