Konfigurasikan grup keamanan untuk instans Application Load Balancer (ALB) guna mengontrol akses ke lalu lintas ingress berdasarkan protokol, port, dan alamat IP. Grup keamanan menyediakan kontrol akses yang lebih komprehensif dibandingkan Access Control List (ACL) karena juga mendukung alamat IPv6.
Skenario
Tiga skenario berikut menunjukkan bagaimana grup keamanan terkait mengontrol akses tingkat port ke instans ALB. Contoh ini menggunakan instans ALB dengan dua listener: satu pada HTTP port 80 dan satu lagi pada HTTP port 81.
Skenario | Aturan grup keamanan | Hasil yang diharapkan | Referensi |
Instans ALB tidak dikaitkan dengan grup keamanan | Secara default, ALB mengizinkan semua permintaan ke listener-nya. |
| Langkah 5: Verifikasi hasil sebelum mengaitkan ALB dengan grup keamanan |
Instans ALB dikaitkan dengan grup keamanan | Tolak akses pada HTTP port 81. Catatan Hanya aturan grup keamanan yang relevan dengan topik ini yang ditampilkan. Aturan default lainnya tidak ditunjukkan. |
| Langkah 6: Kaitkan instans ALB dengan grup keamanan dan verifikasi hasilnya |
Memodifikasi grup keamanan yang dikaitkan |
Catatan Hanya aturan grup keamanan yang relevan dengan topik ini yang ditampilkan. Aturan default lainnya tidak ditunjukkan. |
|
Prasyarat
Anda telah membuat Virtual Private Cloud (VPC) bernama VPC1. Untuk informasi selengkapnya, lihat Buat dan kelola VPC.
Anda telah membuat dua instans Elastic Compute Service (ECS), ECS01 dan ECS02, di dalam VPC1. Instans ini berfungsi sebagai server backend untuk instans ALB, masing-masing menjalankan aplikasi yang berbeda.
Untuk mempelajari cara membuat instans ECS, lihat Launch kustom instans ECS.
Jika Anda ingin menguji kontrol akses ALB untuk lalu lintas IPv6 menggunakan grup keamanan, pastikan ECS01 dan ECS02 mendukung IPv6.
Contoh berikut menunjukkan cara men-deploy aplikasi uji pada ECS01 dan ECS02:
Anda telah mendaftarkan nama domain dan menyelesaikan ICP Filing yang diperlukan. Untuk informasi selengkapnya, lihat Daftarkan nama domain di Alibaba Cloud dan ICP Filing.
Langkah-langkah
Langkah 1: Buat grup server
Masuk ke Konsol ALB.
Pada bilah navigasi atas, pilih wilayah tempat grup server berada. Topik ini menggunakan China (Hangzhou) sebagai contoh.
Pada panel navigasi kiri, pilih .
Pada halaman Server Groups, klik Create Server Group.
Pada dialog Create Server Group, konfigurasikan parameter berikut lalu klik Create.
Bagian ini hanya menjelaskan parameter yang relevan. Gunakan nilai default untuk parameter lainnya. Untuk informasi selengkapnya, lihat Buat dan kelola grup server.
Parameter
Deskripsi
Server Group Type
Pilih tipe grup server. Untuk topik ini, pilih Server.
Server Group Name
Masukkan nama untuk grup server.
VPC
Pilih Virtual Private Cloud (VPC) tempat grup server dideploy. Pada topik ini, pilih VPC1.
Backend Server Protocol
Pilih protokol untuk server backend. Untuk topik ini, pilih HTTP.
Scheduling Algorithm
Pilih algoritma penjadwalan. Untuk topik ini, pilih Weighted Round-robin.
Saat pesan The server group is created muncul, klik Add Backend Server.
Pada tab Backend Servers, klik Add Backend Server.
Pada 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 ALB dan konfigurasikan listener
Masuk ke Konsol ALB.
Pada halaman Instances, klik Create ALB.
Pada halaman pembelian, konfigurasikan parameter berikut.
Bagian ini hanya menjelaskan parameter yang relevan. Gunakan nilai default untuk parameter lainnya. Untuk informasi selengkapnya, lihat Buat instans ALB.
Region: Untuk topik ini, pilih China (Hangzhou).
Network Type: Untuk topik ini, pilih Public.
VPC: Untuk topik ini, pilih VPC1.
IP Version: Nilai default adalah IPv4. Untuk mengizinkan klien mengakses instans ALB menggunakan alamat IPv4 dan IPv6, pilih Dual-stack.
Klik Buy Now dan ikuti petunjuk di layar untuk menyelesaikan pembayaran.
Kembali ke halaman Instances, temukan instans ALB yang telah Anda buat, lalu klik ID instans tersebut.
Klik tab Listener, lalu klik Quick Create Listener.
Pada wizard Quick Create Listener, atur parameter berikut untuk listener HTTP pada port 80, lalu klik OK.
Parameter
Deskripsi
Listener Protocol
Pilih protokol untuk listener. Untuk topik ini, pilih HTTP.
Listener Port
Tentukan port listener. Pada topik ini, masukkan 80.
Server Group
Di bawah Server, pilih grup server target. Pada topik ini, digunakan grup server yang sudah ada.
Pada tab Listener, klik Quick Create Listener.
Pada wizard Quick Create Listener, atur parameter berikut untuk listener HTTP pada port 81, lalu klik OK.
Parameter
Deskripsi
Listener Protocol
Pilih protokol untuk listener. Untuk topik ini, pilih HTTP.
Listener Port
Tentukan port listener. Pada topik ini, masukkan 81.
Server Group
Di bawah Server, pilih grup server target. Topik ini menggunakan grup server yang sudah ada.
Langkah 3: Konfigurasikan rekaman DNS
Dalam lingkungan produksi, kami merekomendasikan agar Anda memetakan nama domain Anda sendiri ke nama DNS instans ALB dengan membuat Rekaman CNAME.
Pada panel navigasi kiri, pilih .
Pada halaman Instances, salin nama DNS dari instans ALB yang telah Anda buat.
Untuk menambahkan Rekaman CNAME, ikuti langkah-langkah berikut.
CatatanJika nama domain Anda tidak didaftarkan di Alibaba Cloud, Anda harus terlebih dahulu menambahkannya ke konsol DNS Alibaba Cloud sebelum dapat mengonfigurasi rekaman DNS. Untuk informasi selengkapnya, lihat Kelola nama domain. Jika nama domain Anda didaftarkan di Alibaba Cloud, lanjutkan dengan langkah-langkah berikut.
Masuk ke Konsol DNS Alibaba Cloud.
Pada halaman Authoritative DNS Resolution, temukan nama domain target, lalu klik Settings pada kolom Operations.
Pada halaman Settings, klik Add Record.
Pada panel Add Record, konfigurasikan parameter berikut untuk membuat Rekaman CNAME, lalu klik OK.
Parameter
Deskripsi
Record Type
Pilih CNAME dari daftar dropdown.
Hostname
Awalan untuk nama domain Anda. Topik ini menggunakan @.
CatatanUntuk domain root, atur hostname menjadi
@.Query Source
Pilih Default.
Record Value
Masukkan alamat CNAME untuk nama domain, yaitu nama DNS dari instans ALB yang telah Anda salin.
TTL
Time To Live (TTL) adalah durasi rekaman DNS disimpan dalam cache di server DNS. Topik ini menggunakan nilai default.
Langkah 4: Buat grup keamanan
Sebelum Anda dapat mengaitkan instans ALB dengan grup keamanan, Anda harus membuat grup keamanan di Konsol Elastic Compute Service (ECS).
Masuk ke Konsol ECS.
Pada panel navigasi kiri, pilih Network & Security > Security Groups.
Pada bilah navigasi atas, pilih wilayah tempat Anda ingin membuat grup keamanan. Untuk topik ini, dipilih China (Hangzhou).
Pada halaman Security Groups, klik Create Security Group.
Pada halaman Create Security Group, atur parameter pada bagian Basic Configurations.
Bagian ini hanya menjelaskan parameter yang relevan. Untuk informasi selengkapnya tentang parameter lainnya, lihat Buat grup keamanan.
VPC: Untuk topik ini, pilih VPC yang telah Anda buat.
Security group type: Untuk topik ini, pilih Basic Security Group.
Konfigurasikan aturan masuk untuk grup keamanan baru.
Pada tab Inbound Rules, klik Add Rule dua kali.
Tambahkan aturan seperti yang dijelaskan dalam tabel berikut, lalu klik Create Security Group.
Parameter
Aturan 1: Tolak semua akses ke port 81
(Opsional) Aturan 2: Izinkan akses IPv6 ke port 80
Action
Pilih Deny.
Pilih Allow.
Priority
Pertahankan prioritas default 1.
Protocol Type
Pilih Custom TCP.
CatatanJika Anda mengonfigurasi aturan grup keamanan untuk listener QUIC, pilih Custom UDP untuk Protocol Type.
Port Range
Masukkan port 81.
Pilih port 80.
Source
Pilih
All IPv4 (0.0.0.0/0)danAll IPv6 (::/0).Pilih
All IPv6 (::/0).Description
Masukkan deskripsi untuk aturan grup keamanan.
Langkah 5: Verifikasi konektivitas sebelum pengaitan
Uji konektivitas ke instans ALB.
Topik ini menggunakan klien dengan akses jaringan publik sebagai contoh. Jika Anda ingin menguji kontrol akses untuk lalu lintas IPv6, pastikan klien mendukung komunikasi IPv6 publik.
Buka antarmuka baris perintah dan jalankan perintah
curl -4 http://<your_domain_name>:80. Output pada gambar berikut menunjukkan bahwa klien IPv4 dapat mengakses instans ALB melalui HTTP pada port 80.
Jalankan perintah
curl -4 http://<your_domain_name>:81. Output pada gambar berikut menunjukkan bahwa klien IPv4 dapat mengakses instans ALB melalui HTTP pada port 81.
(Opsional) Jalankan perintah
curl -6 http://<your_domain_name>:80. Output pada gambar berikut menunjukkan bahwa klien IPv6 dapat mengakses instans ALB melalui HTTP pada port 80.
(Opsional) Jalankan perintah
curl -6 http://<your_domain_name>:81. Output pada gambar berikut menunjukkan bahwa klien IPv6 dapat mengakses instans ALB melalui HTTP pada port 81.
Langkah 6: Kaitkan grup keamanan dan verifikasi hasilnya
Kaitkan instans ALB dengan grup keamanan dan verifikasi bahwa aturan kontrol akses tingkat port berlaku.
Masuk ke Konsol ALB.
Pada halaman Instances, temukan instans ALB target, klik ID instans tersebut, lalu klik tab Security Groups.
Pada tab Security Groups, klik Create Security Group. Pada dialog Add ALB to Security Group, pilih grup keamanan yang telah Anda buat di Langkah 4: Buat grup keamanan, lalu klik OK.
Pada daftar di sebelah kiri, klik ID grup keamanan target. Anda kemudian dapat mengklik tab Inbound Policies atau Outbound Policies untuk melihat aturan grup keamanan.
Aturan inbound security group yang relevan sekarang adalah sebagai berikut:
Action
Priority
Protocol type
Port range
Source
Allow
1
Custom TCP
Destination: 80/80Source: All IPv4 (0.0.0.0/0)Allow
1
Custom TCP
Destination: 80/80Source: All IPv6(::/0)Deny
1
Custom TCP
Destination: 81/81Source: All IPv4 (0.0.0.0/0)Deny
1
Custom TCP
Destination: 81/81源:所有IPv6(::/0)Setelah mengaitkan instans ALB dengan grup keamanan, uji hasil aksesnya.
Pada antarmuka baris perintah klien, jalankan perintah
curl -4 http://<your_domain_name>:80. Output pada gambar berikut menunjukkan bahwa klien IPv4 dapat mengakses instans ALB melalui HTTP pada port 80.
(Opsional) Jalankan perintah
curl -6 http://<your_domain_name>:80. Output pada gambar berikut menunjukkan bahwa klien IPv6 dapat mengakses instans ALB melalui HTTP pada port 80.
Jalankan perintah
curl -4 http://<your_domain_name>:81. Output pada gambar berikut menunjukkan bahwa klien IPv4 tidak dapat mengakses instans ALB melalui HTTP pada port 81. Hal ini mengonfirmasi bahwa kontrol akses grup keamanan untuk port 81 telah berlaku.
(Opsional) Jalankan perintah
curl -6 http://<your_domain_name>:81. Output pada gambar berikut menunjukkan bahwa klien IPv6 tidak dapat mengakses instans ALB melalui HTTP pada port 81. Hal ini mengonfirmasi bahwa kontrol akses grup keamanan untuk port 81 telah berlaku.
Langkah 7: Modifikasi grup keamanan dan verifikasi hasilnya
Modifikasi aturan grup keamanan dan verifikasi bahwa perubahan tersebut berlaku.
Kembali ke halaman Instances ALB, temukan instans ALB target, lalu klik ID instans tersebut. Pada tab Instance Details, klik tab Security Groups.
Klik ID grup keamanan pada bagian Basic Information, atau klik ECS Console di pojok kanan atas tab Security Groups untuk menuju halaman Security Group Rules dan memodifikasi aturan grup keamanan.
Pada halaman Security Group Details, temukan aturan yang mengizinkan akses ke TCP port 80. Pada kolom Actions, klik Modify, ubah Action menjadi Deny, lalu klik Save.
Aturan grup keamanan yang dimodifikasi adalah sebagai berikut:
Action
Priority
Protocol type
Port range
Source
Deny
1
Custom TCP
Destination: 80/80Source: All IPv4 (0.0.0.0/0)Deny
1
Custom TCP
Destination: 80/80Source: All IPv6 (::/0)Deny
1
Custom TCP
Destination: 81/81Source: All IPv4 (0.0.0.0/0)Deny
1
Custom TCP
Destination: 81/81Source: All IPv6(::/0)Setelah memodifikasi aturan grup keamanan, uji hasil aksesnya.
Pada antarmuka baris perintah klien, jalankan perintah
curl -4 http://<your_domain_name>:80. Jika koneksi gagal seperti yang ditunjukkan pada gambar berikut, hal ini mengonfirmasi bahwa kontrol akses grup keamanan untuk port 80 telah berlaku.
(Opsional) Jalankan perintah
curl -6 http://<your_domain_name>:80. Jika koneksi gagal seperti yang ditunjukkan pada gambar berikut, hal ini mengonfirmasi bahwa kontrol akses grup keamanan untuk port 80 telah berlaku.
Jalankan perintah
curl -4 http://<your_domain_name>:81. Jika koneksi gagal seperti yang ditunjukkan pada gambar berikut, hal ini mengonfirmasi bahwa kontrol akses grup keamanan untuk port 81 masih berlaku.
(Opsional) Jalankan perintah
curl -6 http://<your_domain_name>:81. Jika koneksi gagal seperti yang ditunjukkan pada gambar berikut, hal ini mengonfirmasi bahwa kontrol akses grup keamanan untuk port 81 masih berlaku.
Dokumentasi terkait
Konsol
Untuk mempelajari cara menambahkan atau menghapus instans Application Load Balancer (ALB) dari grup keamanan, lihat Tambahkan instans ALB ke grup keamanan.
Untuk mengizinkan atau menolak akses dari alamat IP tertentu ke instans ALB, lihat Gunakan grup keamanan sebagai allow-list atau deny-list.
Untuk informasi selengkapnya tentang grup keamanan Basic dan Advanced, lihat Grup keamanan Basic dan Advanced.
API
LoadBalancerJoinSecurityGroup: Mengaitkan instans Application Load Balancer (ALB) dengan grup keamanan.
LoadBalancerLeaveSecurityGroup: Menghapus instans Application Load Balancer (ALB) dari grup keamanan.