Come risolvere ResourceErrorCode: 400 quando si distribuisce una risorsa firewall con Google Cloud Deployment Manager

Aug 17 2020

Sto cercando di implementare una singola risorsa firewall con Google Cloud Deployment Manager. Voglio che il firewall blocchi solo il mio indirizzo IP dall'accesso alla mia app App Engine già distribuitahttps://cloudfunctiongateway.uc.r.appspot.com/. Tuttavia, sto ricevendo un errore:

  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"}}'

Ecco il mio file di configurazione 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 ]

E sto eseguendo questo comando nella stessa directory:

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

Ho anche provato a distribuire solo con questo nel mio file di configurazione:

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

Ma continua a ricevere lo stesso messaggio di errore. Qualche modo per risolvere questo problema? Nota Voglio essere in grado di farlo con Deployment Manager. So già che posso configurare manualmente un firewall dalla dashboard di App Engine.

Risposte

Wojtek_B Aug 27 2020 at 21:13

Ciò di cui hai effettivamente bisogno è creare una regola firewall per l'applicazione App Engine che è una cosa diversa dal firewall GCP: sono due cose diverse.

Quindi, per fare ciò, prova a eseguire questo:

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"

ed eseguilo congcloud deployment-manager deployments create firewall-deployment --config firewall.yaml

AGGIORNARE

Per visualizzare un elenco completo dei tipi supportati utilizzare gcloud beta deployment-manager types list(l'elenco delle versioni beta è molto più completo).