Menyiapkan pengelolaan traffic untuk Load Balancer Aplikasi eksternal regional

Dokumen ini menunjukkan contoh penggunaan pengelolaan traffic untuk beberapa kasus penggunaan tertentu. Ada banyak kasus penggunaan lainnya yang memungkinkan.

Dokumen ini berisi contoh untuk load balancer berikut:

  • Load Balancer Aplikasi eksternal regional
  • Load Balancer Aplikasi internal regional
  • Load Balancer Aplikasi internal lintas region

Load Balancer Aplikasi eksternal regional versus Load Balancer Aplikasi internal regional. Untuk konfigurasi pengelolaan traffic load balancer regional, dokumentasi API peta URL regional dan API layanan backend regional memberikan daftar lengkap kolom, termasuk semantik terkait hubungan, batasan, dan kardinalitas.

Satu-satunya perbedaan antara kedua load balancer ini adalah skema load balancing, sebagai berikut:

  • Load Balancer Aplikasi eksternal regional menggunakan EXTERNAL_MANAGED.
  • Load Balancer Aplikasi internal regional menggunakan INTERNAL_MANAGED.

Load Balancer Aplikasi internal regional versus Load Balancer Aplikasi internal lintas region. Untuk konfigurasi pengelolaan traffic:

Selain fitur perutean lanjutan yang dijelaskan di halaman ini, Load Balancer Aplikasi yang didukung terintegrasi dengan Service Extensions untuk memungkinkan Anda menyisipkan logika kustom ke dalam jalur data load balancing.

Sebelum memulai

Pastikan Anda memahami cara kerja pengelolaan traffic. Untuk mengetahui informasi selengkapnya, baca Ringkasan pengelolaan traffic untuk Load Balancer Aplikasi eksternal regional.

Mengonfigurasi pengelolaan traffic

Dalam lingkungan konfigurasi yang Anda pilih, siapkan pengelolaan traffic menggunakan konfigurasi YAML. Peta URL dan layanan backend masing-masing memiliki file YAML sendiri. Bergantung pada fungsi yang Anda inginkan, Anda harus menulis file YAML peta URL, file YAML layanan backend, atau keduanya.

Untuk mendapatkan bantuan dalam menulis file YAML ini, Anda dapat menggunakan contoh di halaman ini dan dokumentasi Cloud Load Balancing API.

Konsol tidak didukung. Google Cloud

Untuk Load Balancer Aplikasi internal regional dan Load Balancer Aplikasi eksternal regional, dokumentasi API peta URL regional dan dokumentasi API layanan backend regional memberikan daftar lengkap kolom, termasuk semantik terkait hubungan, batasan, dan kardinalitas.

Menggunakan contoh YAML di Google Cloud konsol

Untuk menggunakan contoh YAML di Google Cloud konsol:

  1. Di Google Cloud konsol, buka halaman Load balancing.

    Buka Load balancing

  2. Klik Create load balancer.
  3. Selesaikan langkah-langkah wizard untuk membuat regional external Application Load Balancer.
  4. Dalam konfigurasi Routing rules, pilih Advanced host and path rule.
  5. Klik Add host and path rule.
  6. Lakukan salah satu hal berikut:
    • Di kotak Path matcher, tempel contoh YAML dari dokumen ini.
    • Klik link Code guidance.
    • Halaman Path matcher YAML examples akan muncul. Anda dapat menempel contoh dari halaman Path matcher YAML examples ke kotak Path matcher box.
  7. Klik Done.

Memetakan traffic ke satu layanan

Kirim semua traffic ke satu layanan. Pastikan untuk mengganti placeholder.

    defaultService: projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE_1
    hostRules:
    - hosts:
      - '*'
      pathMatcher: matcher1
    name: URL_MAP_NAME
    pathMatchers:
    - defaultService: projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE_1
      name: matcher1
      routeRules:
        - matchRules:
            - prefixMatch: /PREFIX
          priority: 1
          routeAction:
            weightedBackendServices:
              - backendService: projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE_1
                weight: 100

Membagi traffic antara dua layanan

