All Products
Search
Document Center

Container Compute Service:Sesuaikan aturan routing Ingress ALB

Last Updated:Mar 27, 2026

Aturan routing Ingress ALB terdiri dari kondisi dan aksi. Kondisi mencocokkan permintaan berdasarkan nama domain, path, header permintaan, string kueri, metode permintaan, cookie, atau alamat IP sumber. Aksi menentukan tindakan terhadap permintaan yang cocok: mengembalikan respons tetap, mengalihkan, menyisipkan atau menghapus header, mencerminkan traffic, meneruskan ke beberapa grup server backend, atau menulis ulang permintaan.

Prasyarat

Sebelum memulai, pastikan bahwa:

  • ALB Ingress Controller versi 2.5.0 atau lebih baru telah diinstal di kluster Anda. Untuk informasi selengkapnya, lihat Kelola komponen.

Konfigurasi aturan routing kustom dari konsol ALB sedang dalam rilis canary. Untuk mengaktifkan fitur ini, submit a ticket

Kondisi routing

Konfigurasikan kondisi routing menggunakan anotasi alb.ingress.kubernetes.io/conditions.<service-name>. Nilai <service-name> harus sesuai dengan nama Service pada bidang backend dalam rules Ingress.

Logika kondisi:

  • Blok kondisi ganda dalam satu aturan: AND (semua blok harus cocok)

  • Nilai ganda dalam satu blok kondisi: OR (salah satu nilai cocok)

Penting

Satu aturan routing mendukung paling banyak 10 kondisi. Jenis kondisi ResponseHeader dan ResponseStatusCode hanya berlaku untuk aturan routing arah keluar.

Tabel berikut mencantumkan semua jenis kondisi yang tersedia beserta templat anotasinya.

Kondisitype nilai
Nama domainHost
PathPath
Header permintaanHeader
String kueriQueryString
Metode permintaanMethod
CookieCookie
IP sumberSourceIp
Header respons (hanya arah keluar)ResponseHeader
Kode status respons (hanya arah keluar)ResponseStatusCode

Referensi kondisi

Domain name

Mengarahkan permintaan yang ditujukan ke nama domain tertentu. Nilai ganda menggunakan logika OR.

alb.ingress.kubernetes.io/conditions.host-example: |
  [{
    "type": "Host",
    "hostConfig": {
      "values": [
        "anno.example.com"
      ]
    }
  }]

Path

Mengarahkan permintaan yang dikirim ke path tertentu. Nilai ganda menggunakan logika OR.

alb.ingress.kubernetes.io/conditions.path-example: |
  [{
    "type": "Path",
    "pathConfig": {
      "values": [
        "/pathvalue1",
        "/pathvalue2"
      ]
    }
  }]

Header permintaan

Mengarahkan permintaan yang berisi pasangan kunci-nilai header tertentu. Nilai ganda untuk kunci yang sama menggunakan logika OR.

alb.ingress.kubernetes.io/conditions.http-header-example: |
  [{
    "type": "Header",
    "headerConfig": {
      "key": "headername",
      "values": [
        "headervalue1",
        "headervalue2"
      ]
    }
  }]

String kueri

Mengarahkan permintaan yang berisi pasangan kunci-nilai string kueri tertentu. Kunci dan nilai harus terdiri dari 1–100 karakter dan dapat berisi huruf kecil, karakter yang terlihat, *, dan ?. Spasi dan karakter # [] {} \ | <> & tidak diperbolehkan. Pasangan ganda menggunakan logika OR.

alb.ingress.kubernetes.io/conditions.query-string-example: |
  [{
    "type": "QueryString",
    "queryStringConfig": {
      "values": [
        {
          "key": "querystringkey1",
          "value": "querystringvalue2"
        }
      ]
    }
  }]

Metode permintaan

Mengarahkan permintaan yang menggunakan metode HTTP tertentu. Metode yang didukung: GET, POST, PUT, DELETE, HEAD, OPTIONS, dan PATCH. Nilai ganda menggunakan logika OR.

alb.ingress.kubernetes.io/conditions.http-method-example: |
  [{
    "type": "Method",
    "methodConfig": {
      "values": [
        "GET",
        "HEAD"
      ]
    }
  }]

Cookie

