Comment résoudre ResourceErrorCode : 400 lors du déploiement d'une ressource de pare-feu avec Google Cloud Deployment Manager
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
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).