Bagi traffic antara dua layanan atau di antara beberapa layanan. Pastikan untuk mengganti placeholder.

   defaultService: projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE_1
   hostRules:
   - hosts:
     - '*'
     pathMatcher: matcher1
   name: URL_MAP_NAME
   pathMatchers:
   - defaultService: projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE_1
     name: matcher1
     routeRules:
     - matchRules:
       - prefixMatch: /PREFIX
       priority: 2
       routeAction:
         weightedBackendServices:
         - backendService: projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE_1
           weight: 95
         - backendService: projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE_2
           weight: 5

Mengonfigurasi pengalihan URL

Contoh berikut menampilkan kode respons 3xx yang dapat dikonfigurasi. Contoh ini juga menetapkan header respons Location dengan URI yang sesuai, mengganti host dan jalur seperti yang ditentukan dalam tindakan pengalihan.

   defaultService: projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE_1
   name: URL_MAP_NAME
   hostRules:
   - hosts:
     - "HOST TO REDIRECT FROM" # Use * for all hosts
     pathMatcher: matcher1
   pathMatchers:
   - defaultService: projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE_1
     name: matcher1
     defaultUrlRedirect:
       hostRedirect: "HOST TO REDIRECT TO" # Omit to keep the requested host
       pathRedirect: "PATH TO REDIRECT TO" # Omit to keep the requested path
       redirectResponseCode: MOVED_PERMANENTLY_DEFAULT
       stripQuery: True

Duplikasi traffic

Selain meneruskan permintaan ke layanan backend yang dipilih, Anda dapat mengirim permintaan yang sama ke layanan backend duplikat yang dikonfigurasi berdasarkan fire and forget. Artinya, load balancer tidak menunggu respons dari backend tempatnya mengirim permintaan duplikat. Duplikasi permintaan berguna untuk menguji versi baru layanan backend. Anda juga dapat menggunakannya untuk men-debug error produksi pada versi debug layanan backend, bukan pada versi produksi.

Secara default, layanan backend duplikat menerima semua permintaan, meskipun traffic asli dibagi antara beberapa layanan backend berbobot. Anda dapat mengonfigurasi layanan backend duplikat untuk hanya menerima persentase permintaan dengan menggunakan flag mirrorPercent opsional untuk menentukan persentase permintaan yang akan diduplikasi yang dinyatakan sebagai nilai antara 0 dan 100,0.

   defaultService: projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE_1
   name: regional-lb-map
   region: region/REGION
   hostRules:
   - hosts:
     - '*'
     pathMatcher: matcher1
   pathMatchers:
   - defaultService: projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE_1
     name: matcher1
     routeRules:
       - matchRules:
           - prefixMatch: /PREFIX
         priority: 1
         routeAction:
           weightedBackendServices:
             - backendService: projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE_1
               weight: 100
           requestMirrorPolicy:
             backendService: projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE_2
             mirrorPercent: 50.0

Perhatikan batasan berikut saat menggunakan duplikasi traffic:

  • Duplikasi traffic didukung jika kedua layanan backend memiliki grup instance terkelola, NEG zonal, atau backend NEG hybrid. Duplikasi traffic tidak didukung untuk NEG internet, NEG tanpa server, dan backend Private Service Connect.
  • Permintaan ke layanan backend duplikat tidak menghasilkan log atau metrik apa pun untuk Cloud Logging dan Cloud Monitoring.

Menulis ulang URL yang diminta

Tulis ulang bagian nama host URL, bagian jalur URL, atau keduanya, sebelum mengirim permintaan ke layanan backend yang dipilih. Pastikan untuk mengganti placeholder.

   defaultService: projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE_1
   name: regional-lb-map
   region: region/REGION
   hostRules:
   - hosts:
     - '*'
     pathMatcher: matcher1
   pathMatchers:
   - defaultService: projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE_1
     name: matcher1
     routeRules:
       - matchRules:
           - prefixMatch: /PREFIX
         priority: PRIORITY # 0 is highest
         routeAction:
           weightedBackendServices:
             - backendService: projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE_1
               weight: 100
           urlRewrite:
             hostRewrite: "new-host-name.com" # Omit to keep the requested host
             pathPrefixRewrite: "/new-path/" # Omit to keep the requested path

