AWS telah menghadirkan layanan baru AWS Certificate Manager . Satu hal yang saya dapatkan dari uraian tersebut adalah jika kami menggunakan layanan ini kami tidak perlu membayar sertifikat lagi.
Mereka memberikan sertifikat untuk Elastic Load Balancer (ELB) dan CloudFront, tetapi saya tidak menemukan EC2 di mana pun.
Apakah ada cara untuk menggunakan sertifikat dengan EC2?
amazon-web-services
ssl
amazon-ec2
Bhavik Joshi
sumber
sumber
Jawaban:
Anda tidak dapat menginstal sertifikat yang dibuat oleh Amazon Certificate Manager (ACM) pada sumber daya yang Anda miliki akses langsung tingkat rendahnya, seperti EC2 atau server di luar AWS, karena Anda tidak diberikan akses ke kunci privat. Sertifikat ini hanya dapat digunakan pada sumber daya yang dikelola oleh infrastruktur AWS - ELB dan CloudFront - karena infrastruktur AWS menyimpan satu-satunya salinan kunci privat untuk sertifikat yang dihasilkannya, dan menjaganya di bawah keamanan yang ketat dengan kontrol akses internal yang dapat diaudit .
Anda harus meminta mesin EC2 Anda mendengarkan di belakang CloudFront atau ELB (atau keduanya, bertingkat, juga akan berfungsi) untuk menggunakan sertifikat ini untuk konten yang berasal dari EC2 ... karena Anda tidak dapat menginstal sertifikat ini langsung di mesin EC2 .
sumber
*.amazonaws.com
nama host EC2 karena, cukup masuk akal, kebijakan Let's Encrypt tidak mengizinkannya ... tetapi untuk domain yang Anda kontrol yang mengarah ke IP instans EC2, atau ELB, atau CloudFront, Anda pasti bisa menggunakan Let's Encrypt, sama seperti di tempat lain.Tidak, Anda tidak dapat menggunakan manajer sertifikat aws untuk menyebarkan sertifikat di EC2. Sertifikat pengelola sertifikat hanya dapat diterapkan pada cloudfront dan penyeimbang beban elastis. Untuk menggunakannya di ec2, Anda harus meletakkan elb di atas ec2, sehingga permintaan dari klien ke load balancer akan dilindungi https dan dari elb ke server web ec2 akan ada di http.
sumber
Jika Anda menggunakan AWS ACM Cert untuk tujuan internal saja, maka Anda mungkin dapat menggunakan AWS ACM Private CA untuk menerbitkan sertifikat. (Saya rasa Anda juga dapat menggunakannya untuk tujuan lalu lintas publik / eksternal jika CA root Anda adalah CA yang dipercaya secara publik).
https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaGetStarted.html
Selama startup Aplikasi / EC2 / Kontainer, setel langkah untuk mengekspor Cert / Private Key yang dikeluarkan ACM Private CA ke tujuan Anda dan mulai merujuknya untuk melayani lalu lintas.
https://docs.aws.amazon.com/cli/latest/reference/acm/export-certificate.html
Satu hal yang baik adalah, Anda dapat mengontrol siapa yang dapat memanggil fitur ekspor sertifikat menggunakan Peran IAM sehingga tidak semua orang dapat mengunduh kunci pribadi dari sertifikat tersebut.
Satu kekurangannya adalah, CA pribadi adalah layanan AWS yang mahal ($ 400 / bulan). https://aws.amazon.com/certificate-manager/pricing/
sumber
One downside with this is, private CA is expensive AWS service($400/month).
di bagian atas karena misalnya saya akan melewatkannya jika saya tidak membaca jawaban ini untuk kedua kalinyaMenambahkan ke komentar di atas, Anda tidak dapat menggunakan AWS Certificate Manager untuk ini, tetapi Anda dapat menambahkan sertifikat Let's Encrypt ke ec2 di server Windows yang menjalankan IIS dan itu cukup mudah:
Kaitkan ip elastis dengan instance ec2 Anda.
Pastikan Anda memiliki domain terdaftar. Anda tidak dapat menggunakan nama jenis ec2----------.us-east-1.compute.amazonaws.com yang disertakan dengan instance Anda.
Melalui setelan DNS penyedia domain Anda, arahkan domain Anda ke Elastic IP.
Hubungkan ke instance ec2 Anda dan tambahkan nama domain Anda ke binding situs.
Buka https://github.com/PKISharp/win-acme/releases
Lihat di bawah aset, dan gunakan versi terbaru (win-acme.v2.0.10.444.zip misalnya). Ini adalah satu-satunya folder aset yang Anda butuhkan.
Buka zip folder, buka terminal sebagai administrator, dan cd ke folder yang sudah dibuka.
Jalankan wacs.exe dan ikuti petunjuknya.
Pastikan grup keamanan yang ditetapkan untuk instans Anda mengizinkan lalu lintas (setidaknya IP Anda sendiri) melalui port HTTPS yang Anda pilih di IIS; ini adalah port 443 secara default.
Saya menemukan tautan di bawah berguna ketika saya memikirkannya. Berikut adalah video yang menggunakan rilis sebelumnya jika Anda memerlukan bantuan lebih lanjut, tetapi idenya sama.
https://www.youtube.com/watch?v=fq5OUOjumuM
Juga artikel ini mungkin bisa membantu:
https://weblog.west-wind.com/posts/2016/feb/22/using-lets-encrypt-with-iis-on-windows
sumber