Untuk mengontrol akses ke instans Application Load Balancer (ALB), konfigurasikan security group. Berbeda dengan access control lists (ACLs), security group ALB mendukung kontrol akses berdasarkan protokol dan port serta menyediakan kebijakan kontrol akses untuk alamat IPv6.
Skenario
Jika instans ALB tidak dikaitkan dengan security group, port listener-nya secara default mengizinkan semua permintaan inbound.
Ketika instans ALB dikaitkan dengan security group tetapi tidak ada kebijakan deny yang dikonfigurasi, port listener ALB secara default mengizinkan semua permintaan inbound. Untuk hanya mengizinkan akses dari alamat IP tertentu, tambahkan kebijakan deny sebagai aturan catch-all.
Untuk menolak atau mengizinkan akses ke instans ALB dari alamat IP tertentu, lihat Gunakan security group sebagai daftar hitam dan daftar putih.
Untuk menerapkan kontrol akses berbasis protokol atau port untuk instans ALB, lihat Terapkan kontrol akses tingkat port dengan security group.
Jika instans ALB Anda memerlukan kontrol akses dan Anda ingin mengontrol lalu lintas inbound instans ALB, Anda dapat menambahkan security group ke instans ALB dan mengonfigurasi aturan security group yang sesuai berdasarkan kebutuhan bisnis Anda.
Lalu lintas outbound traffic dari load balancer terdiri atas tanggapan terhadap permintaan klien. Untuk memastikan operasi bisnis berjalan normal, security group untuk instans ALB tidak membatasi lalu lintas outbound. Anda tidak perlu mengonfigurasi aturan outbound untuk security group tersebut.
Setelah instans ALB dibuat, sistem secara otomatis menghasilkan Managed security groups di VPC instans tersebut. Security group ini dikelola oleh instans ALB, dan Anda hanya memiliki izin tampilan. Security group yang dikelola ALB mencakup dua jenis aturan berikut:
Aturan dengan prioritas 1: Secara default, mengizinkan traffic dari alamat IP lokal, yang digunakan untuk komunikasi dengan server backend.
Saat menambahkan aturan security group, jangan menambahkan kebijakan deny dengan prioritas 1 untuk alamat IP lokal instans ALB. Hal ini akan bertentangan dengan kebijakan managed security group dan mengganggu komunikasi antara instans ALB dan server backend Anda. Anda dapat menemukan alamat IP lokal di halaman detail instans di Application Load Balancer (ALB) console.
Aturan dengan prioritas 100: Secara default, mengizinkan traffic dari semua alamat IP.
Default access control rules (tidak terlihat) dari security group dasar atau enterprise mencakup aturan yang menolak semua traffic lainnya. Namun, aturan izin default dari managed security group memiliki prioritas lebih tinggi.
Tiga skenario berikut menjelaskan bagaimana security group mengontrol akses port untuk instans ALB yang terkait. Dalam contoh ini, instans ALB memiliki listener HTTP pada port 80 dan satu lagi pada port 81.
Skenario | Aturan security group | Hasil yang diharapkan | Tautan terkait |
Instans ALB tidak dikaitkan dengan security group. | Port listener ALB secara default mengizinkan semua permintaan inbound. |
| Langkah 5: Jangan kaitkan instans ALB dengan security group dan verifikasi hasilnya |
Instans ALB dikaitkan dengan security group. | Tolak akses ke HTTP port 81. Catatan Hanya aturan security group yang relevan yang tercantum; aturan default lainnya dihilangkan. |
| Langkah 6: Kaitkan instans ALB dengan security group dan verifikasi hasilnya |
Ubah security group yang dikaitkan dengan instans ALB. |
Catatan Hanya aturan security group yang relevan yang tercantum; aturan default lainnya dihilangkan. |
|
Batasan
Anda dapat mengelola traffic akses untuk upgrade instans ALB dengan security group atau access control lists (ACLs). Instans ALB versi lama hanya mendukung kontrol akses dengan ACLs. Jika Anda perlu menggunakan security group, buat instans baru atau hubungi account manager Anda untuk meminta upgrade instans yang sudah ada.
Kategori | Jenis kelompok keamanan | Deskripsi |
Security group yang didukung ALB |
|
Untuk informasi selengkapnya tentang security group dasar dan enterprise, lihat Security group dasar dan advanced. |
Security group yang tidak didukung ALB | managed security group | Untuk informasi selengkapnya tentang managed security group, lihat Managed security groups. |
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 VPC1. Instans ini berfungsi sebagai server backend untuk instans Application Load Balancer (ALB), dan Anda telah men-deploy aplikasi berbeda di masing-masingnya.
Untuk membuat instans ECS, lihat Buat instans menggunakan tab peluncuran kustom.
Untuk menguji kontrol akses security group terhadap traffic IPv6, pastikan ECS01 dan ECS02 mendukung komunikasi IPv6.
Contoh berikut menunjukkan cara men-deploy aplikasi uji coba di ECS01 dan ECS02:
Anda telah mendaftarkan nama domain dan menyelesaikan pendaftaran ICP yang diperlukan. Untuk informasi selengkapnya, lihat Daftarkan nama domain Alibaba Cloud dan Pendaftaran ICP.
Langkah-langkah
Langkah 1: Buat grup server
Masuk ke ALB console.
Di bilah navigasi atas, pilih wilayah. Topik ini menggunakan China (Hangzhou) sebagai contoh.
Di panel navigasi kiri, pilih .
Di halaman Server Groups, klik Create Server Group.
Di dialog Create Server Group, konfigurasikan parameter berikut dan klik Create.
Bagian ini hanya menjelaskan parameter utama. Gunakan nilai default untuk parameter lainnya. Untuk informasi selengkapnya, lihat Buat dan kelola grup server.
Parameter
Deskripsi
Server Group Type
Pilih Server.
Server Group Name
Masukkan nama grup server.
VPC
Pilih VPC1.
Backend Protocol
Pilih HTTP.
Scheduling Algorithm
Pilih Weighted Round-robin.
Di dialog The server group is created, klik Add Backend Server.
Di tab Backend Servers, klik Add Backend Server.
Di panel Add Backend Server, pilih instans ECS01 dan ECS02, lalu klik Next.
Atur port dan bobot untuk server backend, lalu klik OK.
Langkah 2: Buat instans ALB dan listener
Masuk ke ALB console.
Di halaman Instances, klik Create ALB.
Di halaman pembelian, konfigurasikan parameter berikut.
Tutorial ini hanya menjelaskan parameter yang relevan. Biarkan semua parameter lainnya pada nilai default. Untuk informasi selengkapnya tentang parameter, lihat Buat dan kelola instans ALB.
Region: Pilih China (Hangzhou).
Network Type: Pilih Public.
VPC: Pilih VPC1 yang telah Anda buat.
IP Version: Nilai default adalah IPv4. Pilih Dual-stack agar klien dapat mengakses instans menggunakan alamat IPv4 dan IPv6.
Klik Buy Now dan ikuti petunjuk di layar untuk menyelesaikan pembelian.
Kembali ke halaman Instances, temukan instans ALB yang telah Anda buat, lalu klik ID-nya.
Klik tab Listener, lalu klik Quick Create Listener.
Di dialog Quick Create Listener, konfigurasikan parameter berikut untuk membuat listener HTTP pada port 80, lalu klik OK.
Parameter
Deskripsi
Listener Protocol
Protokol yang digunakan oleh listener. Untuk tutorial ini, pilih HTTP.
Listener Port
Port yang digunakan oleh listener. Untuk tutorial ini, masukkan 80.
Server Group
Pilih Server yang telah Anda buat.
Di tab Listener, klik Quick Create Listener lagi.
Di dialog Quick Create Listener, konfigurasikan parameter berikut untuk membuat listener HTTP pada port 81, lalu klik OK.
Parameter
Deskripsi
Listener Protocol
Protokol yang digunakan oleh listener. Untuk tutorial ini, pilih HTTP.
Listener Port
Port yang digunakan oleh listener. Untuk tutorial ini, masukkan 81.
Server Group
Pilih Server yang telah Anda buat.
Langkah 3: Konfigurasikan resolusi nama domain
Untuk produksi, kami merekomendasikan memetakan nama domain kustom ke nama domain instans ALB dengan membuat rekaman CNAME.
-
Di panel navigasi kiri, pilih .
-
Di halaman Instances, salin nama DNS instans ALB yang telah dibuat.
-
Ikuti langkah-langkah berikut untuk menambahkan rekaman CNAME.
CatatanJika nama domain Anda didaftarkan oleh penyedia selain Alibaba Cloud, Anda harus menambahkan nama domain ke konsol DNS Alibaba Cloud sebelum mengonfigurasi resolusi DNS. Untuk informasi selengkapnya, lihat Kelola nama domain. Jika nama domain Anda didaftarkan di Alibaba Cloud, lanjutkan dengan langkah-langkah berikut.
-
Masuk ke Alibaba Cloud DNS console.
-
Di halaman Authoritative DNS Resolution, temukan nama domain target, lalu klik Settings di kolom Operations.
-
Di halaman Settings, klik Add Record.
-
Di panel Add Record, konfigurasikan rekaman CNAME dengan mengatur parameter berikut, lalu klik OK.
Parameter
Deskripsi
Record Type
Pilih CNAME dari daftar drop-down.
Hostname
Awalan nama domain Anda. Tutorial ini menggunakan @.
CatatanUntuk menggunakan domain root, atur hostname menjadi
@.Query Source
Pilih Default.
Record Value
Masukkan nama DNS instans ALB yang telah Anda salin.
TTL
Time to live (TTL) adalah durasi rekaman DNS disimpan dalam cache di server DNS. Gunakan nilai default.
-
Langkah 4: Buat security group
Untuk menambahkan instans ALB ke security group, Anda harus terlebih dahulu membuat security group di ECS console.
Masuk ke ECS console.
Di panel navigasi kiri, pilih Network & Security > Security Groups.
Di bilah navigasi atas, pilih wilayah. Topik ini menggunakan China (Hangzhou) sebagai contoh.
Di halaman Security Groups, klik Create Security Group.
Di halaman Create Security Group, konfigurasikan parameter di bagian Basic Information.
Topik ini hanya mencantumkan parameter yang relevan. Untuk informasi tentang parameter lainnya, lihat Buat security group.
Network: Pilih VPC yang telah Anda buat.
security group type: Pilih basic security group.
Konfigurasikan parameter access rule untuk security group baru.
Di tab Inbound, klik Add Rule dua kali.
Tambahkan aturan dari tabel berikut, lalu klik Create Security Group.
Parameter
Aturan 1: Tolak traffic IPv4 dan IPv6 ke port 81
(Opsional) Aturan 2: Izinkan traffic IPv6 ke port 80
Action
Pilih Deny.
Pilih Allow.
Priority
Biarkan nilai default 1.
Protocol type
Pilih custom TCP.
CatatanSaat mengonfigurasi aturan security group untuk listener QUIC, pilih custom UDP sebagai tipe protokol.
Port range
Masukkan nomor port 81.
Pilih nomor port HTTP(80).
Source
Pilih
All IPv4 addresses (0.0.0.0/0)danAll IPv6 addresses (::/0).Pilih
All IPv6 addresses (::/0).Description
Masukkan deskripsi untuk aturan security group.
Langkah 5: Verifikasi konektivitas tanpa security group
Uji konektivitas antara klien Anda dan instans ECS01 serta ECS02.
Contoh ini menggunakan klien dengan akses internet publik. Untuk menguji kontrol akses security group terhadap alamat IPv6, pastikan klien Anda mendukung komunikasi IPv6 publik.
Buka jendela command-line dan jalankan
curl -4 http://<custom_domain_name>:80. Output menunjukkan bahwa klien IPv4 dapat mengakses instans ALB melalui HTTP pada port 80.C:\Users\Administrator>curl -4 http://<custom_domain_name>:80 Hello World ! This is ECS02.Jalankan
curl -4 http://<custom_domain_name>:81. Output menunjukkan bahwa klien IPv4 dapat mengakses instans ALB melalui HTTP pada port 81.C:\Users\Administrator>curl -4 http://<custom_domain_name>:81 Hello World ! This is ECS01.(Opsional) Jalankan
curl -6 http://<custom_domain_name>:80. Output menunjukkan bahwa klien IPv6 dapat mengakses instans ALB melalui HTTP pada port 80.C:\Users\Administrator>curl -6 http://<custom_domain_name>:80 Hello World ! This is ECS02.(Opsional) Jalankan
curl -6 http://<custom_domain_name>:81. Output menunjukkan bahwa klien IPv6 dapat mengakses instans ALB melalui HTTP pada port 81.C:\Users\Administrator>curl -6 http://<custom_domain_name>:81 Hello World ! This is ECS01.
Langkah 6: Tambahkan instans ALB ke security group dan verifikasi
Tambahkan instans ALB ke security group dan verifikasi bahwa security group mengontrol akses ke port instans ALB.
Masuk ke ALB console.
Di halaman Instances, temukan instans ALB target lalu klik ID-nya. Di halaman detail instans, klik tab Security Groups.
Di tab Security Groups, klik Create Security Group. Di dialog Add ALB to Security Group, pilih security group yang telah Anda buat di Langkah 4: Buat security group lalu klik OK.
Di panel kiri, klik ID security group target. Klik tab Inbound Policies atau Outbound Policies untuk melihat aturan security group.
Bagian ini hanya mencantumkan aturan inbound security group yang relevan dengan topik ini. Aturan untuk instans ALB adalah sebagai berikut:
Policy
Priority
Protocol
Destination
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/81Source: All IPv6 (::/0)Setelah menambahkan instans ALB ke security group, uji akses ke instans tersebut.
Dari command line klien, jalankan
curl -4 http://<custom_domain_name>:80. Output berikut menunjukkan bahwa klien IPv4 dapat mengakses instans ALB melalui HTTP pada port 80.C:\Users\Administrator>curl -4 http://<custom_domain_name>:80 Hello World ! This is ECS01.(Opsional) Jalankan
curl -6 http://<custom_domain_name>:80. Output berikut menunjukkan bahwa klien IPv6 dapat mengakses instans ALB melalui HTTP pada port 80.C:\Users\Administrator>curl -6 http://<custom_domain_name>:80 Hello World ! This is ECS02.Jalankan
curl -4 http://<custom_domain_name>:81. Koneksi gagal, yang mengonfirmasi bahwa aturan security group yang menolak akses ke port 81 berlaku untuk klien IPv4.C:\Users\Administrator>curl -4 http://<custom_domain_name>:81 curl: (28) Failed to connect to <custom_domain_name> port 81 after 42076 ms: Could not connect to server(Opsional) Jalankan
curl -6 http://<custom_domain_name>:81. Koneksi gagal, yang mengonfirmasi bahwa aturan security group yang menolak akses ke port 81 berlaku untuk klien IPv6.C:\Users\Administrator>curl -6 http://<custom_domain_name>:81 curl: (28) Failed to connect to <custom_domain_name> port 81 after 42121 ms: Could not connect to server
Langkah 7: Ubah dan verifikasi security group
Ubah aturan security group dan verifikasi bahwa aturan tersebut mengontrol akses ke port instans ALB.
Kembali ke halaman Instances ALB, temukan instans ALB target, lalu klik ID instansnya. Di tab Instance Details, klik tab Security Groups.
Di bagian Basic Information, klik ID security group. Atau, di pojok kanan atas tab Security Groups, klik ECS Console untuk membuka halaman Security Group Rules dan mengubah aturan.
Di halaman Security Group Rules, temukan aturan yang mengizinkan akses ke port TCP 80. Di kolom Actions, klik Modify. Atur Policy menjadi Deny, lalu klik Save.
Tabel berikut mencantumkan aturan security group yang telah diperbarui dan relevan dengan topik ini.
Policy
Priority
Protocol
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 mengubah aturan security group untuk instans ALB, uji akses.
Di jendela command-line klien Anda, jalankan perintah
curl -4 http://<custom_domain_name>:80. Output berikut menunjukkan bahwa klien IPv4 tidak dapat mengakses port 80 melalui HTTP, yang mengonfirmasi bahwa aturan security group untuk port 80 berfungsi.C:\Users\Administrator>curl -4 http://<custom_domain_name>:80 curl: (28) Failed to connect to <custom_domain_name> port 80 after 42020 ms: Could not connect to server(Opsional) Jalankan perintah
curl -6 http://<custom_domain_name>:80. Output berikut menunjukkan bahwa klien IPv6 tidak dapat mengakses port 80 melalui HTTP, yang mengonfirmasi bahwa aturan security group untuk port 80 berfungsi.C:\Users\Administrator>curl -6 http://<custom_domain_name>:80 curl: (28) Failed to connect to <custom_domain_name> port 80 after 42077 ms: Could not connect to serverJalankan perintah
curl -4 http://<custom_domain_name>:81. Output berikut menunjukkan bahwa klien IPv4 tidak dapat mengakses port 81 melalui HTTP, yang mengonfirmasi bahwa aturan security group untuk port 81 berfungsi.C:\Users\Administrator>curl -4 http://<custom_domain_name>:81 curl: (28) Failed to connect to <custom_domain_name> port 81 after 42095 ms: Could not connect to server(Opsional) Jalankan perintah
curl -6 http://<custom_domain_name>:81. Output berikut menunjukkan bahwa klien IPv6 tidak dapat mengakses port 81 melalui HTTP, yang mengonfirmasi bahwa aturan security group untuk port 81 berfungsi.C:\Users\Administrator>curl -6 http://<custom_domain_name>:81 curl: (28) Failed to connect to <custom_domain_name> port 81 after 42095 ms: Could not connect to server
Referensi
Console
Untuk mengaitkan atau memutuskan kaitan security group dengan instans ALB, lihat Kaitkan instans ALB dengan security group.
Untuk membuat allowlist atau blocklist untuk instans ALB menggunakan security group, lihat Konfigurasikan security group untuk instans ALB guna menerapkan allowlist atau blocklist.
Untuk informasi selengkapnya tentang security group dasar dan enterprise, lihat Security group dasar dan enterprise.
API
LoadBalancerJoinSecurityGroup: Mengaitkan security group dengan instans Application Load Balancer.
LoadBalancerLeaveSecurityGroup: Memutuskan kaitan security group dari instans Application Load Balancer.