Mencoba kembali permintaan

Konfigurasi kondisi saat load balancer mencoba kembali permintaan yang gagal, berapa lama load balancer menunggu sebelum mencoba kembali, dan jumlah maksimum percobaan ulang yang diizinkan.

   defaultService: projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE_1
   name: regional-lb-map
   region: region/REGION
   hostRules:
   - hosts:
     - '*'
     pathMatcher: matcher1
   pathMatchers:
   - defaultService: projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE_1
     name: matcher1
     routeRules:
       - matchRules:
           - prefixMatch: /PREFIX
         priority: PRIORITY # 0 is highest
         routeAction:
           weightedBackendServices:
             - backendService: projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE_1
               weight: 100
           retryPolicy:
             retryConditions: 502, 504
             numRetries: 3
             perTryTimeout:
               seconds: 1
               nanos: 500000000

Menentukan waktu tunggu rute

Tentukan waktu tunggu untuk rute yang dipilih. Waktu tunggu dihitung dari waktu permintaan diproses sepenuhnya hingga respons diproses sepenuhnya. Waktu tunggu mencakup semua percobaan ulang. Pastikan untuk mengganti placeholder.

   defaultService: projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE_1
   name: regional-lb-map
   region: region/REGION
   hostRules:
   - hosts:
     - '*'
     pathMatcher: matcher1
   pathMatchers:
   - defaultService: projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE_1
     name: matcher1
     routeRules:
       - matchRules:
           - prefixMatch: /PREFIX
         priority: PRIORITY # 0 is highest
         routeAction:
           weightedBackendServices:
             - backendService: projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE_1
               weight: 100
           timeout:
             seconds: 30
             nanos: 500000000

Mengonfigurasi injeksi kesalahan

Menyisipkan error saat melayani permintaan untuk menyimulasikan kegagalan, termasuk latensi tinggi, kelebihan beban layanan, kegagalan layanan, dan partisi jaringan. Fitur ini berguna untuk menguji ketahanan layanan terhadap kesalahan yang disimulasikan.

   defaultService: projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE_1
   name: regional-lb-map
   region: region/REGION
   hostRules:
   - hosts:
     - '*'
     pathMatcher: matcher1
   pathMatchers:
   - defaultService: projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE_1
     name: matcher1
     routeRules:
       - matchRules:
           - prefixMatch: /PREFIX
         priority: PRIORITY # 0 is highest
         routeAction:
           weightedBackendServices:
             - backendService: projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE_1
               weight: 100
           faultInjectionPolicy:
             delay:
               fixedDelay:
                 seconds: 10
                 nanos: 500000000
               percentage: 25
             abort:
               httpStatus: 503
               percentage: 50

Mengonfigurasi CORS

Konfigurasi kebijakan cross-origin resource sharing (CORS) untuk menangani setelan guna menerapkan permintaan CORS.

   defaultService: projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE_1
   name: regional-lb-map
   region: region/REGION
   hostRules:
   - hosts:
     - '*'
     pathMatcher: matcher1
   pathMatchers:
   - defaultService: projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE_1
     name: matcher1
     routeRules:
       - matchRules:
           - prefixMatch: /PREFIX
         priority: PRIORITY # 0 is highest
         routeAction:
           weightedBackendServices:
             - backendService: projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE_1
               weight: 100
           corsPolicy:
               allowOrigins: my-domain.com
               allowMethods: GET, POST
               allowHeaders: Authorization, Content-Type
               maxAge: 1200
               allowCredentials: True

Menambahkan dan menghapus header permintaan dan respons

Tambahkan dan hapus header permintaan sebelum mengirim permintaan ke layanan backend. Tambahkan dan hapus juga header respons setelah menerima respons dari layanan backend.

