Cara menyelesaikan ResourceErrorCode: 400 saat menerapkan sumber daya firewall dengan Google Cloud Deployment Manager
Saya mencoba menerapkan satu sumber daya firewall dengan Google Cloud Deployment Manager. Saya ingin firewall memblokir hanya alamat ip saya sendiri agar tidak mengakses aplikasi App Engine saya yang sudah diterapkan dihttps://cloudfunctiongateway.uc.r.appspot.com/. Namun, saya mendapatkan kesalahan:
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"}}'
Ini file konfigurasi saya di 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 ]
Dan saya menjalankan perintah ini di direktori yang sama:
gcloud deployment-manager deployments create firewall-deployment --config firewall.yaml
Saya bahkan telah mencoba menerapkan hanya dengan ini di file konfigurasi saya:
resources:
- type: compute.v1.firewall
name: app-firewall
Namun tetap mendapatkan pesan kesalahan yang sama. Adakah cara untuk memperbaikinya? Catatan Saya ingin dapat melakukan ini dengan Deployment Manager. Saya sudah tahu bahwa saya dapat menyiapkan firewall secara manual dari Dasbor App Engine.
Jawaban
Yang sebenarnya Anda butuhkan adalah membuat aturan firewall untuk aplikasi App Engine yang berbeda dari GCP Firewall - itu adalah dua hal yang berbeda.
Jadi - untuk melakukan ini coba jalankan ini:
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"
dan menjalankannya dengan gcloud deployment-manager deployments create firewall-deployment --config firewall.yaml
MEMPERBARUI
Untuk melihat daftar lengkap penggunaan jenis yang didukung gcloud beta deployment-manager types list
(daftar versi beta jauh lebih komprehensif).