Menghitung persyaratan IP NAT statis

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

Lihat dokumentasi Apigee Edge.

Traffic ke selatan 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 diantisipasi.

Sebelum memulai

Jika memilih untuk menggunakan alokasi IP NAT statis untuk mendukung daftar yang diizinkan, Anda harus menghitung jumlah minimum IP statis yang diperlukan untuk mendukung perkiraan traffic. Untuk perhitungan 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 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 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:

    • $ 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:

    • $ 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 kedua nilai.
  3. Ambil jumlah maksimum port yang diperlukan sebagai $ P $.
    $$ P = max(S, N) $$

    Dengan:

    • $ 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 kedua nilai.
  4. Hitung jumlah minimum IP NAT yang diperlukan sebagai $ I $.
    $$ I = \lceil P / 64512 \rceil $$

    Dengan:

    • $ 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, kita 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 mengambil 5.000 TPS, load balancer lainnya mengambil 3.000 TPS, dan load balancer terakhir mengambil 2.000 TPS.

Untuk contoh ini, nilai utamanya 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 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 dengan masing-masing 50 md (atau kurang), dengan satu pasangan IP dan port backend yang mendukung maksimum 5.000 TPS, adalah 12.

Contoh 2

Dalam contoh ini, kita mengharapkan 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 ke semuanya. Dengan mempertimbangkan pemeliharaan dan gangguan, satu backend tidak pernah diharapkan untuk melayani lebih dari 250 TPS.

Untuk contoh ini, nilai utamanya adalah sebagai berikut:

  • Waktu maksimum per transaksi: 5 detik
  • Transaksi per detik (TPS) maksimum: 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 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 dengan masing-masing 5 detik (atau kurang), dengan satu pasangan IP dan port backend 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 md.

Untuk contoh ini, nilai utamanya 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 oleh port sumber tersebut:

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

    Jumlah maksimum port sumber NAT yang diberikan 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 ulang koneksi.