Cara menyelesaikan ResourceErrorCode: 400 saat menerapkan sumber daya firewall dengan Google Cloud Deployment Manager

Aug 17 2020

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

Wojtek_B Aug 27 2020 at 21:13

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