Mengarahkan permintaan yang berisi pasangan kunci-nilai cookie tertentu. Kunci dan nilai harus terdiri dari 1–100 karakter dan dapat berisi huruf kecil, karakter yang terlihat, *, dan ?. Spasi dan karakter # [] {} \ | <> & tidak diperbolehkan. Pasangan ganda menggunakan logika OR.

alb.ingress.kubernetes.io/conditions.http-cookie-example: |
  [{
    "type": "Cookie",
    "cookieConfig": {
      "values": [
        {
          "key": "cookiekey1",
          "value": "cookievalue2"
        }
      ]
    }
  }]

IP sumber

Mengarahkan permintaan dari rentang alamat IP sumber tertentu. Nilai ganda menggunakan logika OR.

Penting

Satu aturan routing mendukung paling banyak lima alamat IP sumber.

alb.ingress.kubernetes.io/conditions.source-ip-example: |
  [{
    "type": "SourceIp",
    "sourceIpConfig": {
      "values": [
        "192.168.0.0/16",
        "172.16.0.0/16"
      ]
    }
  }]

Header respons (hanya untuk aturan arah keluar)

Mencocokkan respons yang berisi header respons tertentu. Nilai ganda menggunakan logika OR.

alb.ingress.kubernetes.io/conditions.response-header-example: |
  [{
    "type": "ResponseHeader",
    "headerConfig": {
      "key": "headername",
      "values": [
        "headervalue1",
        "headervalue2"
      ]
    }
  }]

Response status code (hanya untuk aturan arah keluar)

Mencocokkan respons yang mengembalikan kode status HTTP tertentu. Nilai ganda menggunakan logika OR.

alb.ingress.kubernetes.io/conditions.response-code-example: |
  [{
    "type": "ResponseStatusCode",
    "responseStatusCodeConfig": {
      "values": [
        "statuscode1",
        "statuscode2"
      ]
    }
  }]

Contoh kondisi

Arahkan traffic berdasarkan IP sumber dan header permintaan

Ingress berikut mengarahkan permintaan ke gray-hello hanya jika ketiga kondisi terpenuhi: IP sumber berada dalam 192.168.0.0/16 atau 172.16.0.0/16, nilai header gray-hello adalah value1 atau value2, dan path-nya adalah /hello. Permintaan lainnya dialihkan ke Service lain.

alb.ingress.kubernetes.io/order menetapkan prioritas Ingress — nilai lebih rendah memiliki prioritas lebih tinggi.

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    alb.ingress.kubernetes.io/order: "1"
    alb.ingress.kubernetes.io/conditions.gray-hello: |
      [{
        "type": "Header",
        "headerConfig": {
          "key": "gray-hello",
          "values": [
            "value1",
            "value2"
          ]
        }
       },
       {
         "type": "SourceIp",
         "sourceIpConfig": {
           "values": [
             "192.168.0.0/16",
             "172.16.0.0/16"
           ]
         }
      }]
  name: gray-hello
spec:
  ingressClassName: alb
  rules:
    - http:
        paths:
          - path: /hello
            pathType: ImplementationSpecific
            backend:
              service:
                name: gray-hello
                port:
                  number: 88

Arahkan traffic berdasarkan nama domain, metode permintaan, dan cookie

Ingress berikut mengarahkan permintaan ke service-a hanya jika semua kondisi cocok: domain adalah www.hostvalue1.edu atau www.hostvalue2.edu, metodenya adalah GET atau HEAD, cookie cookiekey1 bernilai cookievalue1, dan path-nya adalah /test. Permintaan lainnya dialihkan ke service-b.

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    alb.ingress.kubernetes.io/conditions.service-a: |
      [{
        "type": "Cookie",
        "cookieConfig": {
          "values": [
            {
              "key": "cookiekey1",
              "value": "cookievalue1"
            }
          ]
        }
       },
       {
        "type": "Method",
        "methodConfig": {
          "values": [
            "GET",
            "HEAD"
          ]
        }
       },
       {
        "type": "Host",
        "hostConfig": {
          "values": [
            "www.hostvalue1.edu",
            "www.hostvalue2.edu"
          ]
        }
      }]
  name: ingress-example
spec:
  ingressClassName: alb
  rules:
    - http:
        paths:
          - path: /test
            pathType: ImplementationSpecific
            backend:
              service:
                name: service-a
                port:
                  number: 88
          - path: /test
            pathType: ImplementationSpecific
            backend:
              service:
                name: service-b
                port:
                  number: 88

