So beheben Sie ResourceErrorCode: 400 beim Bereitstellen einer Firewall-Ressource mit Google Cloud Deployment Manager

Aug 17 2020

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

Wojtek_B Aug 27 2020 at 21:13

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).