J'ai 2 instances de Google Compute Engine et je veux ouvrir le port 9090 dans les deux instances. Je pense que nous devons ajouter des règles de pare-feu.
Pouvez-vous me dire comment puis-je faire ça?
Tu dois:
Aller sur cloud.google.com
Aller à ma console
Choisissez votre projet
Choisissez Réseau> Réseau VPC
Choisissez "Règles de pare-feu"
Choisissez "Créer une règle de pare-feu"
Pour appliquer la règle afin de sélectionner VM instances, sélectionnez Cibles> "Balises cibles spécifiées", puis entrez dans "Balises cibles" le nom de la balise. Cette balise sera utilisée pour appliquer la nouvelle règle de pare-feu à l'instance de votre choix. Ensuite, assurez-vous que la balise de réseau est appliquée aux instances.
Pour autoriser les connexions TCP entrantes sur le port 9090, dans "Protocoles et ports", entrez tcp:9090
Cliquez sur Créer
J'espère que ceci vous aide.
Mise à jour Veuillez vous référer à docs pour personnaliser vos règles.
Voici l'approche en ligne de commande pour répondre à cette question:
gcloud compute firewall-rules create <rule-name> --allow tcp:9090 --source-tags=<list-of-your-instances-names> --source-ranges=0.0.0.0/0 --description="<your-description-here>"
Cela ouvrira le port 9090
pour les instances que vous nommez. Si vous omettez --source-tags
et --source-ranges
, la règle sera appliquée à toutes les instances. Plus de détails sont dans le documentation Gcloud et le manuel de commande firewall-rule create
Les réponses précédentes sont excellentes, mais Google le recommande en utilisant les nouvelles commandes gcloud
au lieu des commandes gcutil
.
PS: pour avoir une idée des règles de pare-feu de Google, lancez gcloud compute firewall-rules list
et affichez toutes vos règles de pare-feu.
Vous devez ajouter une règle de pare-feu pour ouvrir un accès entrant à tcp:9090
à vos instances. Si vous avez plus que les deux instances et que vous voulez seulement ouvrir 9090 avec ces deux-là, assurez-vous qu'il existe une balise que ces deux instances partagent. Vous pouvez ajouter ou mettre à jour des balises via la console ou la ligne de commande. Si nécessaire, je vous recommande d'utiliser l'interface graphique car elle gère le cycle lecture-modification-écriture avec setinstancetags
.
Si vous souhaitez ouvrir le port 9090 à toutes les instances, vous pouvez créer une règle de pare-feu comme celle-ci:
gcutil addfirewall allow-9090 --allowed=tcp:9090
qui s'appliquera à toutes vos instances.
Si vous souhaitez uniquement ouvrir le port 9090 sur les deux instances qui desservent votre application, assurez-vous qu'elles ont une balise telle que my-app
, puis ajoutez un pare-feu comme suit:
gcutil addfirewall my-app-9090 --allowed=tcp:9090 --target_tags=my-app
Vous pouvez en savoir plus sur création et gestion de pare-feu dans GCE ici .
Cette question est ancienne et la réponse de Carlos Rojas est bonne, mais je pense que je devrais publier quelques éléments à garder à l'esprit lors de la tentative d'ouverture des ports.
La première chose à retenir est que la section Mise en réseau est renommée en Mise en réseau VPC . Donc, si vous essayez de savoir où l’option Règles de pare-feu est disponible, consultez le réseau VPC .
Deuxièmement, si vous essayez d'ouvrir des ports sur une machine virtuelle Linux, assurez-vous que vous ne devez en aucun cas essayer d'ouvrir un port à l'aide de la commande ufw
. J'ai essayé de l'utiliser et j'ai perdu l'accès ssh à la machine virtuelle. Alors ne répétez pas mon erreur.
Troisièmement, si vous essayez d'ouvrir des ports sur une machine virtuelle Windows, vous devez créer des règles de pare-feu à l'intérieur de la VM également dans du pare-feu Windows avec la mise en réseau VPC -> Règles de pare-feu . Le port doit être ouvert dans les deux règles de pare-feu, contrairement à la machine virtuelle Linux. Par conséquent, si vous n'avez pas accès au port de l'extérieur de la machine virtuelle, vérifiez si vous avez ouvert le port dans la console GCP et le pare-feu Windows.
La dernière chose (évidente) est de ne pas ouvrir les ports inutilement. Fermez les ports dès que vous n'en avez plus besoin.
J'espère que cette réponse est utile.
J'ai eu le même problème que vous et je pouvais le résoudre en suivant les instructions de @CarlosRojas avec une petite différence. Au lieu de créer une nouvelle règle de pare-feu, j'ai modifié la règle default-allow-internal
pour accepter le trafic n'importe où, car la création de nouvelles règles ne faisait aucune différence.
Création de règles de pare-feu
Veuillez examiner les composants de la règle de pare-feu [1] si vous n'êtes pas familiarisé avec les règles de pare-feu dans GCP. Les règles de pare-feu sont définies au niveau du réseau et ne s'appliquent qu'au réseau sur lequel elles ont été créées. Cependant, le nom que vous choisissez pour chacun d'eux doit être unique pour le projet.
Pour la console cloud:
Spécifiez les cibles de la règle.
Pour une règle d'entrée, spécifiez le filtre Source:
Pour une règle de sortie, spécifiez le filtre Destination:
Définissez les protocoles et les ports auxquels la règle s'appliquera:
Sélectionnez Tout autoriser ou Tout refuser, selon l'action, pour que la règle s'applique à tous les protocoles et à tous les ports.
Définir des protocoles et des ports spécifiques:
(Facultatif) Vous pouvez créer la règle de pare-feu mais ne pas l’appliquer en définissant son état d’application sur désactivé. Cliquez sur Désactiver la règle, puis sélectionnez Désactivé.
(Facultatif) Vous pouvez activer la journalisation des règles de pare-feu:
Cliquez sur Créer.
Lien: [1] https://cloud.google.com/vpc/docs/firewalls#firewall_rule_components
J'ai dû résoudre ce problème en diminuant la priorité (le rendant plus élevé). Cela a provoqué une réponse immédiate. Pas ce à quoi je m'attendais, mais cela a fonctionné.