Grup Keamanan dan Pasangan Kunci
Kendalikan lalu lintas masuk dan keluar dengan grup keamanan, serta kelola autentikasi SSH menggunakan pasangan kunci EC2.
Grup Keamanan dan Pasangan Kunci adalah pelajaran AWS Solutions Architect gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar AWS Solutions Architect, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus AWS Solutions Architect mencakup 4 pelajaran total.
Apa Itu Grup Keamanan?
Grup keamanan adalah firewall virtual berstatus yang mengontrol lalu lintas masuk dan keluar dari serta menuju instans EC2 (atau sumber daya AWS lainnya seperti RDS, Lambda, ELB). Grup keamanan beroperasi pada tingkat instans—setiap aturan menentukan protokol (TCP/UDP/ICMP), rentang port, serta sumber/tujuan (rentang IP atau grup keamanan lain). Tidak seperti firewall tradisional, grup keamanan bersifat berstatus: jika Anda mengizinkan lalu lintas masuk, lalu lintas respons secara otomatis diizinkan keluar tanpa aturan eksplisit.
Aturan Masuk dan Keluar
Grup keamanan memiliki kumpulan aturan masuk dan keluar yang terpisah. Aturan masuk mengontrol lalu lintas yang tiba di instans—secara default, semua lalu lintas masuk ditolak. Aturan keluar mengontrol lalu lintas yang meninggalkan instans—secara default, semua lalu lintas keluar diizinkan. Anda menambahkan aturan Allow secara eksplisit; tidak ada aturan Deny eksplisit dalam grup keamanan (gunakan Network ACL untuk penolakan eksplisit). Semua aturan dalam grup keamanan dievaluasi bersama menggunakan OR logis—aturan Allow mana pun yang cocok akan mengizinkan lalu lintas.
# Add an inbound SSH rule to a security group
aws ec2 authorize-security-group-ingress \
--group-id sg-12345678 \
--protocol tcp \
--port 22 \
--cidr 203.0.113.0/24
# Add an inbound HTTP rule
aws ec2 authorize-security-group-ingress \
--group-id sg-12345678 \
--protocol tcp \
--port 80 \
--cidr 0.0.0.0/0Perantaian Grup Keamanan
Grup keamanan mendukung referensi grup keamanan sumber/tujuan, yang lebih fleksibel dan aman daripada menentukan rentang IP. Contohnya, grup keamanan ALB mengizinkan 0.0.0.0/0 pada port 443. Grup keamanan instans EC2 hanya mengizinkan port masuk 8080 dari ID grup keamanan ALB—bukan dari IP mana pun. Jika ALB diganti atau skalanya berubah, aturan tersebut tetap berlaku dengan benar tanpa perubahan IP. Pola ini membentuk pertahanan berlapis dan dinamis untuk arsitektur bertingkat.
# Allow inbound from another security group (not an IP)
aws ec2 authorize-security-group-ingress \
--group-id sg-ec2-instances \
--protocol tcp \
--port 8080 \
--source-group sg-load-balancerGrup Keamanan Bersifat Stateful
Stateful berarti grup keamanan melacak status koneksi. Jika aturan masuk Anda mengizinkan port TCP 80 dari internet dan klien mengirim permintaan, paket respons (keluar) secara otomatis diizinkan kembali ke klien—meskipun tidak ada aturan keluar untuk port 80. Hal ini pada dasarnya berbeda dari Network ACL, yang tidak berstatus dan memerlukan aturan eksplisit untuk kedua arah lalu lintas. Sifat berstatus membuat grup keamanan lebih mudah dikonfigurasi untuk pola lalu lintas aplikasi yang umum.
Beberapa Grup Keamanan pada Satu Instans
Anda dapat melampirkan beberapa grup keamanan ke satu instans EC2 (hingga 5 secara default, dan dapat disesuaikan). Aturan dari semua grup keamanan yang dilampirkan digabungkan menggunakan gabungan (logika OR)—jika grup keamanan mana pun mengizinkan permintaan, permintaan tersebut diizinkan. Artinya, grup keamanan hanya dapat menambahkan izin, tidak pernah membatasinya—jika Anda ingin memperketat akses, Anda harus menghapus atau mengubah aturan, bukan menambahkan grup keamanan yang lebih ketat. Ingat perilaku aditif ini untuk pertanyaan ujian tentang pembatasan akses.
Perilaku Default Grup Keamanan
Setiap VPC menyertakan grup keamanan default. Aturan defaultnya: lalu lintas masuk diizinkan dari semua instans lain yang juga berada dalam grup keamanan default; lalu lintas keluar diizinkan ke mana saja. Hal ini sengaja dibuat longgar agar instans baru dapat berkomunikasi secara default. Untuk lingkungan produksi, buat grup keamanan khusus dengan kumpulan aturan masuk yang diperketat dan hapus keterkaitan instans dengan grup keamanan default untuk mencegah paparan yang tidak disengaja.
Pasangan Kunci: Cara Kerjanya
Pasangan kunci EC2 menggunakan kriptografi asimetris untuk autentikasi SSH. AWS membuat pasangan kunci (atau Anda mengimpor kunci publik sendiri): AWS menyimpan kunci publik dan memasukkannya ke instans saat peluncuran; Anda mengunduh dan menyimpan kunci privat (file .pem)—AWS tidak pernah menyimpannya. SSH menggunakan kunci privat untuk membuktikan identitas Anda kepada server tanpa mengirimkan kata sandi. Kunci privat harus memiliki izin yang ketat (chmod 400), atau SSH akan menolak menggunakannya.
# Create a key pair and save the private key
aws ec2 create-key-pair \
--key-name ProdKey \
--key-type rsa \
--key-format pem \
--query 'KeyMaterial' \
--output text > ProdKey.pem
chmod 400 ProdKey.pemMemulihkan Akses Tanpa Pasangan Kunci
Jika Anda kehilangan kunci privat untuk instans EC2 Linux, Anda tidak dapat masuk melalui SSH dengan cara biasa. Pilihan pemulihan meliputi: Systems Manager Session Manager (jika agen SSM sedang berjalan dan peran IAM terpasang—tidak memerlukan kunci), EC2 Instance Connect (memasukkan kunci sementara melalui peramban atau CLI—memerlukan port SSH yang terbuka dan izin EIC), atau menghentikan instans, melepaskan volume EBS root, memasangnya ke instans lain, mengubah file authorized_keys, memasangnya kembali, lalu memulai ulang. Untuk Windows, gunakan Systems Manager untuk mengambil kata sandi.
# Connect using EC2 Instance Connect (temporary key injection)
aws ec2-instance-connect send-ssh-public-key \
--instance-id i-0abcdef1234567890 \
--instance-os-user ec2-user \
--ssh-public-key file://~/.ssh/id_rsa.pub
ssh -i ~/.ssh/id_rsa ec2-user@54.123.45.67Praktik Terbaik: Batasi Akses SSH
Membiarkan SSH (port 22) terbuka untuk 0.0.0.0/0 membuat instans Anda terpapar serangan brute force dan pengisian kredensial dari mana saja di internet. Praktik terbaik: batasi SSH ke rentang IP perusahaan tertentu atau gunakan host bastion (kotak lompat) di subnet publik dengan grup keamanan yang dikendalikan secara ketat, lalu lakukan SSH dari bastion ke instans privat. Lebih baik lagi, gunakan Systems Manager Session Manager untuk menghilangkan paparan port SSH sepenuhnya—tidak diperlukan aturan masuk sama sekali.
# Example: restrict SSH to a corporate IP range
aws ec2 authorize-security-group-ingress \
--group-id sg-12345678 \
--protocol tcp \
--port 22 \
--cidr 198.51.100.0/24 # Your corporate CIDRBatas dan Kuota Grup Keamanan
Batas default utama untuk grup keamanan (dapat disesuaikan melalui Service Quotas): hingga 2.500 grup keamanan per VPC, 60 aturan masuk dan 60 aturan keluar per grup keamanan, serta 5 grup keamanan per antarmuka jaringan. Saat grup keamanan lain dijadikan referensi sebagai sumber, setiap kombinasi grup keamanan yang direferensikan dan aturan dihitung sebagai satu aturan. Jika mencapai batas aturan, konsolidasikan dengan merujuk ID grup keamanan, bukan rentang IP individual, atau gunakan daftar prefiks untuk mengelompokkan beberapa CIDR menjadi satu entitas yang mudah dikelola.
Daftar Prefiks Terkelola
Daftar prefiks terkelola adalah sekumpulan blok CIDR yang dapat Anda referensikan dalam aturan grup keamanan atau tabel rute. AWS memelihara daftar prefiks yang dikelola AWS untuk layanan seperti S3 dan CloudFront, sehingga Anda dapat mengizinkan lalu lintas ke dan dari layanan tersebut tanpa memelihara rentang IP sendiri (yang berubah seiring waktu). Anda juga dapat membuat daftar prefiks yang dikelola pelanggan untuk mengelompokkan rentang IP perusahaan—perbarui daftar prefiks di satu tempat, dan semua grup keamanan yang merujuknya akan mewarisi perubahan tersebut secara otomatis.
# Allow outbound HTTPS to Amazon S3 using the AWS-managed prefix list
aws ec2 authorize-security-group-egress \
--group-id sg-12345678 \
--ip-permissions '[{"IpProtocol":"tcp","FromPort":443,"ToPort":443,"PrefixListIds":[{"PrefixListId":"pl-63a5400a"}]}]'Pemeriksaan Singkat
Uji pemahaman Anda tentang konsep AWS Solutions Architect (SAA-C03) dari pelajaran ini.
Ringkasan Pelajaran
Dalam pelajaran ini, Anda mempelajari bahwa: grup keamanan adalah firewall virtual berstatus yang secara default menolak lalu lintas, merangkai grup keamanan berdasarkan ID lebih aman dan fleksibel daripada menggunakan rentang IP, serta pasangan kunci menyediakan autentikasi SSH asimetris, sedangkan Systems Manager Session Manager menghilangkan kebutuhan akan port SSH yang terbuka. Selanjutnya, kita akan membahas pilihan penyimpanan EC2: Instance Store vs EBS.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Grup Keamanan dan Pasangan Kunci” gratis?
Ya — teks lengkap “Grup Keamanan dan Pasangan Kunci” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus AWS Solutions Architect, upgrade ke CoddyKit PRO. Kursus AWS Solutions Architect mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Grup Keamanan dan Pasangan Kunci”?
Kendalikan lalu lintas masuk dan keluar dengan grup keamanan, serta kelola autentikasi SSH menggunakan pasangan kunci EC2. Kamu berlatih AWS Solutions Architect dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai AWS Solutions Architect?
Tidak diperlukan pengalaman sebelumnya. AWS Solutions Architect di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.
Berapa lama pelajaran “Grup Keamanan dan Pasangan Kunci” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran AWS Solutions Architect ini?
Ya. Setiap pelajaran AWS Solutions Architect menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Meluncurkan Instans EC2 Pertama Anda
- Tipe Instans dan Model Harga
- Grup Keamanan dan Pasangan Kunci
- Penyimpanan EC2: Penyimpanan Instans vs EBS