Arahkan traffic berdasarkan string kueri, beberapa header permintaan, dan beberapa path

Ingress berikut mengarahkan permintaan ke service-a jika semua kondisi cocok: path adalah /pathvalue1, /pathvalue2, atau /test; string kueri querystringkey1 bernilai querystringvalue2; header headerkey1 bernilai headervalue1 atau headervalue2; dan header headerkey2 bernilai headervalue3 atau headervalue4. Permintaan lainnya dialihkan ke service-b.

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    alb.ingress.kubernetes.io/conditions.service-a: |
      [{
        "type": "Path",
        "pathConfig": {
          "values": [
            "/pathvalue1",
            "/pathvalue2"
          ]
        }
       },
       {
        "type": "QueryString",
        "queryStringConfig": {
          "values": [
            {
              "key": "querystringkey1",
              "value": "querystringvalue2"
            }
          ]
        }
       },
       {
        "type": "Header",
        "headerConfig": {
          "key": "headerkey1",
          "values": [
            "headervalue1",
            "headervalue2"
          ]
        }
       },
       {
        "type": "Header",
        "headerConfig": {
          "key": "headerkey2",
          "values": [
            "headervalue3",
            "headervalue4"
          ]
        }
      }]
  name: ingress-example
spec:
  ingressClassName: alb
  rules:
    - http:
        paths:
          - path: /test
            pathType: ImplementationSpecific
            backend:
              service:
                name: service-a
                port:
                  number: 88
          - path: /test
            pathType: ImplementationSpecific
            backend:
              service:
                name: service-b
                port:
                  number: 88

Aksi routing

Konfigurasikan aksi routing menggunakan anotasi alb.ingress.kubernetes.io/actions.<service-name>. Nilai <service-name> harus sesuai dengan nama Service pada bidang backend dalam rules Ingress.

Penting
  • Dalam aturan routing yang sama, Anda tidak dapat menggabungkan beberapa aksi terminasi. Respons tetap, pengalihan, dan penerusan ke beberapa grup server backend saling eksklusif.

  • Saat menggunakan respons tetap, pengalihan, atau penerusan ke beberapa grup server backend, atur nama servicePort pada bidang backend menjadi use-annotation.

Aksi untuk aturan routing inbound

AksiDeskripsi
Respons tetapMengembalikan konten tetap (kode status, tipe konten, dan badan) langsung ke client
PengalihanMengalihkan permintaan menggunakan kode status HTTP 3xx
Sisipkan header permintaanMenyisipkan atau menimpa header dalam permintaan
Hapus header permintaanMenghapus header dari permintaan
Mirroring Lalu LintasMenyalin traffic ke grup server tertentu
Teruskan ke beberapa grup server backendMendistribusikan permintaan ke grup server berdasarkan bobot
Tulis ulangMenulis ulang nama domain, path, atau string kueri
Pembatasan laju QPSMembatasi laju permintaan secara global atau per IP client

Aksi untuk aturan routing outbound

TindakanDeskripsi
Sisipkan header responsMenyisipkan atau menimpa header dalam respons
Hapus header responsMenghapus header dari respons

Contoh aksi

Kembalikan respons tetap dengan kode status 503

Gunakan konsol ACS

  1. Login ke konsol ACS. Di panel navigasi sebelah kiri, klik Clusters.

  2. Pada halaman Clusters, klik ID kluster target. Di panel navigasi sebelah kiri, pilih Network > Ingresses.

  3. Pada halaman Ingresses, klik Create Ingress dan konfigurasikan parameter berikut.

    ParameterDeskripsiContoh
    Gateway typePilih ALB atau MSE Ingress.ALB
    Application nameNama Ingress.ingress
    Ingress classKelas Ingress.alb
    Listener/PortPort dan protokol listener yang didefinisikan dalam AlbConfig.HTTP:80
    RulesKlik +Add Rule untuk mengonfigurasi nama domain, path, aturan pencocokan, Service, dan port.Nama domain: (kosong); Path: /; Aturan: Prefix; Service: response-503; Port: 80
    TLS settingsAktifkan autentikasi TLS.Disabled
    Custom forwarding rulesKlik +Add Rule untuk menambahkan kondisi dan aksi pengalihan. Maksimal 10 kondisi per aturan.Kondisi: Path (default); Aksi: Return fixed response — Kode status: 503, Tipe konten: text/plain, Konten: error
  4. Klik OK.

