Menghitung persyaratan IP NAT statis

Halaman ini berlaku untuk Apigee, tetapi tidak untuk Apigee Hybrid.

Baca dokumentasi Apigee Edge.

Traffic arah selatan antara Apigee dan backend target dengan alamat IP publik menggunakan Cloud NAT untuk menerjemahkan alamat IP pribadi instance Apigee Anda ke alamat IP publik. Jika backend target Anda memerlukan listingan yang diizinkan IP, Anda dapat mencadangkan dan mengaktifkan IP NAT statis untuk traffic keluar. Topik ini menjelaskan cara menghitung jumlah minimum IP NAT statis yang diperlukan untuk mendukung traffic yang diantisipasi.

Sebelum memulai

Jika memilih untuk menggunakan alokasi IP NAT statis untuk mendukung listingan yang diizinkan, Anda harus menghitung jumlah minimum IP statis yang diperlukan untuk mendukung traffic yang diperkirakan. Untuk penghitungan ini, Anda akan memerlukan informasi berikut:

  • Waktu maksimum per transaksi: Ini adalah waktu maksimum, dalam detik, yang akan dibutuhkan transaksi, dari awal permintaan hingga akhir respons.
  • Transaksi maksimum per detik (TPS): Ini adalah jumlah maksimum transaksi per detik yang mungkin dapat didukung oleh instance Apigee.
  • TPS maksimum untuk satu backend unik: Ini adalah jumlah maksimum transaksi per detik yang dapat didukung oleh satu backend.
  • Jumlah maksimum lingkungan: Jumlah maksimum lingkungan pada instance Apigee ini.

Menghitung jumlah IP statis yang diperlukan

Anda dapat menggunakan formula berikut untuk menghitung jumlah minimum IP NAT yang perlu ditetapkan secara statis:

  1. Hitung jumlah maksimum port sumber NAT yang diperlukan per backend sebagai $ S $.
    $$ S = \lceil (150 + T) \times B \rceil $$

    Dengan keterangan:

    • $ T $ adalah waktu maksimum per transaksi, dalam detik.
    • $ B $ adalah TPS maksimum untuk setiap backend unik.
    • $ \lceil \rceil $ adalah fungsi ceiling (bilangan bulat terkecil), artinya membulatkan ke bilangan bulat berikutnya
  2. Hitung port minimum yang digunakan oleh instance Apigee sebagai $ N $.
    $$ N = max(4096 \times E, \lceil {512 \over 75} \times R \rceil) + 6144 $$

    Dengan keterangan:

    • $ E $ adalah jumlah lingkungan Apigee.
    • $ R $ adalah TPS maksimum untuk instance Apigee.
    • $ \lceil \rceil $ adalah fungsi ceiling (bilangan bulat terkecil), artinya membulatkan ke bilangan bulat berikutnya
    • Fungsi $ \mathit{max}() $ mengambil nilai maksimum dari dua nilai tersebut.
  3. Ambil jumlah port maksimum yang diperlukan sebesar $ P $.
    $$ P = max(S, N) $$

    Dengan keterangan:

    • $ S $ adalah jumlah maksimum port sumber NAT yang diperlukan, seperti yang dihitung pada Langkah 1.
    • $ N $ adalah jumlah minimum port yang digunakan oleh instance Apigee, sebagaimana dihitung pada Langkah 2.
    • Fungsi $ \mathit{max}() $ mengambil nilai maksimum dari dua nilai tersebut.
  4. Hitung jumlah minimum IP NAT yang diperlukan sebagai $ I $.
    $$ I = \lceil P / 64512 \rceil $$

    Dengan keterangan:

    • $ P $ adalah jumlah maksimum port yang diperlukan, yang dihitung pada Langkah 3.
    • $ \lceil \rceil $ adalah fungsi ceiling (bilangan bulat terkecil), artinya membulatkan ke bilangan bulat berikutnya

Contoh

Contoh 1

Dalam contoh ini, kami mengharapkan maksimum 10.000 TPS di 1 lingkungan. Semua transaksi adalah permintaan HTTP GET dan durasi transaksi persentil ke-99 adalah 50 milidetik (md). Permintaan ini tidak dilayani secara merata oleh sekumpulan server di belakang 3 backend load balancer, dengan salah satu load balancer menangani 5.000 TPS, yang lainnya memerlukan 3.000 TPS, dan load balancer terakhir menangani 2.000 TPS.

Untuk contoh ini, nilai kuncinya adalah sebagai berikut:

  • Waktu maksimum per transaksi: 50 md
  • TPS maksimum untuk instance Apigee: 10.000
  • TPS maksimum untuk satu backend: 5.000
  • Jumlah lingkungan Apigee: 1

