So beheben Sie ResourceErrorCode: 400 beim Bereitstellen einer Firewall-Ressource mit Google Cloud Deployment Manager
Ich versuche, eine einzelne Firewall-Ressource mit Google Cloud Deployment Manager bereitzustellen. Ich möchte, dass die Firewall nur meine eigene IP-Adresse daran hindert, auf meine bereits bereitgestellte App Engine-App zuzugreifenhttps://cloudfunctiongateway.uc.r.appspot.com/. Allerdings bekomme ich einen Fehler:
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"}}'
Hier ist meine Konfigurationsdatei in 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 ]
Und ich führe diesen Befehl im selben Verzeichnis aus:
gcloud deployment-manager deployments create firewall-deployment --config firewall.yaml
Ich habe sogar versucht, dies in meiner Konfigurationsdatei bereitzustellen:
resources:
- type: compute.v1.firewall
name: app-firewall
Bekomme aber immer noch die gleiche Fehlermeldung. Gibt es eine Möglichkeit, dies zu beheben? Hinweis Ich möchte dies mit Deployment Manager tun können. Ich weiß bereits, dass ich eine Firewall manuell über das App Engine-Dashboard einrichten kann.
Antworten
Was Sie tatsächlich brauchen, ist das Erstellen einer Firewallregel für die App Engine- Anwendung, die sich von der GCP-Firewall unterscheidet – das sind zwei verschiedene Dinge.
Also - um dies zu tun, versuchen Sie Folgendes:
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"
und führe es mit ausgcloud deployment-manager deployments create firewall-deployment --config firewall.yaml
AKTUALISIEREN
Um eine vollständige Liste der unterstützten Typen anzuzeigen, verwenden Sie gcloud beta deployment-manager types list(die Liste der Beta-Versionen ist viel umfassender).