Menghitung persyaratan IP NAT statis

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

Lihat dokumentasi Apigee Edge.

Traffic southbound antara Apigee dan backend target dengan alamat IP publik menggunakan Cloud NAT untuk menerjemahkan alamat IP pribadi instance Apigee Anda menjadi alamat IP publik. Jika backend target Anda memerlukan daftar 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 diperkirakan.

Sebelum memulai

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

  • Waktu maksimum per transaksi: Ini adalah waktu maksimum, dalam detik, yang diperlukan transaksi, dari awal permintaan hingga akhir respons.
  • Transaksi maksimum per detik (TPS): Ini adalah jumlah maksimum transaksi per detik yang dapat didukung 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 di 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 satu backend unik.
    • $ \lceil \rceil $ adalah fungsi ceiling (bilangan bulat terkecil), yang berarti 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), yang berarti membulatkan ke bilangan bulat berikutnya
    • Fungsi $ \mathit{max}() $ mengambil nilai maksimum dari dua nilai.
  3. Ambil jumlah maksimum port yang diperlukan sebagai $ 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, seperti yang dihitung pada Langkah 2.
    • Fungsi $ \mathit{max}() $ mengambil nilai maksimum dari dua nilai.
  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), yang berarti membulatkan ke bilangan bulat berikutnya

Contoh

Contoh 1

Dalam contoh ini, kami memperkirakan 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 ditayangkan secara tidak merata oleh kumpulan server di belakang 3 backend load balancer, dengan salah satu load balancer menggunakan 5.000 TPS, load balancer lainnya menggunakan 3.000 TPS, dan load balancer terakhir menggunakan 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 formula 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 kembali 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 dengan durasi 50 md (atau kurang), dengan satu IP backend dan pasangan port yang mendukung maksimum 5.000 TPS, adalah 12.

Contoh 2

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

Untuk contoh ini, nilai kuncinya adalah sebagai berikut:

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

Dengan menggunakan formula 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 kembali 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 dengan durasi 5 detik (atau kurang), dengan satu IP backend 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 mdtk.

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 maksimum adalah 859 dengan 2 IP NAT ke satu backend, dengan asumsi tidak ada penggunaan kembali koneksi.