Come risolvere ResourceErrorCode: 400 quando si distribuisce una risorsa firewall con Google Cloud Deployment Manager
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
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).