Load Balancer Aplikasi eksternal regional dan Load Balancer Aplikasi internal juga mendukung penggunaan variabel di header kustom. Anda dapat menentukan satu atau beberapa variabel di kolom nilai header kustom (headerValue) yang kemudian diterjemahkan ke nilai per permintaan yang sesuai. Untuk mengetahui daftar nilai header yang didukung, lihat Membuat header kustom di peta URL maps.

   defaultService: projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE_1
   name: regional-lb-map
   region: region/REGION
   hostRules:
   - hosts:
     - '*'
     pathMatcher: matcher1
   pathMatchers:
   - defaultService: projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE_1
     name: matcher1
     routeRules:
       - matchRules:
           - prefixMatch: /PREFIX
         priority: PRIORITY # 0 is highest
         routeAction:
           weightedBackendServices:
             - backendService: projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE_1
               weight: 100
               headerAction:
                 requestHeadersToAdd:
                 - headerName: header-1-name
                   headerValue: header-1-value
                   replace: True
                 requestHeadersToRemove:
                 - header-2-name
                 - header-3-name
                 responseHeadersToAdd:
                 - headerName: header-4-name
                   headerValue: header-4-value
                   replace: True
                responseHeadersToRemove:
                - header-5-name
                - header-6-name

Mengonfigurasi deteksi anomali

Tentukan kriteria untuk penghentian VM atau endpoint backend yang tidak responsif di NEG, beserta kriteria yang menentukan kapan backend atau endpoint dianggap cukup responsif untuk menerima traffic lagi. Pastikan untuk mengganti placeholder.

    loadBalancingScheme: LOAD_BALANCING_SCHEME
    localityLbPolicy: RANDOM
    name: projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE_1
    outlierDetection:
      baseEjectionTime:
        nanos: 0
        seconds: '30'
      consecutiveErrors: 5
      consecutiveGatewayFailure: 3
      enforcingConsecutiveErrors: 2
      enforcingConsecutiveGatewayFailure: 100
      enforcingSuccessRate: 100
      interval:
        nanos: 0
        seconds: '1'
      maxEjectionPercent: 50
      successRateMinimumHosts: 5
      successRateRequestVolume: 100
      successRateStdevFactor: 1900
    region: region/REGION

Mengonfigurasi pemutus sirkuit

Pemutus sirkuit memungkinkan Anda menetapkan nilai minimum kegagalan untuk mencegah permintaan klien membebani backend Anda. Setelah permintaan mencapai batas yang telah Anda tetapkan, load balancer akan berhenti mengizinkan koneksi baru atau mengirim permintaan tambahan, sehingga backend Anda memiliki waktu untuk pulih. Dengan demikian, pemutus sirkuit mencegah kegagalan berjenjang dengan menampilkan error kepada klien, bukan membebani backend. Hal ini memungkinkan beberapa traffic dilayani sekaligus memberikan waktu untuk mengelola situasi kelebihan beban, seperti menangani lonjakan traffic dengan meningkatkan kapasitas melalui penskalaan otomatis.

Tetapkan batas atas permintaan per koneksi serta volume koneksi ke layanan backend. Batasi juga jumlah permintaan dan percobaan ulang yang tertunda.

    loadBalancingScheme: LOAD_BALANCING_SCHEME # EXTERNAL_MANAGED or INTERNAL_MANAGED
    localityLbPolicy: RANDOM
    affinityCookieTtlSec: 0
    backends:
    - balancingMode: UTILIZATION
      capacityScaler: 1.0
      group: region/REGION/instanceGroups/INSTANCE_GROUP
      maxUtilization: 0.8
    circuitBreakers:
      maxConnections: 1000
      maxPendingRequests: 200
      maxRequests: 1000
      maxRequestsPerConnection: 100
      maxRetries: 3
    connectionDraining:
      drainingTimeoutSec: 0
    healthChecks:
    - region/REGION/healthChecks/HEALTH_CHECK

Menyiapkan pemisahan traffic: langkah-langkah mendetail

Contoh ini menunjukkan langkah-langkah berikut:

  1. Membuat template terpisah untuk layanan yang berbeda.

  2. Membuat grup instance untuk template tersebut.

  3. Membuat aturan perutean yang menyiapkan pemisahan traffic 95% / 5%.

  4. Mengirim perintah curl yang menunjukkan bahwa persentase pemisahan traffic kira-kira cocok dengan konfigurasi.

