Untuk meningkatkan keamanan cloud, Anda dapat mengontrol akses ke instans NLB berdasarkan protokol, port, atau alamat IP menggunakan grup keamanan. Berbeda dengan Classic Load Balancer (CLB) yang menggunakan access control lists (ACLs), NLB memanfaatkan grup keamanan untuk menyediakan kontrol akses detail halus (fine-grained) di seluruh instans berdasarkan protokol dan port. Topik ini menjelaskan cara mengonfigurasi grup keamanan guna mengontrol akses ke masing-masing listener pada instans NLB.
Skenario
Jika instans NLB tidak dikaitkan dengan grup keamanan, semua lalu lintas ke port listener NLB diizinkan secara default.
Jika instans NLB dikaitkan dengan grup keamanan tetapi tidak ada aturan deny yang dikonfigurasi, semua lalu lintas ke port listener NLB tetap diizinkan secara default. Jika Anda hanya ingin mengizinkan alamat IP tertentu untuk mengakses instans NLB, pastikan untuk menambahkan aturan deny sebagai fallback.
Untuk mengontrol lalu lintas masuk (inbound traffic) ke instans NLB, Anda dapat mengaitkan grup keamanan dengan instans tersebut dan mengonfigurasi aturan grup keamanan sesuai kebutuhan bisnis Anda.
Lalu lintas keluar (outbound traffic) dari load balancer terdiri atas paket respons terhadap permintaan klien. Untuk memastikan operasional bisnis berjalan normal, grup keamanan NLB tidak membatasi lalu lintas keluar. Anda tidak perlu mengonfigurasi aturan keluar (outbound rules) untuk grup keamanan tersebut.
Setelah instans NLB dibuat, sistem secara otomatis membuat grup keamanan terkelola (managed security group) di VPC tempat instans tersebut berada. Grup keamanan terkelola ini dikendalikan oleh instans NLB, dan Anda hanya memiliki akses read-only. Grup keamanan terkelola mencakup dua jenis aturan berikut:
Aturan prioritas 1: Secara default mengizinkan lalu lintas dari Local IP instans untuk komunikasi dengan server backend dan health check.
Saat menambahkan aturan grup keamanan, hindari menambahkan aturan deny dengan prioritas 1 untuk Local IP NLB. Aturan semacam itu dapat bertentangan dengan kebijakan grup keamanan terkelola dan mengganggu komunikasi antara NLB dan layanan backend Anda. Anda dapat login ke NLB console dan melihat Local IP di halaman detail instans.
Aturan prioritas 100: Secara default mengizinkan lalu lintas dari semua alamat IP. Artinya, jika instans NLB dikaitkan dengan grup keamanan tetapi tidak ada aturan deny yang dikonfigurasi, semua lalu lintas ke port listener NLB diizinkan.
Aturan implisit pada grup keamanan dasar atau advanced berisi aturan yang menolak semua lalu lintas lainnya. Dalam kasus ini, aturan izin default dalam grup keamanan terkelola NLB memiliki prioritas lebih tinggi.
Topik ini menjelaskan tiga skenario yang menunjukkan cara mengontrol akses ke instans NLB menggunakan grup keamanan. Contoh-contoh berikut menggunakan instans NLB yang dikonfigurasi dengan TCP listener pada port 80 dan satu lagi pada port 81.
Skenario | Aturan grup keamanan | Hasil yang diharapkan | Prosedur terkait |
1: Instans NLB tidak dikaitkan dengan grup keamanan. | Secara default, port listener NLB mengizinkan semua lalu lintas. | Contoh ini menggunakan instans NLB dengan TCP listener pada port 80 dan 81.
| |
2: Instans NLB dikaitkan dengan grup keamanan. | Tolak akses ke port TCP 81. Catatan Hanya aturan grup keamanan yang relevan dengan topik ini yang dicantumkan. Aturan default tidak ditampilkan. |
| Langkah 4: Tambahkan instans NLB ke grup keamanan dan verifikasi hasilnya |
3: Grup keamanan yang dikaitkan dengan instans NLB dimodifikasi. |
Catatan Hanya aturan grup keamanan yang relevan dengan topik ini yang dicantumkan. Aturan default tidak ditampilkan. |
|
Batasan
Item | Detail |
Jenis grup keamanan yang didukung | Grup keamanan dasar, grup keamanan advanced |
Jenis grup keamanan yang tidak didukung | Grup keamanan terkelola (managed security group) |
Wajib VPC yang sama | Grup keamanan dan instans NLB harus berada dalam VPC yang sama |
Jumlah maksimum grup keamanan | Maksimal 4 grup keamanan per instans NLB |
Tipe campuran tidak diizinkan | Semua grup keamanan yang dikaitkan dengan instans NLB harus memiliki tipe yang sama. Untuk beralih dari dasar ke advanced, hapus dulu instans NLB dari grup keamanan dasar. Untuk beralih dari advanced ke dasar, hapus dulu instans NLB dari grup keamanan advanced |
Perhitungan kuota | Slot grup keamanan tersedia = Kuota grup keamanan ENI untuk ECS − 1 (direservasi untuk grup keamanan terkelola) |
Kuota aturan grup keamanan | Slot aturan tersedia = Kuota aturan grup keamanan ENI untuk ECS − jumlah aturan dalam grup keamanan terkelola |
Instans lama | Instans NLB yang dibuat sebelum 30 September 2022 (selama pratinjau publik) tidak dapat ditambahkan ke grup keamanan. Ganti instans tersebut atau beli yang baru untuk menggunakan fitur ini |
Untuk informasi selengkapnya mengenai perbedaan antara kelompok keamanan dasar dan tingkat lanjut, lihat Kelompok keamanan dasar dan tingkat lanjut.
Prasyarat
Anda telah membuat VPC bernama VPC1. Untuk informasi lebih lanjut, lihat Buat dan kelola VPC.
Anda telah membuat dua instans ECS, ECS01 dan ECS02, di VPC1 untuk berfungsi sebagai server backend bagi instans NLB. Layanan aplikasi telah diterapkan di kedua instans ECS tersebut.
Untuk informasi lebih lanjut tentang cara membuat instans ECS, lihat Buat instans menggunakan wizard.
Topik ini menggunakan contoh penerapan aplikasi berikut pada ECS01 dan ECS02:
Anda telah mendaftarkan nama domain, menyelesaikan Pendaftaran ICP, dan mengonfigurasi rekaman CNAME untuk instans NLB.
Langkah 1: Buat grup server
Login ke NLB console.
Di bilah navigasi atas, pilih wilayah tempat grup server diterapkan. Pada contoh ini, China (Hangzhou) dipilih.
-
Di panel navigasi kiri, pilih NLB > Server Groups.
Di halaman Server Groups, klik Create Server Group.
Di kotak dialog Create Server Group, konfigurasikan parameter berikut lalu klik Create.
Bagian ini hanya menjelaskan parameter yang relevan dengan topik ini. Anda dapat mempertahankan nilai default untuk parameter lainnya. Untuk informasi lebih lanjut, lihat Buat grup server.
Parameter
Deskripsi
Server Group Type
Pilih tipe grup server. Pada contoh ini, Server dipilih.
Server Group Name
Masukkan nama untuk grup server. Pada contoh ini, digunakan RS01.
VPC
Pilih VPC dari daftar drop-down. Pada contoh ini, VPC1 dipilih.
Backend Server Protocol
Pilih protokol untuk server backend. Pada contoh ini, TCP dipilih.
Scheduling Algorithm
Pilih algoritma penjadwalan. Pada contoh ini, Weighted Round-Robin dipilih.
Di kotak dialog The server group is created, klik Add Backend Server.
Di panel Add Backend Server, pilih instans ECS01 dan ECS02 yang telah Anda buat, lalu klik Next.
Atur port dan bobot untuk server yang ditambahkan, lalu klik OK.
Langkah 2: Buat instans NLB dan konfigurasikan listener
Login ke NLB console.
Di bilah navigasi atas, pilih wilayah tempat instans NLB diterapkan. Pada contoh ini, China (Hangzhou) dipilih.
Di halaman Instances, klik Create NLB.
Di halaman pembelian Create NLB(Pay-As-You-Go), konfigurasikan parameter berikut lalu klik Create.
Bagian ini hanya menjelaskan parameter yang relevan dengan topik ini. Untuk informasi lebih lanjut tentang parameter lainnya, lihat Buat instans NLB.
Pilih wilayah. Pada contoh ini, China (Hangzhou) dipilih.
Network Type: Pada contoh ini, Private dipilih.
VPC: Pada contoh ini, VPC1 dipilih.
Kembali ke halaman Instances, temukan instans NLB yang telah dibuat, lalu klik ID instans NLB.
Klik tab Listener. Di tab Listener, klik Quick Create Listener. Di kotak dialog Quick Create Listener, konfigurasikan parameter berikut untuk membuat TCP listener pada port 80, lalu klik OK.
Konfigurasi listener
Deskripsi
Listener Protocol
Pilih protokol listener. Pada contoh ini, TCP dipilih.
Listener Port
Masukkan port listener. Pada contoh ini, digunakan port 80.
Server Group
Pilih Server dan grup server di bawah Server.
Pada contoh ini, grup server RS01 yang Anda buat di Langkah 1: Buat grup server dipilih.
Di tab Listener, klik Quick Create Listener. Di kotak dialog Quick Create Listener, konfigurasikan parameter berikut untuk membuat TCP listener pada port 81, lalu klik OK.
Konfigurasi listener
Deskripsi
Listener Protocol
Pilih protokol listener. Pada contoh ini, TCP dipilih.
Listener Port
Masukkan port listener. Pada contoh ini, digunakan port 81.
Server Group
Pilih Server dan grup server backend di bawah Server.
Pada contoh ini, grup server RS01 yang Anda buat di Langkah 1: Buat grup server dipilih.
Verifikasi aksesibilitas instans NLB sebelum dikaitkan dengan grup keamanan.
Login ke klien Linux yang memiliki akses internet. Jika Anda menggunakan sistem CentOS dan Telnet belum terinstal, Anda dapat menjalankan perintah
yum install -y telnetuntuk menginstalnya.Jalankan perintah
telnet <domain_name> 80untuk menguji apakah klien dapat mengakses port TCP 80 instans NLB.Tanggapan berikut menunjukkan bahwa koneksi berhasil.
Trying *.*.*.*... Connected to www.example.com. Escape character is '^]'.Masukkan nama domain dan nomor port, misalnya
http://<domain_name>:80, di browser Anda. Halaman serupa seperti pada gambar berikut menunjukkan bahwa instans NLB dapat meneruskan permintaan ke server backend.Hello World ! this is ECS01.Jalankan perintah
telnet <domain_name> 81untuk menguji apakah klien dapat mengakses port TCP 81 instans NLB.Trying *.*.*.*... Connected to www.example.com. Escape character is '^]'.Masukkan nama domain dan nomor port, misalnya
http://<domain_name>:81, di browser Anda. Halaman serupa seperti pada gambar berikut menunjukkan bahwa instans NLB dapat meneruskan permintaan ke server backend.Hello World ! this is ECS01.Hasil pengujian menunjukkan bahwa ketika instans NLB tidak dikaitkan dengan grup keamanan, klien dapat mengakses baik TCP listener pada port 80 maupun TCP listener pada port 81.
Langkah 3: Buat grup keamanan
Sebelum menambahkan instans NLB ke grup keamanan, Anda harus terlebih dahulu membuat grup keamanan di ECS console.
Login ke ECS console.
Di panel navigasi kiri, di bawah Network & Security, klik Security Groups.
Di bilah navigasi atas, pilih wilayah tempat Anda ingin membuat grup keamanan. Pada contoh ini, China (Hangzhou) dipilih.
Di halaman Security Groups, klik Create Security Group.
Di halaman Create Security Group, konfigurasikan parameter di bagian Basic Information.
Bagian ini hanya menjelaskan parameter yang relevan dengan topik ini. Untuk informasi lebih lanjut tentang parameter lainnya, lihat Buat grup keamanan.
Network: Pada contoh ini, VPC bernama VPC1 dipilih.
Security Group Type: Pada contoh ini, Basic Security Group dipilih.
Di halaman Create Security Group, konfigurasikan parameter di bagian Rules.
Klik Add Rule. Di halaman Create Security Group Rule, tambahkan aturan inbound untuk menolak akses ke port 81 berdasarkan parameter berikut. Kemudian, tambahkan aturan inbound kedua untuk mengizinkan akses ke port 80 dengan prioritas yang sama. Klik Submit.
Parameter
Deskripsi
Traffic Direction
Pilih Inbound.
Action
Pilih Deny.
Priority
Pertahankan nilai default 1.
Protocol
Pilih Custom TCP.
Source
Pilih
0.0.0.0/0.Port Range
Masukkan nomor port 81.
Description
Masukkan deskripsi untuk aturan grup keamanan.
Langkah 4: Kaitkan instans NLB dan verifikasi
Kaitkan instans NLB dengan grup keamanan yang Anda buat di Langkah 3: Buat grup keamanan dan verifikasi bahwa aturan grup keamanan berlaku untuk instans NLB.
Login ke NLB console.
Di bilah navigasi atas, pilih wilayah tempat instans NLB diterapkan. Pada contoh ini, China (Hangzhou) dipilih.
Di halaman NLB Instances, temukan instans NLB yang dibuat di Langkah 2: Buat instans NLB dan konfigurasikan listener lalu klik ID instans tersebut. Di tab Instance Details, klik tab Security Groups.
Di tab Security Groups, klik Create Security Group. Di kotak dialog Add NLB Instance to Security Group, pilih grup keamanan yang dibuat di Langkah 3: Buat grup keamanan, lalu klik OK.
Di daftar sebelah kiri, klik ID grup keamanan target. Anda kemudian dapat mengklik tab Inbound atau Outbound untuk melihat aturan grup keamanan.
Hanya aturan inbound grup keamanan yang relevan yang ditampilkan di sini. Aturan untuk grup keamanan yang dikaitkan dengan instans NLB adalah sebagai berikut:
Action
Priority
Protocol type
Port range
Source
Allow
1
Custom TCP
Destination: 80/80Source: 0.0.0.0/0Deny
1
Custom TCP
Destination: 81/81Source: 0.0.0.0/0Verifikasi hasil akses setelah mengaitkan instans NLB dengan grup keamanan.
Login ke klien Linux yang memiliki akses internet.
Jalankan perintah
telnet <domain_name> 80untuk menguji apakah klien dapat mengakses TCP listener pada port 80 instans NLB.Tanggapan berikut menunjukkan bahwa koneksi berhasil.
Trying *.*.*.*... Connected to www.example.com. Escape character is '^]'.Masukkan nama domain dan nomor port, misalnya
http://<domain_name>:80, di browser Anda. Halaman serupa seperti pada gambar berikut menunjukkan bahwa instans NLB dapat meneruskan permintaan ke server backend.Hello World ! this is ECS01.Jalankan perintah
telnet <domain_name> 81untuk menguji apakah klien dapat mengakses TCP listener pada port 81 instans NLB.Jika Anda menerima pesan respons seperti di bawah ini, artinya klien tidak dapat mengakses port 81 TCP listener instans NLB. Ini juga berarti bahwa grup keamanan tempat instans NLB ditambahkan sedang memberlakukan kontrol akses pada instans NLB.
Trying *.*.*.*... telnet: connect to address *.*.*.*: Connection timed out Trying *.*.*.*... telnet: connect to address *.*.*.*: Connection timed outMasukkan nama domain dan nomor port di browser Anda, misalnya
http://domain_name:81. Jika halaman web tidak dapat diakses, ini menunjukkan bahwa klien tidak dapat mengakses port 81 TCP listener untuk instans NLB, dan kontrol akses grup keamanan tempat instans NLB ditambahkan telah berlaku pada instans NLB.
Langkah 5: Modifikasi grup keamanan dan verifikasi
Modifikasi aturan grup keamanan dan verifikasi bahwa aturan yang diperbarui untuk instans NLB berlaku.
Kembali ke halaman NLB Instances, temukan instans NLB yang dibuat di Langkah 2: Buat instans NLB dan konfigurasikan listener, lalu klik ID instans tersebut. Di tab Instance Details, klik tab Security Groups.
Di tab Security Groups, klik ECS Console.
Di halaman Security Group Details, temukan aturan yang mengizinkan akses ke port TCP 80. Di kolom Actions, klik Edit, lalu ubah Action menjadi Deny.
Hanya aturan grup keamanan yang relevan yang ditampilkan di sini. Aturan grup keamanan yang dimodifikasi adalah sebagai berikut:
Action
Priority
Protocol type
Port range
Source
Deny
1
Custom TCP
Destination: 80/80Source: 0.0.0.0/0Deny
1
Custom TCP
Destination: 81/81Source: 0.0.0.0/0PentingSetelah Anda memodifikasi atau menambahkan aturan grup keamanan, sistem mungkin secara otomatis menambahkan aturan grup keamanan berprioritas tinggi, seperti aturan Allow untuk lalu lintas All TCP dari 192.168.0.0/16 dengan Priority 1. Aturan yang dihasilkan sistem ini memiliki prioritas lebih tinggi daripada aturan yang ditentukan pengguna dan dapat mengesampingkan aturan Deny yang Anda konfigurasi secara manual.
Sebelum memverifikasi hasil kontrol akses, kami sarankan Anda memeriksa aturan grup keamanan dan menghapus atau menyesuaikan aturan yang dihasilkan sistem yang mungkin bertentangan dengan kebijakan kontrol akses yang Anda inginkan.
Verifikasi hasil akses setelah memodifikasi aturan grup keamanan untuk instans NLB.
Login ke klien Linux yang memiliki akses internet.
Jalankan perintah
telnet <domain_name> 80untuk menguji apakah klien dapat mengakses TCP listener pada port 80 instans NLB.Pesan respons seperti di bawah ini menunjukkan bahwa klien tidak dapat mengakses port 80 TCP listener instans NLB. Ini mengonfirmasi bahwa kontrol akses aturan grup keamanan yang dimodifikasi untuk instans NLB telah berlaku.
Trying *.*.*.*... telnet: connect to address *.*.*.*: Connection timed out Trying *.*.*.*... telnet: connect to address *.*.*.*: Connection timed outMasukkan nama domain dan nomor port di browser, misalnya
http://domain_name:80. Jika halaman web tidak dapat diakses, ini menunjukkan bahwa klien tidak dapat mengakses port 80 TCP listener untuk instans NLB dan kontrol akses grup keamanan tempat instans NLB ditambahkan telah berlaku pada instans NLB.Jalankan perintah
telnet <domain_name> 81untuk menguji apakah klien dapat mengakses TCP listener pada port 81 instans NLB.Jika Anda menerima pesan respons seperti di bawah ini, artinya klien tidak dapat mengakses port 81 TCP listener instans NLB dan aturan grup keamanan yang dimodifikasi untuk kontrol akses pada instans NLB telah berlaku.
Trying *.*.*.*... telnet: connect to address *.*.*.*: Connection timed out Trying *.*.*.*... telnet: connect to address *.*.*.*: Connection timed outMasukkan nama domain dan nomor port di browser Anda, misalnya
http://domain_name:81. Jika halaman web tidak dapat diakses, ini menunjukkan bahwa klien tidak dapat mengakses port 81 TCP listener instans NLB, dan kontrol akses grup keamanan untuk instans NLB telah berlaku pada instans NLB.
Topik terkait
Untuk informasi tentang cara mengaitkan atau memutuskan kaitan instans NLB dengan grup keamanan, lihat Kaitkan instans NLB dengan grup keamanan.
Untuk mengizinkan atau menolak akses dari alamat IP tertentu ke instans NLB, lihat Gunakan grup keamanan sebagai allowlist atau blocklist.
Untuk informasi lebih lanjut tentang grup keamanan, lihat Grup keamanan.
LoadBalancerJoinSecurityGroup: Mengaitkan grup keamanan dengan instans NLB.
LoadBalancerLeaveSecurityGroup: Memutuskan kaitan grup keamanan dari instans NLB.