Comment résoudre ResourceErrorCode : 400 lors du déploiement d'une ressource de pare-feu avec Google Cloud Deployment Manager

Aug 17 2020

J'essaie de déployer une seule ressource de pare-feu avec Google Cloud Deployment Manager. Je souhaite que le pare-feu empêche uniquement ma propre adresse IP d'accéder à mon application App Engine déjà déployée surhttps://cloudfunctiongateway.uc.r.appspot.com/. Cependant, j'obtiens une erreur :

  location: /deployments/firewall-deployment2/resources/app-firewall
  message: '{"ResourceType":"compute.v1.firewall","ResourceErrorCode":"400","ResourceErrorMessage":{"code":400,"message":"Request
    contains an invalid argument.","status":"INVALID_ARGUMENT","statusMessage":"Bad
    Request","requestPath":"https://compute.googleapis.com/compute/v1/projects/cloudfunctiongateway/global/firewalls","httpMethod":"POST"}}'

Voici mon fichier de configuration en firewall.yaml:

resources:
- type: compute.v1.firewall
  name: app-firewall
  properties:
    network: https://cloudfunctiongateway.uc.r.appspot.com/
    denied:
      - IPProtocol: 33.27.10.123 # a fake ip address, I use my real one
    sourceRanges: [ 0.0.0.0/0 ]

Et j'exécute cette commande dans le même répertoire:

gcloud deployment-manager deployments create firewall-deployment --config firewall.yaml

J'ai même essayé de déployer avec juste ceci dans mon fichier de configuration :

resources:
- type: compute.v1.firewall
  name: app-firewall

Mais toujours le même message d'erreur. Aucun moyen de réparer cela? Remarque Je souhaite pouvoir le faire avec Deployment Manager. Je sais déjà que je peux configurer manuellement un pare-feu à partir du tableau de bord App Engine.

Réponses

Wojtek_B Aug 27 2020 at 21:13

Ce dont vous avez réellement besoin, c'est de créer une règle de pare-feu pour l'application App Engine qui est différente du pare-feu GCP - ce sont deux choses différentes.

Donc - pour ce faire, essayez d'exécuter ceci:

resources:
- name: dmapprule1
  type: gcp-types/appengine-v1:apps.firewall.ingressRules
  properties:
    appsId: 00c61b117c74f1a3bbcb4900df618a4c4ae211790ade0822a63cb492d671f318776a5a
    priority: 1000
    action: "DENY"
    source_range: "0.0.0.0/0"

et exécutez-le avecgcloud deployment-manager deployments create firewall-deployment --config firewall.yaml

METTRE À JOUR

Pour voir une liste complète des types pris en charge, utilisez gcloud beta deployment-manager types list(la liste des versions bêta est beaucoup plus complète).