kubectl

Ingress berikut mengembalikan kode status 503 dengan isi 503 error text untuk semua permintaan ke /.

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  namespace: default
  name: ingress
  annotations:
    alb.ingress.kubernetes.io/actions.insert-header: |
      [{
        "type": "InsertHeader",
        "InsertHeaderConfig": {
          "key": "source",
          "value": "alibaba",
          "valueType": "UserDefined"
        }
      }]
spec:
  ingressClassName: alb
  rules:
    - http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: insert-header
                port:
                  number: 80

Parameter FixedResponseConfig:

ParameterDeskripsi
contentTypeTipe konten dari badan respons. Nilai yang valid: text/plain, text/css, text/html, application/javascript, application/json
httpCodeKode status HTTP yang dikembalikan ke client
contentIsi badan respons

Arahkan permintaan ke HTTPS menggunakan 301

Ingress berikut mengalihkan semua permintaan HTTP ke HTTPS menggunakan pengalihan permanen 301.

Penting

Setidaknya satu parameter pengalihan selain httpCode harus berbeda dari nilai default-nya.

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  namespace: default
  name: ingress
  annotations:
    alb.ingress.kubernetes.io/actions.redirect: |
      [{
        "type": "Redirect",
        "RedirectConfig": {
          "host": "${host}",
          "path": "${path}",
          "port": "${port}",
          "protocol": "https",
          "query": "${query}",
          "httpCode": "301"
        }
      }]
spec:
  ingressClassName: alb
  rules:
    - http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: redirect
                port:
                  name: use-annotation # Harus use-annotation untuk aksi pengalihan

Parameter RedirectConfig:

ParameterDeskripsi
hostNama domain tujuan pengalihan. Gunakan ${host} untuk mempertahankan aslinya.
pathPath tujuan pengalihan. Gunakan ${path} untuk mempertahankan aslinya.
portPort tujuan pengalihan. Gunakan ${port} untuk mempertahankan aslinya.
protocolProtokol permintaan yang dialihkan (misalnya, https). Gunakan ${protocol} untuk mempertahankan aslinya.
queryString kueri permintaan yang dialihkan. Gunakan ${query} untuk mempertahankan aslinya.
httpCodeKode status HTTP untuk pengalihan (misalnya, 301, 302).

Sisipkan header permintaan

Ingress berikut menyisipkan header source: alibaba ke semua permintaan sebelum meneruskannya ke backend. Jika header tersebut sudah ada, nilainya akan ditimpa.

Nama Service dalam anotasi harus sesuai dengan nama Service pada bidang backend.
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  namespace: default
  name: ingress
  annotations:
    alb.ingress.kubernetes.io/actions.insert-header: |
      [{
        "type": "InsertHeader",
        "InsertHeaderConfig": {
          "key": "source",
          "value": "alibaba",
          "valueType": "UserDefined"
        }
      }]
spec:
  ingressClassName: alb
  rules:
    - http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: insert-header
                port:
                  number: 80

Cerminkan traffic ke grup server

Ingress berikut mencerminkan semua traffic yang cocok dengan demo.domain.ingress.top/test ke grup server tertentu sambil tetap meneruskan permintaan aslinya secara normal.

Penting
  • Pencerminan traffic dapat digabungkan dengan aksi forward, sisipkan header, hapus header, dan pembatasan laju QPS. Aksi ini saling eksklusif dengan aksi rewrite, respons tetap, dan pengalihan.

  • Tentukan grup server target hanya menggunakan ServerGroupID.

Untuk mendapatkan ID grup server, login ke konsol Server Load Balancer (SLB), pilih ALB > Server Groups, lalu temukan ID-nya di halaman Server Groups.

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: traffic-mirror-ingress
  annotations:
    # Nama Service dalam anotasi harus sesuai dengan nama Service pada bidang backend.
    alb.ingress.kubernetes.io/actions.traffic-mirror: |
      [{
        "type": "TrafficMirror",
        "TrafficMirrorConfig": {
          "TargetType": "ForwardGroupMirror",
          "MirrorGroupConfig": {
            "ServerGroupTuples": [{
              "ServerGroupID": "sgp-2auud2fxj1r46*****"
            }]
          }
        }
      }]
