最近、ACMを複数利用する事を考える機会があったので、ACM(AWS Certificate Manager)とは、何か?について、まとめました。
https://aws.amazon.com/jp/certificate-manager/
ACM(AWS Certificate Manager)は、AWSが提供するSSL/TLS証明書の発行、管理、および自動化を行うフルマネージドサービスです。ACMを使用することで、AWSリソース(ELB、CloudFrontなど)に証明書を適用し、Webサイトやアプリケーションのセキュリティを向上することができます。
ACM(AWS Certificate Manager)では、DNS validationによるドメイン名の所有権確認が可能です。DNS validationを使用する場合、ACMは自動的にCSRに基づいてTXTレコードを生成し、ドメイン名の所有者に指示を出します。所有者は、指示されたTXTレコードをDNSに追加することで、ドメイン名の所有権を確認します。ACMは、TXTレコードが正常に追加されたことを確認することで、ドメイン名の所有権を確認し、SSL/TLS証明書を発行します。
ACMでは、以下のような機能が提供されています。
1.SSL/TLS証明書の発行
ACMを使用することで、無料でSSL/TLS証明書を発行することができます。また、証明書の有効期限が切れる前に自動的に更新する機能も提供されます。
2.マネージドサービス
ACMは、フルマネージドサービスであり、証明書の発行、管理、更新、および削除を自動的に処理します。これにより、証明書の管理に必要な手間や費用を削減できます。
3.AWSサービスとの統合
ACMは、Amazon Elastic Load Balancer(ELB)、Amazon CloudFront、Amazon API Gateway、AWS Elastic BeanstalkなどのAWSサービスと統合されています。これにより、証明書の適用を簡素化し、Webサイトやアプリケーションのセキュリティを向上できます。
4.多要素証明書のサポート
ACMは、SAN(Subject Alternative Name)証明書をサポートしており、1つの証明書で複数のドメイン名を保護することができます。
5.セキュリティの向上
ACMは、証明書のプライベートキーをKMS(Key Management Service)で保護することで、高度なセキュリティを提供します。また、自動的な証明書の更新機能により、セキュリティを保つことができます。
6.ACMでは、パブリック証明書とプライベート証明書の2種類の証明書を発行することができます。
パブリック証明書は、Webサイトやアプリケーションの公開部分に使用されます。
一方、プライベート証明書は、VPC内のリソース間の通信などのように、内部的に使用されます。
7.注意点
ELB に証明書をインポートする場合は、その ELB があるリージョンで証明書を作る必要がある。
東京リージョンのElastic Load Balancer(ELB)に、バージニアリージョンで発行したACM証明書を適用することはできません。
ただ、CloudFront に証明書をインポートする場合は、バージニア北部で証明書を作る必要があります。
https://aws.amazon.com/jp/certificate-manager/faqs/
ACM (AWS Certificate Manager) で取得した証明書の形式は、通常PEM形式です。
PEM (Privacy Enhanced Mail) は、データの暗号化、署名、または認証に使用されるX.509証明書の一般的な形式です。
ACMで証明書を取得すると、PEM形式の証明書、中間証明書、およびルート証明書を含むzipファイルをダウンロードできます。PEM形式の証明書は、通常、Webサーバー、ロードバランサー、または他のサービスにインポート出来ます。
PEM形式の証明書は、テキストファイルで、BEGIN CERTIFICATEとEND CERTIFICATEで囲まれたASCIIテキストで構成されます。例えば、以下のような形式です。
-----BEGIN CERTIFICATE-----
ABCDEFGHIJKLMNOPQRSTU123vxxxxxxxxxxxxxxx
-----END CERTIFICATE-----
PEM形式の証明書をインポートする際には、通常、Webサーバーの設定や、ロードバランサーのリスナーの設定などで、ファイルをアップロードして指定する必要があります。