新しいAWSCertificateManagerサービスを使用してSSL証明書をAWSEC2に追加する方法


91

AWSは、新しいサービスAWS CertificateManagerを考案しました。説明から得た1つのことは、このサービスを使用している場合、証明書の料金を支払う必要がなくなったことです。

Elastic Load Balancer(ELB)とCloudFrontの証明書を提供していますが、EC2はどこにも見つかりませんでした。

EC2で証明書を使用する方法はありますか?


1
あなたは見て持つことができletsencrypt.orgを、クロムなどの貢献者で、自由で信頼できる証明書のために、それはかなり良いに見えてFacebook
トム・


1
わあ、これについては知りませんでした。しかし、私は彼らがこれを許可しないのは正しいと思います。(たとえばRoute53を介して)別のドメインにエイリアスを作成し、提供されているデフォルトのaws dns名を使用しないでください。
トム

最近、AWS CertificateManagerを使用してSSL \ TLS証明書を作成し、それをロードバランサーの背後にあるEC2インスタンスに配置するビデオ[2020年4月-2020]に出くわしました。youtu.be/bWPTq8z1vFY本当に助かりました
nktsamba

回答:


110

Q:Amazon EC2インスタンスまたは自分のサーバーで証明書を使用できますか?

いいえ。現時点では、ACMが提供する証明書は、特定のAWSサービスでのみ使用できます。


Q:ACMが提供する証明書を使用できるAWSサービスはどれですか?

ACMは、次のAWSサービスで使用できます。

•弾性負荷分散

•AmazonCloudFront

•AWSElastic Beanstalk

•AmazonAPIGateway

https://aws.amazon.com/certificate-manager/faqs/

秘密鍵へのアクセスが提供されていないため、EC2やAWSの外部のサーバーなど、直接低レベルにアクセスできるリソースにAmazon Certificate Manager(ACM)によって作成された証明書をインストールすることはできません。これらの証明書は、AWSインフラストラクチャ(ELBおよびCloudFront)によって管理されるリソースにのみデプロイできます。これは、AWSインフラストラクチャが生成する証明書の秘密鍵のコピーのみを保持し、監査可能な内部アクセス制御により厳格なセキュリティで維持するためです。 。

EC2からのコンテンツにこれらの証明書を使用するには、EC2マシンをCloudFrontまたはELBの背後でリッスンする必要があります(または両方ともカスケードされます)...これらの証明書をEC2マシンに直接インストールすることはできないため。


13
幸いなことに、証明書を発行して、ここでインストールできないことがわかった場合は、無料です。
kraftydevil 2017年