spec:
  ingressClassName: alb
  rules:
    - host: demo.domain.ingress.top
      http:
        paths:
          - path: /test
            pathType: Prefix
            backend:
              service:
                name: traffic-mirror
                port:
                  number: 80

Teruskan permintaan ke beberapa grup server backend

Distribusikan permintaan ke beberapa grup server backend berdasarkan bobot.

Penting
  • Instans ALB standar mendukung paling banyak lima grup server backend.

  • Jika ServerGroupID dan ServiceName/ServicePort diatur untuk entri yang sama, ServerGroupID memiliki prioritas lebih tinggi.

Gunakan konsol ACS

  1. Login ke konsol ACS. Di panel navigasi sebelah kiri, klik Clusters.

  2. Pada halaman Clusters, klik ID kluster target. Di panel navigasi sebelah kiri, pilih Network > Ingresses.

  3. Pada halaman Ingresses, klik Create Ingress dan konfigurasikan parameter berikut.

    Jika Anda memilih Forward To sebagai aksi, Anda tidak perlu mengonfigurasi parameter Mappings di bagian Rules. Kluster yang menggunakan komponen Flannel tidak mendukung Service ClusterIP.
    ParameterDeskripsiContoh
    Gateway typePilih ALB atau MSE Ingress.ALB
    Application nameNama Ingress.forward-ingress
    Ingress classKelas Ingress.alb
    Listener/PortPort dan protokol listener.HTTP:80
    RulesKlik +Add Rule untuk mengatur nama domain, path, Service, dan port.Nama domain: demo.domain.ingress.top; Path: /path; Aturan: Prefix; Service: forward; Port: 80
    TLS settingsAktifkan autentikasi TLS.Disabled
    Custom forwarding rulesKondisi: Domain name = demo.domain.ingress.top. Aksi: Forward to — Service: tea-svc, Port: 80, Bobot: 80; tambahkan Service kedua: coffee-svc, Port: 80, Bobot: 20.Lihat contoh nilai
  4. Klik OK.

kubectl

Ingress berikut mendistribusikan permintaan yang cocok dengan demo.domain.ingress.top/path ke tea-svc (bobot 80) dan coffee-svc (bobot 20).

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: forward-ingress
  annotations:
    # Nama Service dalam anotasi harus sesuai dengan nama Service pada bidang backend.
    alb.ingress.kubernetes.io/actions.forward: |
      [{
        "type": "ForwardGroup",
        "ForwardConfig": {
          "ServerGroups": [{
            "ServiceName": "tea-svc",
            "Weight": 80,
            "ServicePort": 80
          },
          {
            "ServiceName": "coffee-svc",
            "Weight": 20,
            "ServicePort": 80
          }]
        }
      }]
spec:
  ingressClassName: alb
  rules:
    - host: demo.domain.ingress.top
      http:
        paths:
          - path: /path
            pathType: Prefix
            backend:
              service:
                name: forward
                port:
                  name: use-annotation # Harus use-annotation untuk aksi forward

Untuk mereferensikan grup server yang sudah ada berdasarkan ID alih-alih nama Service, gunakan ServerGroupID dan Weight:

alb.ingress.kubernetes.io/actions.forward: |
  [{
    "type": "ForwardGroup",
    "ForwardConfig": {
      "ServerGroups": [{
        "ServerGroupID": "sgp-71aexb9y93ypo*****",
        "Weight": 80
      },
      {
        "ServerGroupID": "sgp-slygpbvm2cydo*****",
        "Weight": 20
      }]
    }
  }]

Tulis ulang nama domain, path, atau string kueri

Ingress berikut menulis ulang nama domain menjadi demo.domain.ingress.top, path menjadi /test, dan string kueri menjadi querystring untuk semua permintaan yang cocok dengan /path.

Penting
  • Aksi rewrite bertentangan dengan anotasi rewrite-target. Jangan gunakan keduanya sekaligus.

  • Rewrite tidak dapat digabungkan dengan aksi respons tetap atau pengalihan.

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  namespace: default
  name: rewrite-ingress
  annotations:
    alb.ingress.kubernetes.io/actions.rewrite: |
      [{
        "type": "Rewrite",
        "RewriteConfig": {
          "Host": "demo.domain.ingress.top",
          "Path": "/test",
          "Query": "querystring"
        }
      }]
