Как получить открытый порт (брандмауэр) экземпляра в GCP, используя gcloud? - PullRequest
0 голосов
/ 21 июня 2019

Например, у меня есть экземпляр с именем test, теперь мне нужно знать, какой порт открыт для этого экземпляра.Как это сделать в командной строке, используя gcloud?

Не порт, открытый внутри экземпляра, а брандмауэры GCP, подключенные к этому экземпляру.

Ответы [ 3 ]

1 голос
/ 21 июня 2019

Используя Cloud Console, мы можем составить список ваших экземпляров виртуальных машин. Если мы нажмем на вертикальные «три точки», мы найдем запись, которая называется «Просмотр сведений о сети». Оттуда мы видим панель, которая выглядит как:

enter image description here

Это, кажется, показывает все правила для брандмауэра для этого экземпляра виртуальной машины.

1 голос
/ 21 июня 2019

Можно просмотреть правила брандмауэра, связанные с экземпляром, используя облачную оболочку, но в 2 этапа. Сначала нам нужно выполнить следующую команду, чтобы получить подробную информацию об экземплярах для просмотра тегов брандмауэра:
gcloud compute instances describe instance-name
В выводе вы увидите теги брандмауэра, подобные следующим:

вывод вышеуказанной команды

затем выполните следующую команду, чтобы увидеть, к какому правилу брандмауэра прикреплены эти теги.

gcloud compute firewall-rules list --format="table(name,network,
          direction,priority,sourceRanges.list():label=SRC_RANGES,
          destinationRanges.list():label=DEST_RANGES,
          allowed[].map().firewall_rule().list():label=ALLOW,
          denied[].map().firewall_rule().list():label=DENY,
          sourceTags.list():label=SRC_TAGS,
          sourceServiceAccounts.list():label=SRC_SVC_ACCT,
          targetTags.list():label=TARGET_TAGS,
          targetServiceAccounts.list():label=TARGET_SVC_ACCT,
          disabled
      )"

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

1 голос
/ 21 июня 2019

В Cloud SDK нет команды для этого требования.Вы можете использовать gcloud для вывода списка правил межсетевого экрана, вы можете использовать gcloud для отображения списка вычислительных экземпляров.Вам нужно будет применить внешнюю логику, чтобы сопоставить их вместе.

Правила брандмауэра связаны с экземплярами механизма вычислений несколькими способами:

  • По целевому тегу
  • По служебной учетной записи
  • Для всех экземпляров в сети

Поэтому сначала выведите на экран все экземпляры вычислительного механизма, извлеките учетную запись и теги каждой службы.Затем отобразите все правила брандмауэра, выберите цели для каждого правила.Затем сопоставьте все вместе и напечатайте список открытых портов для экземпляра или всех экземпляров.

Это слишком сложная задача для CLI.Для этого вам нужно либо написать программу, либо реализовать скрипт для обработки, сортировки и синхронизации выходов CLI.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...