tech.chakapoko.com
Home / AWS / ACM

[AWS][ACM]ワイルドカード証明書を取得する

複数のサブドメインをHTTPS対応にする際はワイルドカード証明書を使うと便利です。AWS Certificate Manager(ACM)を使ってワイルドカード証明書を取得し、AWSサービスで活用する方法をAWS CLIを使った操作例も含めて紹介します。

ワイルドカード証明書とは?

ワイルドカード証明書は、特定のドメインとその1階層のサブドメイン全てを1つの証明書で保護できるSSL/TLS証明書です。

特徴

  • 1つの証明書で以下を保護可能:
    • example.com
    • www.example.com
    • api.example.com
    • blog.example.com
  • ただし、2階層以上のサブドメイン(例:sub.api.example.com)は対象外。

AWSでのワイルドカード証明書取得方法

AWSでは、AWS Certificate Manager(ACM)を利用してワイルドカード証明書を簡単に取得できます。

AWS ACMを使うメリット

  • 無料: AWS内で利用する場合は無料で提供。
  • 自動更新: 証明書の更新を自動的に行い、運用負荷を軽減。
  • 簡単な統合: AWSサービス(ALB、CloudFront、API Gatewayなど)とシームレスに連携可能。

AWS CLIでの手順

1. 証明書のリクエスト

以下のコマンドを実行し、ワイルドカード証明書をリクエストします:

aws acm request-certificate \
    --domain-name example.com \
    --subject-alternative-names "*.example.com" \
    --validation-method DNS

2. DNS認証の設定

リクエスト実行後、以下のコマンドで証明書情報が取得できます。

aws acm describe-certificate --certificate-arn ${CERTIFICATE_ARN}

AWSからは以下のような情報を含んだレスポンスが返ってきます。

{
  "ResourceRecord": {
    "Name": "_abcde.example.com.",
    "Type": "CNAME",
    "Value": "_xyz.acm-validations.aws."
  }
}

このResourceRecord情報を利用して、ドメインのDNS設定を行います。具体的には、DNSプロバイダー(Route 53や外部プロバイダー)の管理画面で以下を設定します:

  • Name: _abcde.example.com.
  • Type: CNAME
  • Value: _xyz.acm-validations.aws.

3. 検証の完了

DNS設定が反映されると、AWSが所有権を確認して証明書が発行されます。このプロセスは通常数分から数時間で完了します。

4. 証明書の確認

DNS検証が完了すると、証明書のステータスがPENDING_VALIDATIONからISSUEDに変更されます。

aws acm describe-certificate --certificate-arn ${CERTIFICATE_ARN}