Jika sebuah Instance ECS perlu menjalankan beberapa layanan yang masing-masing memerlukan alamat IP publik khusus, Anda dapat menggunakan Mode NAT untuk mengikat beberapa EIP ke ENI instance tersebut.
Anda dapat mengikat beberapa EIP baik ke ENI primer maupun ENI sekunder. Pilih berdasarkan desain jaringan Anda. Topik ini menggunakan ENI sekunder sebagai contoh.
Cara kerja
-
Mengikat beberapa EIP: Sambungkan ENI sekunder yang memiliki beberapa alamat IP pribadi ke Instance ECS. Kemudian, ikat EIP ke alamat IP pribadi tersebut dalam pemetaan satu-ke-satu dalam Mode NAT.
-
Konfigurasikan perutean berbasis kebijakan untuk memastikan jalur lalu lintas simetris:
-
Lalu lintas masuk (inbound): Saat permintaan eksternal mencapai sebuah EIP, sistem secara otomatis meneruskan lalu lintas tersebut ke alamat IP pribadi yang terikat pada EIP tersebut.
-
Lalu lintas keluar (outbound): Konfigurasikan perutean berbasis kebijakan pada Instance ECS. Kebijakan perutean menggunakan alamat IP sumber (alamat IP pribadi) dari paket untuk menentukan lompatan berikutnya dan antarmuka egress (ENI sekunder). Hal ini memastikan bahwa lalu lintas respons keluar melalui EIP yang benar, sehingga menjaga perutean simetris dan mencegah konflik di lingkungan multi-ENI.
-
Catatan penggunaan
-
Jumlah ENI yang dapat Anda sambungkan ke Instance ECS dan jumlah alamat IP pribadi sekunder yang dapat Anda tetapkan ke suatu ENI bervariasi tergantung pada keluarga instans.
Sebagai contoh, Instance ECS dengan tipe instans
ecs.c6.largedapat diikat hingga maksimal 2 elastic network interfaces (ENIs), termasuk satu ENI primer dan satu ENI sekunder, serta setiap ENI mendukung hingga maksimal 6 alamat IP pribadi. Baik ENI primer maupun ENI sekunder mendukung pengikatan 1 EIP ke alamat IP pribadi utama dan 5 EIP ke alamat IP pribadi sekunder. -
Dalam Mode NAT, EIP diikat ke ENI menggunakan NAT. Mode ini tidak mendukung protokol yang bergantung pada NAT Application-Level Gateway (NAT ALG).
-
Anda dapat mengikat EIP baik ke ENI primer maupun ENI sekunder.
-
Karena pemetaannya satu-ke-satu, jumlah EIP yang dapat Anda ikat dibatasi oleh jumlah alamat IP pribadi yang tersedia pada ENI tersebut.
-
-
Jika VPC Anda menggunakan IPv4 gateway untuk akses internet terpusat, pastikan Anda mengonfigurasi rute yang mengarahkan lalu lintas ke IPv4 gateway agar Instance ECS dapat mengakses internet.
Prosedur
Langkah 1: Mengikat beberapa EIP
-
Sambungkan ENI sekunder dengan beberapa alamat IP pribadi ke Instance ECS.
Jika Anda sudah memiliki ENI sekunder, Anda dapat langsung mengikatnya ke Instance ECS.
-
Buka halaman ENIs di Konsol ECS. Di bilah navigasi atas, pilih wilayah tempat Instance ECS Anda berada.
-
Klik Create ENI.
Pertahankan nilai default untuk parameter lainnya. Setelah ENI dibuat, Anda dapat mengklik Manage ENI IP Addresses di kolom Operation untuk menambah, menghapus, atau mengubah alamat IP pribadinya.
-
Pilih VPC, vSwitch, dan security group tempat Instance ECS berada.
-
Primary Private IP Address: Anda dapat menentukan alamat IP yang belum digunakan dari vSwitch. Jika Anda tidak menentukan alamat IP, sistem akan memberikan alamat secara acak dari kumpulan alamat yang tersedia di vSwitch. Alamat ini tidak dapat diubah setelah pembuatan.
-
Secondary Private IPv4 Address: Pilih Auto Assign dan masukkan jumlah alamat IP pribadi sekunder yang ingin Anda tetapkan.
-
-
Di kolom Operation untuk ENI target, klik Bind to Instance dan pilih Instance ECS target.
-
-
Konfigurasikan sistem operasi agar mengenali alamat IP pribadi sekunder.
Topik ini menggunakan Alibaba Cloud Linux 3.2 sebagai contoh. Untuk sistem operasi lainnya, lihat Konfigurasikan sistem operasi agar mengenali alamat IP pribadi sekunder.
-
Login ke Instance ECS, lalu jalankan perintah
ip auntuk melihat dan mengonfirmasi informasi antarmuka jaringan.-
Identifikasi antarmuka:
eth0(ENI primer),eth1(ENI sekunder). -
Status kartu jaringan:
state UPmenunjukkan bahwa kartu jaringan berfungsi normal dan aktif di dalam instance. Jika status kartu jaringan adalahstate DOWN, Anda perlu mengonfigurasi sistem operasi Linux agar mengenali kartu jaringan.
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 8500 qdisc mq state UP group default qlen 1000 link/ether 00:xxx:ff altname enp0s5 altname ens5 inet 192.168.0.3/24 brd 192.168.0.255 scope global dynamic noprefixroute eth0 valid_lft 1892159940sec preferred_lft 1892159940sec inet6 xxx/64 scope link valid_lft forever preferred_lft forever 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 8500 qdisc mq state UP group default qlen 1000 link/ether 00:xxx:ff altname enp0s7 altname ens7 inet 192.168.0.252/24 brd 192.168.0.255 scope global dynamic noprefixroute eth1 valid_lft 1892159958sec preferred_lft 1892159958sec inet6 xxx/64 scope link noprefixroute valid_lft forever preferred_lft forever -
-
Gunakan
nmcli conuntuk mengonfigurasi alamat IP pribadi sekunder.-
Jalankan perintah
sudo vim /etc/cloud/cloud.cfg.d/99-disable-network-config.cfgdan tambahkan konfigurasinetwork: {config: disabled}untuk menonaktifkan konfigurasi jaringan otomatis oleh cloud-init dan mencegah konfigurasi hilang setelah reboot. -
Jalankan
nmcli con showuntuk melihat nama koneksi jaringan darieth1.[root@ixxx Z ~]# nmcli con show NAME UUID TYPE DEVICE System eth0 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 ethernet eth0 Wired connection 1 c8c8d113-cd19-3945-a292-1a89d8bab4e8 ethernet eth1 -
Jalankan perintah berikut untuk mengonfigurasi alamat IPv4 pribadi sekunder dan gateway default untuk ENI sekunder.
Anda dapat menjalankan perintah
route -nuntuk melihat gateway default.sudo nmcli con modify "<eth1_connection_name>" ipv4.addresses <secondary_private_IPv4_address_1>,<secondary_private_IPv4_address_2> sudo nmcli con modify "<eth1_connection_name>" ipv4.gateway <default_gateway>sudo nmcli con modify "Wired connection 1" ipv4.addresses 192.168.0.1/24,192.168.0.2/24 sudo nmcli con modify "Wired connection 1" ipv4.gateway 192.168.0.253
-
-
Jalankan perintah
sudo nmcli con up "<eth1 network connection name>"untuk mengaktifkan koneksi jaringan yang telah dimodifikasi. Pesan sepertiConnection successfully activatedmenunjukkan bahwa konfigurasi berhasil. Jalankan kembali perintahip auntuk melihat alamat IP pribadi sekunder.eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 8500 qdisc mq state UP group default qlen 1000 link/ether 00:xxx:ff altname enp0s7 altname ens7 inet 192.168.0.1/24 brd 192.168.0.255 scope global noprefixroute eth1 valid_lft forever preferred_lft forever inet 192.168.0.2/24 brd 192.168.0.255 scope global secondary noprefixroute eth1 valid_lft forever preferred_lft forever inet 192.168.0.252/24 brd 192.168.0.255 scope global secondary dynamic noprefixroute eth1 valid_lft 1892159981sec preferred_lft 1892159981sec inet6 fe80::xxx/64 scope link noprefixroute valid_lft forever preferred_lft forever
-
-
Buat beberapa EIP dan ikatkan ke alamat IP pribadi ENI sekunder.
-
Buka halaman pembelian EIP.
Hanya parameter yang relevan yang tercantum di sini. Untuk panduan lengkap, lihat Pilih EIP.
-
Billing Method: Metode bayar sesuai pemakaian cocok untuk layanan dengan beban kerja yang fluktuatif. Metode Subscription ideal untuk beban kerja jangka panjang yang stabil. Topik ini menggunakan Pay-as-you-go.
-
Region: Pilih wilayah yang sama dengan Instance ECS Anda.
-
Line Type: Opsi ini hanya tersedia di beberapa wilayah.
-
Protection: Opsi ini hanya tersedia untuk EIP BGP (Multi-ISP) yang menggunakan metode penagihan bayar sesuai pemakaian.
-
Address Pool: Jika Anda memiliki kolam alamat IP yang sudah ada, Anda dapat mengalokasikan EIP darinya.
-
Quantity: Masukkan jumlah EIP yang akan Anda ikat.
-
-
Ikatkan EIP ke alamat IP pribadi ENI sekunder dalam pemetaan satu-ke-satu.
-
Buka halaman Elastic IP Addresses. Di bilah navigasi atas, pilih wilayah tempat EIP berada.
-
Untuk setiap EIP, klik Associate with Resource di kolom Actions. Pilih ENI, lalu pilih alamat IP pribadi sekunder yang sesuai.
-
-
Langkah 2: Mengonfigurasi perutean berbasis kebijakan
Konfigurasikan perutean berbasis kebijakan pada Instance ECS untuk memastikan jalur lalu lintas simetris.
-
Login ke Instance ECS dan tambahkan rute default untuk ENI sekunder
eth1: buat tabel rutetable 1001dan kebijakan perutean yang sesuai untuk alamat IP pribadi tersebut.ip -4 route add default via <default_gateway> dev eth1 metric 1001 && \ ip -4 route add default via <default_gateway> dev eth1 table 1001 && \ ip -4 rule add from <secondary_eni_private_ipv4_address_1> lookup 1001 && \ ip -4 rule add from <secondary_eni_private_ipv4_address_2> lookup 1001 && \ ip -4 rule add from <secondary_eni_private_ipv4_address_3> lookup 1001 -
Jalankan perintah
ip route list table 1001 && ip rule listuntuk melihat tabel rute dan rute berbasis kebijakan yang telah dibuat.[root@iZ ~]# ip route list table 1001 && ip rule list default via 192.168.0.253 dev eth1 0: from all lookup local 32763: from 192.168.0.2 lookup 1001 32764: from 192.168.0.1 lookup 1001 32765: from 192.168.0.252 lookup 1001 32766: from all lookup main 32767: from all lookup default -
Konfigurasikan rute agar diperbarui secara otomatis saat startup untuk memastikan konfigurasi tetap berlaku setelah reboot.
-
Jalankan
vim /etc/rc.localdan tambahkan perintah untuk membuat tabel rute dan perutean berbasis kebijakan ke file tersebut. -
Jalankan
sudo chmod +x /etc/rc.localuntuk memberikan izin eksekusi.
-
Langkah 3: Memverifikasi konfigurasi
Verifikasi alamat IP keluar
Login ke Instance ECS, jalankan curl --interface <alamat IP pribadi ENI sekunder> https://ifconfig.me, dan verifikasi bahwa alamat IP egress publik untuk lalu lintas yang dikirim dari setiap alamat IP pribadi adalah EIP yang sesuai.
[root@iZbxxx ~]# echo $(curl --silent --interface 192.168.0.2 https://ifconfig.me)
47.xxx.xxx.13
[root@iZbxxx ~]# echo $(curl --silent --interface 192.168.0.1 https://ifconfig.me)
121.xxx.xxx.23
[root@iZbxxx ~]# echo $(curl --silent --interface 192.168.0.252 https://ifconfig.me)
121.xxx.xxx.175
Verifikasi jalur lalu lintas simetris
-
Login ke Instance ECS uji lain yang dapat mengakses internet, lalu jalankan
ping <EIP yang diikat ke ENI sekunder>. -
Pada saat yang sama, login ke Instance ECS ini dan jalankan perintah
tcpdump -i eth1 icmpuntuk menangkap paket ICMP padaeth1.
Anda dapat melihat bahwa paket masuk melalui eth1 dan juga dikembalikan dari eth1, yang menunjukkan bahwa jalur lalu lintas masuk dan keluar konsisten.
[root@iZbp1xxx_uv2Z ~]# tcpdump -i eth1 icmp
dropped privs to tcpdump
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 262144 bytes
10:14:34.410905 IP 47.xxx.xxx.250 > iZbpxxx_uv2Z: ICMP echo request, id 19, seq 1, length 64
10:14:34.410944 IP iZbpxxx_juv2Z > 47.xxx.xxx.250: ICMP echo reply, id 19, seq 1, length 64
10:14:35.412272 IP 47.xxx.xxx.250 > iZbpxxx_juv2Z: ICMP echo request, id 19, seq 2, length 64
10:14:35.412307 IP iZbpxxx_juv2Z > 47.xxx.xxx.250: ICMP echo reply, id 19, seq 2, length 64
10:14:36.413675 IP 47.xxx.xxx.250 > iZbpxxx_uv2Z: ICMP echo request, id 19, seq 3, length 64
10:14:36.413707 IP iZbpxxx_juv2Z > 47.xxx.xxx.250: ICMP echo reply, id 19, seq 3, length 64
Pertimbangan produksi
-
Pencegahan risiko: Solusi ini menggunakan satu Instance ECS. Untuk ketersediaan tinggi, gunakan load balancer. Perlu diketahui bahwa reboot instance atau perubahan konfigurasi jaringan dapat menyebabkan gangguan layanan.
-
Pemantauan dan peringatan: Siapkan pemantauan dan peringatan untuk metrik penting pada ENI sekunder, seperti lalu lintas jaringan, penggunaan CPU, dan penggunaan memori, agar anomali dapat segera terdeteksi.
-
Penguatan keamanan: Konfigurasikan security group untuk ENI sekunder berdasarkan prinsip hak istimewa minimal. Izinkan hanya port dan alamat IP sumber yang esensial bagi layanan Anda.
Penagihan
-
-
Biaya konfigurasi EIP (biaya retensi IP publik):
-
EIP pay-as-you-go: Saat diikat ke ENI sekunder, biaya konfigurasi (biaya retensi IP publik) dikenakan meskipun tidak ada lalu lintas internet.
-
EIP Subscription: Tidak dikenakan biaya konfigurasi.
-
-
Biaya lalu lintas internet:
-
EIP pay-as-you-go: Biaya dikenakan berdasarkan metode penagihan yang dipilih (bayar-per-bandwidth atau bayar-per-lalu-lintas).
-
EIP Subscription: Biaya dikenakan berdasarkan bandwidth puncak.
-
-
-
Sumber daya lain: Sumber daya seperti Instance ECS ditagih sesuai aturan penagihan standarnya. ENI sekunder tidak dikenakan biaya.