Dengan menggunakan rumus yang diuraikan sebelumnya, kita dapat menghitung jumlah IP NAT yang diperlukan:

  1. $$ \lceil (150 + 0.050) \times 5000 \rceil = \lceil 150.050 \times 5000 \rceil = \lceil 750250 \rceil = 750250 $$

    Jumlah maksimum port sumber NAT yang diperlukan per backend, dengan asumsi tidak ada penggunaan ulang koneksi, adalah 750.250.

  2. $$ max(4096 \times 1, \lceil {512 \over 75} \times 10000 \rceil) + 6144 $$
    $$ max(4096, \lceil 6.827 \times 10000 \rceil) + 6144 $$
    $$ max(4096, \lceil 68270 \rceil) + 6144 $$
    $$ 68270 + 6144 = 74414 $$

    Jumlah minimum port sumber NAT yang digunakan oleh runtime Apigee adalah 74.414.

  3. $$ max(750250, 74414) = 750250 $$

    Jumlah maksimum port sumber NAT yang diperlukan per instance adalah 750.250.

  4. $$ \lceil 750250 / 64512 \rceil = \lceil 11.630 \rceil = 12 $$

    Jumlah minimum IP NAT yang diperlukan untuk mendukung maksimum 10.000 TPS masing-masing berdurasi 50 milidetik (atau kurang), dengan IP backend tunggal dan pasangan port yang mendukung maksimum 5.000 TPS, adalah 12.

Contoh 2

Dalam contoh ini, kami mengharapkan maksimum 1.000 TPS di 20 lingkungan Apigee. Durasi persentil ke-99 dari transaksi ini adalah 5 detik. Permintaan ini akan dilayani oleh 8 backend target, dengan traffic yang biasanya didistribusikan secara merata di semua backend. Dengan pertimbangan pemeliharaan dan pemadaman layanan, satu backend tidak akan pernah melayani lebih dari 250 TPS.

Untuk contoh ini, nilai kuncinya adalah sebagai berikut:

  • Waktu maksimum per transaksi: 5d
  • Transaksi maksimum per detik (TPS): 1.000
  • TPS maksimum untuk satu backend: 250
  • Jumlah lingkungan Apigee: 20

Dengan menggunakan rumus yang diuraikan sebelumnya, kita dapat menghitung jumlah IP NAT yang diperlukan:

  1. $$ \lceil (150 + 5) \times 250 \rceil = \lceil 155 \times 250 \rceil = \lceil 38750 \rceil = 38750 $$

    Jumlah maksimum port sumber NAT yang diperlukan per backend, dengan asumsi tidak ada penggunaan ulang koneksi, adalah 38.750.

  2. $$ max(4096 \times 20, \lceil {512 \over 75} \times 1000 \rceil) + 6144 $$
    $$ max(81920, \lceil 6.827 \times 1000 \rceil) + 6144 $$
    $$ max(81920, \lceil 6827 \rceil) + 6144 $$
    $$ 81920 + 6144 = 88064 $$

    Jumlah minimum port sumber NAT yang digunakan oleh runtime Apigee adalah 88.064.

  3. $$ max(38750, 88064) = 88064 $$

    Jumlah maksimum port sumber NAT yang diperlukan per instance adalah 88.064.

  4. $$ \lceil 88064 / 64512 \rceil= \lceil 1.365 \rceil= 2 $$

    Jumlah minimum IP NAT yang diperlukan untuk mendukung maksimum 1.000 TPS masing-masing berdurasi 5 detik (atau kurang), dengan IP backend tunggal dan pasangan port yang mendukung maksimum 250 TPS, adalah 2.

Contoh 3

Dalam contoh ini, kita ingin menghitung TPS maksimum yang dapat dicapai dengan 2 IP NAT ke satu backend target. Waktu maksimum per transaksi diperkirakan 100 milidetik.

Untuk contoh ini, nilai kuncinya adalah sebagai berikut:

  • Waktu maksimum per transaksi: 100 md
  • Jumlah IP NAT: 2

Dalam hal ini, kita dapat menggunakan formula di Langkah 4 dan Langkah 1 untuk menghitung jumlah maksimum port sumber NAT yang disediakan dan jumlah TPS yang dapat didukung port sumber tersebut:

  1. $$ 2 = \lceil P / 64512 \rceil $$
    $$ 129024 = P $$

    Jumlah maksimum port sumber NAT yang disediakan adalah 129.024.

  2. $$ 129024 = \lceil (150 + 0.100) \times B \rceil $$
    $$ 129024 = \lceil 150.1 \times B \rceil $$
    $$ \lfloor 129024 / 150.1 \rfloor = B $$
    $$ \lfloor 859.587 \rfloor = B $$
    $$ 859 = B $$

    TPS maks adalah 859 dengan 2 IP NAT ke satu backend, dengan asumsi tidak ada penggunaan ulang koneksi.