spec:
  ingressClassName: alb
  rules:
    - http:
        paths:
          - path: /path
            pathType: Prefix
            backend:
              service:
                name: rewrite
                port:
                  number: 80

Untuk informasi selengkapnya tentang aturan rewrite, lihat Konfigurasi aturan penulisan ulang.

Modifikasi header respons berdasarkan nilai header respons

Secara default, aturan routing kustom berlaku untuk lalu lintas masuk. Untuk menerapkan aturan pada lalu lintas keluar (respons), atur alb.ingress.kubernetes.io/rule-direction.<service-name> menjadi Response.

Penting

Untuk aturan routing arah keluar, atur nama servicePort pada bidang backend menjadi use-annotation.

Ingress berikut menyisipkan header source: alibaba ke respons ketika respons tersebut sudah berisi header response-hello dengan nilai value1 atau value2.

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    alb.ingress.kubernetes.io/rule-direction.response-header: Response
    alb.ingress.kubernetes.io/conditions.response-header: |
      [{
        "type": "ResponseHeader",
        "responseHeaderConfig": {
          "key": "response-hello",
          "values": [
            "value1",
            "value2"
          ]
        }
      }]
    alb.ingress.kubernetes.io/actions.response-header: |
      [{
        "type": "InsertHeader",
        "InsertHeaderConfig": {
          "key": "source",
          "value": "alibaba",
          "valueType": "UserDefined"
        }
      }]
  name: response-header
spec:
  ingressClassName: alb
  rules:
    - http:
        paths:
          - path: /
            pathType: ImplementationSpecific
            backend:
              service:
                name: response-header
                port:
                  name: use-annotation # Harus use-annotation untuk aturan routing arah keluar

Hapus header respons berdasarkan kode status respons

Ingress berikut menghapus header response-hello dari respons yang mengembalikan kode status 200 atau 300.

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    alb.ingress.kubernetes.io/rule-direction.response-hello: Response
    alb.ingress.kubernetes.io/conditions.response-hello: |
      [{
        "type": "ResponseStatusCode",
        "responseStatusCodeConfig": {
          "values": [
            "200",
            "300"
          ]
        }
      }]
    alb.ingress.kubernetes.io/actions.response-hello: |
      [{
        "type": "RemoveHeader",
        "RemoveHeaderConfig": {
          "key": "response-hello"
        }
      }]
  name: response-hello
spec:
  ingressClassName: alb
  rules:
    - http:
        paths:
          - path: /*
            pathType: ImplementationSpecific
            backend:
              service:
                name: response-hello
                port:
                  name: use-annotation # Harus use-annotation untuk aturan routing arah keluar

Batasi laju permintaan dengan Pembatasan laju QPS

Tetapkan batas laju permintaan global, batas laju per IP client, atau keduanya. Aksi Pembatasan laju QPS harus digabungkan dengan aksi forward.

Penting
  • Nilai yang valid untuk QPS dan QPSPerIp: 1 hingga 1.000.000.

  • Jika QPS dan QPSPerIp diatur, QPSPerIp harus lebih kecil dari QPS.

  • Saat batas laju terlampaui, instans ALB menolak koneksi baru dan mengembalikan HTTP 503.

  • Untuk menggunakan QPSPerIp (pembatasan laju per IP), aktifkan opsi untuk mengambil alamat IP client di halaman detail listener agar instans ALB dapat membaca header X-Forwarded-For. Untuk informasi selengkapnya, lihat XForwardedForConfig.

annotations:
  alb.ingress.kubernetes.io/actions.traffic-limit: |
    [{
      "type": "TrafficLimit",
      "TrafficLimitConfig": {
        "QPS": "1000",
        "QPSPerIp": "100"
      }
    }]
ParameterDeskripsi
QPSBatas laju permintaan global (permintaan per detik). Saat terlampaui, koneksi baru ditolak dan HTTP 503 dikembalikan.
QPSPerIpBatas laju permintaan per IP client (permintaan per detik). Harus lebih kecil dari QPS jika keduanya diatur. Saat terlampaui, koneksi baru ditolak dan HTTP 503 dikembalikan.