Untuk mengontrol akses ke instans Application Load Balancer (ALB), konfigurasikan grup keamanan. Berbeda dengan daftar kontrol akses (ACL), grup keamanan ALB mendukung kontrol akses berdasarkan protokol dan port serta menyediakan kebijakan kontrol akses untuk alamat IPv6.
Skenario
-
Jika instans ALB tidak dikaitkan dengan grup keamanan, port listener secara default mengizinkan semua permintaan inbound.
-
Ketika instans ALB dikaitkan dengan grup keamanan 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 grup keamanan sebagai daftar hitam dan daftar putih.
-
Untuk menerapkan kontrol akses berbasis protokol atau port untuk instans ALB, lihat Terapkan kontrol akses tingkat port dengan grup keamanan.
-
Jika instans ALB Anda memerlukan kontrol akses dan Anda ingin mengontrol lalu lintas inbound instans ALB, Anda dapat menambahkan grup keamanan ke instans ALB dan mengonfigurasi aturan grup keamanan yang sesuai berdasarkan kebutuhan bisnis Anda.
-
Lalu lintas keluar dari load balancer terdiri atas tanggapan terhadap permintaan klien. Untuk memastikan operasi bisnis berjalan normal, grup keamanan untuk instans ALB tidak membatasi lalu lintas keluar. Anda tidak perlu mengonfigurasi aturan keluar untuk grup keamanan tersebut.
-
Setelah instans ALB dibuat, sistem secara otomatis menghasilkan Grup keamanan terkelola di VPC instans tersebut. Grup keamanan ini dikelola oleh instans ALB, dan Anda hanya memiliki izin tampilan. Grup keamanan terkelola ALB mencakup aturan grup keamanan berikut:
-
Aturan dengan prioritas 1: Secara default, mengizinkan traffic dari alamat IP lokal, yang digunakan untuk komunikasi dengan server backend.
Saat menambahkan aturan grup keamanan, jangan tambahkan kebijakan deny dengan prioritas 1 untuk alamat IP lokal instans ALB. Hal ini akan bertentangan dengan kebijakan grup keamanan terkelola dan mengganggu komunikasi antara instans ALB dan server backend Anda. Anda dapat menemukan alamat IP lokal di halaman detail instans di Konsol Application Load Balancer (ALB).
-
Aturan dengan prioritas 100: Secara default, mengizinkan traffic dari semua alamat IP.
Aturan kontrol akses default (tidak terlihat) dari grup keamanan dasar atau enterprise mencakup aturan yang menolak semua traffic lainnya. Namun, aturan izin default dari grup keamanan terkelola memiliki prioritas lebih tinggi.
-
Untuk instans ALB Edisi Ekstensibel, grup keamanan terkelola mencakup dua aturan tambahan dengan prioritas 1 yang menolak akses klien dari blok CIDR
33.0.0.0/8dan22.0.0.0/16.
-
Tiga skenario berikut menjelaskan cara grup keamanan 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 grup keamanan |
Hasil yang diharapkan |
Tautan terkait |
|
Instans ALB tidak dikaitkan dengan grup keamanan. |
Port listener ALB secara default mengizinkan semua permintaan inbound. |
|
Langkah 5: Jangan kaitkan instans ALB dengan grup keamanan dan verifikasi hasilnya |
|
Instans ALB dikaitkan dengan grup keamanan. |
Tolak akses ke port HTTP 81. Catatan
Hanya aturan grup keamanan yang relevan yang tercantum; aturan default lainnya dihilangkan. |
|
Langkah 6: Kaitkan instans ALB dengan grup keamanan dan verifikasi hasilnya |
|
Ubah grup keamanan yang dikaitkan dengan instans ALB. |
Catatan
Hanya aturan grup keamanan yang relevan yang tercantum; aturan default lainnya dihilangkan. |
|
Batasan
Anda dapat mengelola traffic akses untuk upgrade instans ALB dengan grup keamanan atau daftar kontrol akses (ACL). Instans ALB versi lama hanya mendukung kontrol akses dengan ACL. Jika Anda perlu menggunakan grup keamanan, buat instans baru atau hubungi manajer akun Anda untuk meminta upgrade instans yang sudah ada.
|
Kategori |
Jenis grup keamanan |
Deskripsi |
|
Grup keamanan yang didukung ALB |
|
Untuk informasi selengkapnya tentang grup keamanan dasar dan enterprise, lihat Grup keamanan dasar dan lanjutan. |
|
Grup keamanan yang tidak didukung ALB |
managed security group |
Untuk informasi selengkapnya tentang grup keamanan terkelola, lihat Grup keamanan terkelola. |
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-masing instans.
-
Untuk membuat instans ECS, lihat Buat instans menggunakan tab peluncuran kustom.
Untuk menguji kontrol akses grup keamanan terhadap traffic IPv6, pastikan ECS01 dan ECS02 mendukung komunikasi IPv6.
-
Contoh berikut menunjukkan cara men-deploy aplikasi uji 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 Konsol ALB.
-
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 Konsol ALB.
-
Di halaman Instances, klik Create ALB.
-
Di halaman pembelian, konfigurasikan parameter berikut.
Tutorial ini hanya menjelaskan parameter yang relevan. Biarkan semua parameter lain pada nilai default-nya. Untuk informasi selengkapnya tentang parameter tersebut, 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 untuk mengizinkan klien 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 tersebut 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 Konsol DNS Alibaba Cloud.
Di halaman Public Zone, 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 grup keamanan
Untuk menambahkan instans ALB ke grup keamanan, Anda harus terlebih dahulu membuat grup keamanan di Konsol ECS.
-
Masuk ke Konsol ECS.
-
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 grup keamanan.
-
Network: Pilih VPC yang telah Anda buat.
-
security group type: Pilih basic security group.
-
-
Konfigurasikan parameter aturan akses untuk grup keamanan baru.
-
Di tab Inbound, klik Add Security Group 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 grup keamanan 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 grup keamanan.
-
Langkah 5: Verifikasi konektivitas tanpa grup keamanan
Uji konektivitas antara klien Anda dan instans ECS01 serta ECS02.
Contoh ini menggunakan klien dengan akses internet publik. Untuk menguji kontrol akses grup keamanan 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 grup keamanan dan verifikasi
Tambahkan instans ALB ke grup keamanan dan verifikasi bahwa grup keamanan mengontrol akses ke port instans ALB.
Masuk ke Konsol ALB.
-
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 grup keamanan yang telah Anda buat di Langkah 4: Buat grup keamanan lalu klik OK.
-
Di panel kiri, klik ID grup keamanan target. Klik tab Inbound Policies atau Outbound Policies untuk melihat aturan grup keamanan.
Bagian ini hanya mencantumkan aturan grup keamanan inbound 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 grup keamanan, 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 grup keamanan 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 grup keamanan 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 grup keamanan
Ubah aturan grup keamanan dan verifikasi bahwa aturan tersebut mengontrol akses ke port instans ALB.
-
Kembali ke halaman Instances ALB, temukan instans ALB target, lalu klik ID instans-nya. Di tab Instance Details, klik tab Security Groups.
-
Di bagian Basic Information, klik ID grup keamanan. 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 Security Group Rule. Atur Action menjadi Deny, lalu klik Save.
Tabel berikut mencantumkan aturan grup keamanan 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 grup keamanan 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 grup keamanan 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 grup keamanan 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 server -
Jalankan 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 grup keamanan 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 grup keamanan 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
Konsol
-
Untuk mengaitkan atau membatalkan pengaitan grup keamanan dengan instans ALB, lihat Kaitkan instans ALB dengan grup keamanan.
-
Untuk membuat daftar izin atau daftar blokir untuk instans ALB menggunakan grup keamanan, lihat Konfigurasikan grup keamanan untuk instans ALB guna menerapkan daftar izin atau daftar blokir.
-
Untuk informasi selengkapnya tentang grup keamanan dasar dan enterprise, lihat Grup keamanan dasar dan enterprise.
API
-
LoadBalancerJoinSecurityGroup: Mengaitkan grup keamanan dengan instans Application Load Balancer.
-
LoadBalancerLeaveSecurityGroup: Membatalkan pengaitan grup keamanan dari instans Application Load Balancer.