1
笑@kraftydevilあなたにはポイントがあると思います。注意letsencrypt.orgは、あなたはどこでもあなたが好きインストールできるという無料のSSL証明書のための正当な認識、非営利の源です。(そして、私はLet's Encryptとは何の関係もありません。)
Michael-sqlbot 2017年

6
@EngineerDolleryいいえ、それは1つの特定のケースにのみ当てはまります。EC2では絶対にLet'sEncryptを使用できます。できないのは、EC2*.amazonaws.comホスト名のLet's Encrypt証明書を取得することです。これ、当然のことながら、Let's Encryptポリシーでは許可されていないためです...ただし、EC2インスタンスIP、ELB、またはCloudFrontを指すドメインの場合は他の場所と同じように、Let'sEncryptを確実に使用できます。
Michael-sqlbot 2017

2
EC2にデプロイされた自動化されたLetsEncrypt
Efren

私はELBにレコードを指摘したときに、今、私は502不正なゲートウェイを取得していますELBの設定すべてに続く
MuaathAli

2

いいえ、EC2に証明書をデプロイするためにaws証明書マネージャーを使用することはできません。証明書マネージャー証明書は、クラウドフロントおよびエラスティックロードバランサーに対してのみデプロイできます。Inoredrでec2で使用するには、elbをec2の上に配置する必要があります。これにより、クライアントからロードバランサーへのリクエストはhttpsで保護され、elbからec2Webサーバーへのリクエストはhttpで行われます。


1

AWS ACM Certを内部目的でのみ使用している場合は、おそらくAWS ACMプライベートCAを使用して証明書を発行できます(ルートCAが公的に信頼されているCAであれば、パブリック/外部トラフィックの目的にも使用できると思います)。

https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaGetStarted.html

Application / EC2 / Containerの起動中に、ACMプライベートCAが発行した証明書/秘密鍵を宛先にエクスポートするステップを設定し、トラフィックを処理するためにそれを参照し始めます。

https://docs.aws.amazon.com/cli/latest/reference/acm/export-certificate.html

1つの良い点は、IAMロールを使用して、誰が証明書のエクスポート機能を呼び出すことができるかを制御できるため、すべてのユーザーが証明書の秘密鍵をダウンロードできるわけではないことです。

これの欠点の1つは、プライベートCAが高価なAWSサービス($ 400 /月)であるということです。 https://aws.amazon.com/certificate-manager/pricing/


ACM PCAでexport-certificateを使用することはできませんが、それも必要ありません。すでに秘密鍵があり、get-certificateはuitに証明書とチェーンを提供します。
無料ウィラート

@FreeWillaert確かに、get-certificateでは秘密鍵の部分を取得できません。このCLIドキュメントを確認してください。そしてこれ。CLI応答の両方の出力を確認してください。これらのCLIコマンドはすでにテスト済みです。
イムラン

@FreeWillaertうん:)。上記のCLIコマンドをDockerスタートアップスクリプトまたはEC2ユーザーデータスクリプトで使用して、実行時に秘密鍵証明書をダウンロードし、TLSトラフィックの提供に利用を開始できます。特にASGで。良い点は、IAMロールを使用して上記のCLIコマンドを呼び出すことができるユーザーを制御できるため、全員が秘密鍵にアクセスできるわけではないことです。
イムラン

1
@ImranOne downside with this is, private CA is expensive AWS service($400/month).上部に太字を書く必要があります。たとえば、この回答を2回読んでいないと、見逃してしまいます
Piekarski D

@PiekarskiDが完了しました。提案ありがとうございます!!。私の答えが気に入ったら、いつでも賛成できます!!。
イムラン

0

上記のコメントに加えて、これにAWS Certificate Managerを使用することはできませんが、IISを実行しているWindowsサーバー上のec2にLet'sEncrypt証明書を追加することはできます。これは非常に簡単です。

  1. ElasticIPをec2インスタンスに関連付けます。

  2. ドメインが登録されていることを確認してください。インスタンスに付属しているec2----------。us-east-1.compute.amazonaws.comタイプ名は使用できません。

  3. ドメインプロバイダーのDNS設定を通じて、ドメインがElasticIPを指すようにします。

  4. ec2インスタンスに接続し、ドメイン名をサイトバインディングに追加します。

  5. https://github.com/PKISharp/win-acme/releasesにアクセスます

  6. アセットの下を見て、最新バージョン(たとえば、win-acme.v2.0.10.444.zip)を使用します。これは、必要な唯一のアセットフォルダーです。

  7. フォルダを解凍し、管理者としてターミナルを開き、解凍したフォルダにcdします。

  8. wacs.exeを実行し、プロンプトに従います。

  9. インスタンスに割り当てられたセキュリティグループが、IISで選択したHTTPSポートを介したトラフィック(少なくとも自分のIP)を許可していることを確認してください。これはデフォルトでポート443です。

私がこれを理解していたとき、私は以下のリンクが役に立ちました。さらにヘルプが必要な場合は、以前のリリースを使用したビデオを次に示しますが、同じ考えです。

https://www.youtube.com/watch?v=fq5OUOjumuM

また、この記事は役立つかもしれません:

https://weblog.west-wind.com/posts/2016/feb/22/using-lets-encrypt-with-iis-on-windows

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.