GNU/Linux >> Tutoriels Linux >  >> Linux

Quelle est la commande gcloud pour autoriser le trafic http sur une instance de VM ? (Il ne s'agit pas de créer une règle de pare-feu !)

Résolu. Je ne comprends pas tout à fait ce qui se passe dans les coulisses, mais la solution à cela nécessite l'utilisation de "balises" qui associent les règles de pare-feu sur le réseau à l'instance de VM. Pour autant que je puisse voir à ce stade, cela n'est pertinent que pour http et https. Les autres ports ouverts sur le réseau et la VM semblent fonctionner sans cette pièce supplémentaire.

Si vous affichez vos règles de pare-feu, vous verrez probablement que les règles des ports 80 et 443 ont respectivement les balises "http-server" et "https-server". Si ce n'est pas le cas, vous devrez les ajouter (ou d'autres balises de votre choix). Il s'avère que l'instance a également besoin de ces balises.

Pour ajouter les balises à une instance de VM existante, utilisez cette commande gcloud :

gcloud compute instances add-tags [YOUR_INSTANCE_NAME] --tags http-server,https-server

Pour ajouter les tags au moment de la création de l'instance, incluez cet indicateur dans votre déclaration :

gcloud compute instances create [YOUR_INSTANCE_NAME] --tags http-server,https-server

Si vous regardez dans l'interface graphique de GCE, vous verrez que les cases "Autoriser le trafic http" et "Autoriser le trafic https" sont cochées après cela. Les demandes et les réponses circulent ensuite sur les ports 80 et 443 comme prévu.


L'une des choses les plus utiles offertes par Google Cloud Console est un lien au bas de la création pour la plupart des ressources pour l'API REST et la ligne de commande pour créer la même ressource. Je me mets au défi de pouvoir faire tout ce que je peux faire dans la console à partir de la ligne de commande du SDK. Je l'utilise donc souvent lorsque j'ai une question comme la vôtre.

Ayant la même question que ci-dessus, dans la console, j'ai créé une machine virtuelle et sélectionné "Autoriser le trafic HTTP". En regardant la ligne de commande pour cela, vous verrez deux commandes. La première est la commande create avec la balise comme indiqué ci-dessus (serveur http) :

gcloud beta compute --project=XXXX instances create cgapperi-vm1 \
--zone=XXXXX --machine-type=f1-micro --subnet=default \
--tags=http-server --image=debian-10-buster-v20200413 \
--image-project=debian-cloud --boot-disk-size=10GB \
--boot-disk-type=pd-standard --boot-disk-device-name=cgapperi-vm1 \
--no-shielded-secure-boot --shielded-vtpm --shielded-integrity-monitoring \
--reservation-affinity=any

La seconde crée en fait la règle de pare-feu (default-allow-http ) pour vous et définit la cible des requêtes sur la balise http-server (--target-tags=http-server ) sur le port tcp 80 (--rules=tcp:80 ) des requêtes entrantes (--direction=INGRESS ) de toutes les sources (--source-ranges=0.0.0.0/0 ):

gcloud compute --project=XXXX firewall-rules create default-allow-http \
--direction=INGRESS --priority=1000 --network=default --action=ALLOW \
--rules=tcp:80 --source-ranges=0.0.0.0/0 --target-tags=http-server

J'espère que cela sera utile à quelqu'un d'autre.

REMARQUE : J'ai réduit la sortie du gcloud compute instance create aux bits pertinents afin de réduire l'encombrement.


Linux
  1. Gérer le pare-feu Windows Server 2012

  2. Quelle est la magie de - (un tiret) dans les paramètres de ligne de commande ?

  3. Changé le PATH, maintenant je reçois une commande introuvable pour tout

  4. Qu'est-ce que la commande d'exportation est censée faire sous Linux ?

  5. A quoi sert l'option -o dans la commande useradd ?

Qu'est-ce que la commande Linux Watch + Exemples

Useradd vs Adduser :quelle est la différence ?

Qu'est-ce que la commande kill sous Linux ?

HTTP vs HTTPS :quelle est la différence ?

Créer une règle d'autorisation de port entrant pour le pare-feu Windows 2008

useradd vs adduser :quelles sont les différences ?