Dalam tutorial ini, Anda akan mempelajari cara menginstal sertifikat SSL di AWS (Amazon Web Services). Di AWS, Anda tidak menginstal sertifikat pada satu server tunggal seperti yang Anda lakukan dengan Apache atau Nginx. Sebaliknya, Anda mengimpor sertifikat sekali ke dalam penyimpanan sertifikat, lalu melampirkannya ke layanan terkelola (load balancer, CloudFront, atau API Gateway) yang mengakhiri koneksi TLS untuk Anda. Panduan ini mencakup AWS Certificate Manager (ACM), penyimpanan sertifikat IAM lama, dan Elastic Load Balancing (ELB).
Sebelum instalasi, Anda perlu membuat Certificate Signing Request (CSR) dan mengirimkannya ke Certificate Authority untuk mendapatkan persetujuan. Jika Anda belum menyelesaikan langkah ini, mulailah dari bagian pertama tutorial ini. Jika Anda sudah memiliki file sertifikat SSL, langsung saja lompat ke panduan instalasi di bawah ini.
Cara membuat kode CSR di AWS
Saat mengajukan sertifikat SSL, salah satu langkah penting adalah mengirimkan kode CSR ke penyedia SSL Anda, yang juga disebut Certificate Authority. CSR berisi informasi terenkode tentang nama domain dan organisasi Anda. Anda tidak dapat memperoleh sertifikat SSL yang ditandatangani tanpa menyediakan blok kode ini. Anda memiliki dua pilihan:
- Gunakan CSR Generator kami untuk membuat CSR secara otomatis.
- Buat CSR secara manual. Pilihan terbaik adalah membuat CSR pada server yang sama tempat sertifikat SSL Anda akan berjalan. Pilih tutorial untuk platform Anda:
Jika Anda hanya memiliki load balancer dan tidak ada server web origin untuk menjalankan perintah tersebut, Anda dapat membuat CSR dan private key Anda dengan alat OpenSSL:
openssl req -new -newkey rsa:2048 -nodes -keyout yoursite.key -out example.csr
Catatan: ganti yoursite dengan nama domain yang ingin Anda amankan. Perintah ini juga menulis private key Anda (yoursite.key); simpan dengan aman, karena Anda memerlukannya nanti untuk mengimpor sertifikat.
Setelah Anda menjalankan perintah tersebut, OpenSSL menulis CSR ke example.csr. Buka file itu dan salin seluruh bloknya, termasuk baris —–BEGIN CERTIFICATE REQUEST—– dan —–END CERTIFICATE REQUEST—–. Anda akan menempelkan kode ini saat mengaktivasi sertifikat SSL Anda.
Siapkan semua file sertifikat
Sebelum memulai instalasi, pastikan Anda memiliki semua file sertifikat yang diperlukan. Setelah Certificate Authority menandatangani sertifikat SSL Anda, mereka akan mengirimkan file instalasi ke kotak masuk Anda. Berikut yang Anda perlukan:
- File sertifikat utama Anda, yang diterbitkan untuk nama domain yang ingin Anda amankan.
- CA bundle (rantai sertifikat intermediate) dari Certificate Authority Anda.
- Private key Anda.
Sertifikat SSL dan CA bundle Anda tiba dalam arsip ZIP yang dikirimkan oleh CA. Private key adalah yang Anda buat bersama kode CSR Anda; file ini tetap berada di lokasi yang sama tempat Anda membuat CSR.
Satu hal terakhir yang perlu diperiksa adalah format file Anda. ACM dan IAM hanya menerima file berformat PEM, jadi pastikan sertifikat, chain, dan private key Anda dalam format PEM. PEM adalah format teks yang bisa memiliki beberapa ekstensi file (.pem, .key, .cer, .crt, dan lainnya); file PEM dimulai dengan baris seperti —–BEGIN CERTIFICATE—–. Private key harus tidak dienkripsi: ACM menolak key yang dilindungi oleh password atau passphrase.
Jika Anda menerima file dalam format lain, seperti PFX/PKCS#12, konversikan terlebih dahulu ke PEM. Anda dapat melakukannya dengan perintah OpenSSL. Setelah file Anda dalam format PEM, Anda siap menginstal sertifikat Anda.
Instal sertifikat SSL di AWS Certificate Manager (ACM)
ACM adalah tempat yang direkomendasikan untuk menyimpan sertifikat bagi layanan terkelola AWS. Anda dapat mengimpor sertifikat pihak ketiga Anda melalui konsol atau CLI.
Opsi A: Impor melalui konsol ACM
- Buka konsol AWS dan buka Certificate Manager. Pastikan Anda berada di Region yang benar (kanan atas). Impor sertifikat di Region yang sama dengan layanan yang akan menggunakannya. Untuk CloudFront, gunakan US East (N. Virginia), us-east-1.
- Pilih Import certificate.
- Di Certificate body, tempelkan sertifikat utama Anda (blok yang dimulai dengan —–BEGIN CERTIFICATE—–).
- Di Certificate private key, tempelkan private key Anda yang tidak dienkripsi (blok yang dimulai dengan —–BEGIN PRIVATE KEY—– atau —–BEGIN RSA PRIVATE KEY—–).
- Di Certificate chain, tempelkan CA bundle Anda (sertifikat intermediate).
- Pilih Next, tambahkan tag jika ada, lalu pilih Import.
Opsi B: Impor dengan AWS CLI
Jalankan perintah di bawah ini untuk mengunggah sertifikat Anda ke ACM. Perhatikan awalan fileb://: ini memberi tahu CLI untuk membaca setiap file sebagai byte mentah, yang memang diharapkan oleh ACM.
aws acm import-certificate
--certificate fileb://example.crt
--private-key fileb://example.key
--certificate-chain fileb://example-bundle.crt
Catatan: ganti setiap nama file example dengan nama file Anda yang sebenarnya. Jika impor berhasil, CLI akan mengembalikan ARN (Amazon Resource Name) sertifikat. Anda memerlukan identifikasi ini untuk melampirkan sertifikat ke sebuah layanan. Berikut daftar lengkap perintah ACM untuk mengelola sertifikat Anda lebih lanjut.
Catatan penting:
- Sertifikat yang diimpor tidak diperbarui otomatis. ACM hanya memperbarui otomatis sertifikat yang diterbitkannya sendiri. Anda bertanggung jawab untuk melacak tanggal kedaluwarsa sertifikat yang diimpor dan mengimpor ulang sertifikat baru sebelum masa berlakunya habis (AWS merekomendasikan setidaknya 24 jam sebelum kedaluwarsa). Mengimpor ulang ke dalam sertifikat ACM yang sama akan mempertahankan asosiasi layanan yang ada, sehingga load balancer atau distribusi terus menggunakannya tanpa perubahan lebih lanjut.
- Region sangat penting. Sertifikat ACM bersifat Regional. Impor di Region yang sama dengan load balancer atau layanan yang akan menggunakannya. CloudFront hanya menerima sertifikat dari us-east-1.
Instal sertifikat SSL di AWS IAM (lama)
Penyimpanan sertifikat IAM adalah metode yang lebih lama, dan AWS merekomendasikan ACM untuk penerapan baru. Gunakan IAM hanya jika suatu layanan atau Region tidak mendukung ACM, atau jika Anda secara khusus memerlukan penyimpanan IAM (misalnya, beberapa konfigurasi CloudFront tertentu, di mana path harus dimulai dengan /cloudfront/). Unggah sertifikat ke IAM dengan:
aws iam upload-server-certificate
--server-certificate-name certificate-name
--certificate-body file://example.crt
--certificate-chain file://example-bundle.crt
--private-key file://example.key
Ganti nilai-nilai seperti yang ditunjukkan di bawah ini:
- –server-certificate-name: nama khusus yang mudah diingat, misalnya nama domain Anda. Gunakan hanya karakter alfanumerik huruf besar dan kecil; spasi tidak diperbolehkan.
- –certificate-body: nama file sertifikat SSL utama Anda.
- –certificate-chain: nama file CA bundle Anda.
- –private-key: nama file private key Anda.
Sertifikat, private key, dan chain semuanya harus berformat PEM, dan private key harus cocok dengan sertifikat. Jika unggahan berhasil, CLI akan mengembalikan metadata sertifikat server, termasuk path, nama, ID, ARN, tanggal unggah, dan tanggal kedaluwarsanya. Untuk bantuan lebih lanjut tentang pengelolaan SSL dan pemecahan masalah, lihat panduan resmi Amazon.
Lampirkan sertifikat di ELB (Elastic Load Balancing)
Mengimpor sertifikat ke ACM atau IAM belum membuatnya aktif digunakan. Sertifikat baru menjadi aktif setelah Anda melampirkan ARN-nya ke sebuah layanan. Bagian ini mengasumsikan Anda sudah mengimpor sertifikat dan ingin membuat atau memperbarui listener HTTPS pada load balancer yang sudah ada. Anda akan memerlukan ARN sertifikat Anda serta nama atau ARN load balancer.
Classic Load Balancer
Gunakan perintah di bawah ini untuk membuat listener HTTPS pada Classic Load Balancer dan menetapkan sertifikat kepadanya:
aws elb create-load-balancer-listeners
--load-balancer-name my-load-balancer
--listeners "Protocol=HTTPS,LoadBalancerPort=443,InstanceProtocol=HTTP,InstancePort=80,SSLCertificateId=ARN"
Ganti ARN dengan ARN sertifikat Anda dari ACM atau IAM. Jika Anda sudah memiliki listener HTTPS dan hanya ingin mengganti dengan sertifikat baru, gunakan:
aws elb set-load-balancer-listener-ssl-certificate
--load-balancer-name my-load-balancer
--load-balancer-port 443
--ssl-certificate-id NewARN
Ganti NewARN dengan ARN sertifikat baru. Berikut rangkaian lengkap perintah ELB, dan panduan resmi Amazon tentang listener HTTPS untuk Classic Load Balancer.
Application Load Balancer
Jalankan perintah berikut untuk membuat listener HTTPS pada Application Load Balancer. Nilai –ssl-policy di bawah ini memilih kebijakan keamanan yang mendukung TLS 1.3 dan TLS 1.2:
aws elbv2 create-listener
--load-balancer-arn my-load-balancer-arn
--protocol HTTPS
--port 443
--certificates CertificateArn=my-certificate-arn
--ssl-policy ELBSecurityPolicy-TLS13-1-2-2021-06
--default-actions Type=forward,TargetGroupArn=my-target-group-arn
Anda dapat menemukan nilai my-load-balancer-arn dan my-target-group-arn dengan menjalankan:
aws elbv2 describe-target-groups
Ini menampilkan load balancer dan target group yang relevan pada akun Anda. Untuk menambahkan sertifikat baru ke listener HTTPS yang sudah ada, gunakan:
aws elbv2 modify-listener
--listener-arn my-https-listener-arn
--certificates CertificateArn=my-new-certificate-arn
Anda dapat menemukan nilai my-https-listener-arn dengan:
aws elbv2 describe-listeners
--load-balancer-arn my-load-balancer-arn
Lihat referensi perintah elbv2 untuk mengelola Application Load Balancer Anda lebih lanjut.
Uji instalasi SSL Anda
Buka versi HTTPS domain Anda dan periksa apakah ikon gembok muncul. Klik ikon tersebut untuk memeriksa detail sertifikat. Untuk pengujian yang lebih mendalam, gunakan SSL Checker kami: alat ini memindai instalasi Anda dan membuat laporan instan. Anda juga dapat mengonfirmasi sertifikat melalui baris perintah:
echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -issuer -dates
Perintah ini mencetak penerbit dan tanggal keberlakuan sertifikat yang disajikan oleh load balancer. Jika Anda mengimpor sertifikat baru namun masih melihat sertifikat lama, pastikan listener menunjuk ke ARN yang baru dan Anda menguji Region serta endpoint yang benar.
Pertanyaan yang Sering Diajukan
Anda tidak menginstalnya pada satu server tunggal. Anda mengimpor sertifikat ke AWS Certificate Manager (ACM), lalu melampirkan ARN yang dihasilkan ke layanan terkelola yang mengakhiri koneksi TLS, seperti Application atau Classic Load Balancer, distribusi CloudFront, atau domain khusus API Gateway.
Tidak. ACM hanya memperbarui otomatis sertifikat yang diterbitkannya sendiri. Sertifikat pihak ketiga yang diimpor harus diterbitkan ulang dan diimpor ulang sebelum masa berlakunya habis. Mengimpor ulang ke dalam sertifikat ACM yang sama akan mempertahankan asosiasi layanannya, sehingga load balancer terus menyajikan sertifikat yang diperbarui tanpa perubahan tambahan.
Gunakan ACM. Penyimpanan sertifikat IAM adalah metode lama yang dipertahankan AWS terutama untuk kompatibilitas mundur dan untuk kasus-kasus yang tidak dicakup oleh ACM. Untuk sebagian besar konfigurasi, termasuk load balancer dan CloudFront, ACM adalah pilihan yang direkomendasikan.
Alasan paling umum adalah karena key tersebut dienkripsi. ACM hanya menerima private key yang tidak dienkripsi, berformat PEM, dan sesuai dengan sertifikat. Hapus passphrase terlebih dahulu, lalu impor. Pastikan ketiga bagian (sertifikat, chain, dan key) berformat PEM.
Impor di Region yang sama dengan load balancer atau layanan yang akan menggunakannya, karena sertifikat ACM bersifat Regional. CloudFront adalah pengecualian: hanya menerima sertifikat yang diimpor ke US East (N. Virginia), us-east-1.
Hemat 10% untuk Sertifikat SSL saat memesan hari ini!
Penerbitan cepat, enkripsi kuat, kepercayaan peramban 99,99%, dukungan khusus, dan jaminan uang kembali 25 hari. Kode kupon: SAVE10