Petunjuk ini mengasumsikan hal berikut:

  • Region-nya adalah us-west1.
  • Proxy target dan aturan penerusan telah dibuat, beserta peta URL bernama regional-lb-map.

  • Peta URL mengirim semua traffic ke satu layanan backend, yang disebut red-service, yang merupakan layanan backend default.

  • Anda menyiapkan jalur alternatif yang mengirim 5% traffic ke blue-service dan 95% traffic ke green-service.

  • Pencocok jalur digunakan.

  • Anda menggunakan Cloud Shell atau lingkungan lain dengan bash terinstal.

Menentukan layanan

Fungsi bash berikut membuat layanan backend, termasuk template instance dan grup instance terkelola.

Petunjuk ini mengasumsikan bahwa health check HTTP (regional-lb-basic-check) telah dibuat. Untuk mengetahui petunjuknya, lihat Menyiapkan Load Balancer Aplikasi eksternal regional.
function make_service() {
  local name="$1"
  local region="$2"
  local zone="$3"
  local network="$4"
  local subnet="$5"
  local subdir="$6"

  www_dir="/var/www/html/$subdir"

  (set -x; \
  gcloud compute instance-templates create "${name}-template" \
    --region="$region" \
    --network="$network" \
    --subnet="$subnet" \
    --tags=allow-ssh,load-balanced-backend \
    --image-family=debian-12 \
    --image-project=debian-cloud \
    --metadata=startup-script="#! /bin/bash
  apt-get update
  apt-get install apache2 -y
  a2ensite default-ssl
  a2enmod ssl
  sudo mkdir -p $www_dir
  /bin/hostname | sudo tee ${www_dir}index.html
  systemctl restart apache2"; \
  gcloud compute instance-groups managed create \
    "${name}-instance-group" \
    --zone="$zone" \
    --size=2 \
    --template="${name}-template"; \
  gcloud compute backend-services create "${name}-service" \
    --load-balancing-scheme=LOAD_BALANCING_SCHEME\
    --protocol=HTTP \
    --health-checks=regional-lb-basic-check \
    --health-checks-region="$region" \
    --region="$region"; \
  gcloud compute backend-services add-backend "${name}-service" \
    --balancing-mode='UTILIZATION' \
    --instance-group="${name}-instance-group" \
    --instance-group-zone="$zone" \
    --region="$region")
}

Membuat layanan

Panggil fungsi untuk membuat tiga layanan, red, green, dan blue. Layanan red bertindak sebagai layanan default untuk permintaan ke /. Layanan green dan blue keduanya disiapkan di /PREFIX untuk menangani 95% dan 5% traffic.

make_service red us-west1 us-west1-a lb-network backend-subnet ""
make_service green us-west1 us-west1-a lb-network backend-subnet /PREFIX
make_service blue us-west1 us-west1-a lb-network backend-subnet /PREFIX

Membuat peta URL

Konsol

  1. Di konsol Google Cloud , buka halaman Load balancing.

    Buka Load balancing

  2. Klik link regional-lb-map.

  3. Klik Edit .

Mengonfigurasi aturan perutean baru

  1. Di bagian Routing rules, pilih Advanced host and path rule.
  2. Di bagian Hosts and path rule, untuk membuat tindakan default, tetapkan Service ke red-service.
  3. Klik Done.
  4. Klik Add host and path rule.
  5. Di kolom Hosts, masukkan alamat IP aturan penerusan load balancer Anda.
  6. Tempel konten YAML berikut ke kotak Path matcher:

    defaultService: projects/PROJECT_ID/regions/us-west1/backendServices/red-service
    name: matcher1
    routeRules:
    - priority: 2
      matchRules:
        - prefixMatch: /PREFIX
      routeAction:
        weightedBackendServices:
          - backendService: projects/PROJECT_ID/regions/us-west1/backendServices/green-service
            weight: 95
          - backendService: projects/PROJECT_ID/regions/us-west1/backendServices/blue-service
            weight: 5
    
  7. Klik Done.

  8. Klik Update.

gcloud

  1. Ekspor peta URL yang ada menggunakan perintah gcloud compute url-maps export:

    gcloud compute url-maps export regional-lb-map \
      --destination=regional-lb-map-config.yaml \
      --region=us-west1
    
  2. Perbarui file peta URL regional-lb-map-config.yaml dengan menambahkan kode berikut ke akhir file:

    hostRules:
    - hosts:
      - '*'
      pathMatcher: matcher1
    pathMatchers:
    - defaultService: projects/PROJECT_ID/regions/us-west1/backendServices/red-service
      name: matcher1
      routeRules:
      - priority: 2
        matchRules:
          - prefixMatch: /PREFIX
        routeAction:
          weightedBackendServices:
            - backendService: projects/PROJECT_ID/regions/us-west1/backendServices/green-service
              weight: 95
            - backendService: projects/PROJECT_ID/regions/us-west1/backendServices/blue-service
              weight: 5
    
  3. Perbarui peta URL menggunakan perintah gcloud compute url-maps import:

    gcloud compute url-maps import regional-lb-map \
       --region=us-west1 \
       --source=regional-lb-map-config.yaml
    

Menguji konfigurasi

Untuk menguji konfigurasi, pastikan terlebih dahulu bahwa permintaan ke alamat IP load balancer yang disiapkan sebelumnya ditangani oleh konfigurasi red default.

Kemudian, periksa untuk memastikan bahwa permintaan yang dikirim ke FORWARDING_RULE_IP_ADDRESS/PREFIX dibagi seperti yang diharapkan.

Kontrol traffic memungkinkan Anda mengonfigurasi afinitas sesi berdasarkan cookie yang disediakan. Untuk mengonfigurasi afinitas sesi berbasis HTTP_COOKIE untuk layanan backend bernama red-service, ikuti petunjuk ini.

  1. Gunakan perintah gcloud compute backend-services export untuk mendapatkan konfigurasi layanan backend.

    gcloud compute backend-services export red-service \
        --destination=red-service-config.yaml \
        --region=us-west1
    
  2. Perbarui file red-service-config.yaml sebagai berikut:

    sessionAffinity: 'HTTP_COOKIE'
    localityLbPolicy: 'RING_HASH'
    consistentHash:
     httpCookie:
      name: 'http_cookie'
      path: '/cookie_path'
      ttl:
        seconds: 100
        nanos: 500000000
     minimumRingSize: 10000
    
  3. Di file red-service-config.yaml, hapus baris berikut:

    sessionAffinity: NONE
    
  4. Perbarui file konfigurasi layanan backend:

    gcloud compute backend-services import red-service \
        --source=red-service-config.yaml \
        --region=us-west1
    

Pemecahan masalah

Gunakan informasi ini untuk memecahkan masalah jika traffic tidak dirutekan sesuai dengan aturan rute dan kebijakan traffic yang Anda konfigurasi.

Untuk mengetahui informasi tentang logging dan monitoring, lihat Logging dan monitoring HTTP(S) eksternal.

Gejala:

  • Peningkatan traffic ke layanan dalam aturan di atas aturan yang dipertanyakan.
  • Peningkatan respons HTTP 4xx dan 5xx yang tidak terduga untuk aturan rute tertentu.

Solusi: Periksa urutan aturan rute Anda. Aturan rute ditafsirkan sesuai urutan penentuannya.

Aturan rute dalam peta URL ditafsirkan sesuai urutan penentuannya. Hal ini berbeda dengan cara aturan jalur ditafsirkan oleh kecocokan awalan terpanjang. Untuk aturan jalur, Load Balancer Aplikasi internal hanya akan memilih satu aturan jalur; namun, saat Anda menggunakan aturan rute, lebih dari satu aturan mungkin berlaku.

Saat Anda menentukan aturan rute, pastikan aturan di bagian atas daftar tidak secara tidak sengaja merutekan traffic yang seharusnya dirutekan oleh aturan rute berikutnya. Layanan yang menerima traffic yang salah arah kemungkinan akan menolak permintaan, dan layanan dalam aturan rute Anda akan menerima traffic yang berkurang atau tidak ada traffic sama sekali.

Langkah berikutnya