ACM証明書のドメイン名が不正

証明書に有効なドメインと必要な範囲を指定してください。

説明

ACMのDomainNameに*だけを指定することはできません。*.example.comのようなワイルドカードは利用できますが、対象は1階層のサブドメインだけで、example.com自体は含みません。

想定される影響

不正な名前では証明書の発行要求が失敗します。有効なワイルドカードでも、不必要に広い範囲を共有すると証明書の交換時の影響範囲が広がる場合があります。

対処方法

必要な完全一致のドメイン、または承認されたワイルドカード範囲を指定してください。DNS検証のドメインとホストゾーンも、証明書の要求に合わせてください。

例

不正な*をDomainName入力に置き換える例です。api.example.comは説明用です。管理するドメインと、その公開Route 53ゾーンのHostedZoneIdを入力してください。

変更前

yaml
AWSTemplateFormatVersion: '2010-09-09'
Parameters:
  DomainName:
    Description: "証明書を要求するドメイン"
    Type: String
    Default: api.example.com
  HostedZoneId:
    Description: "DNS検証レコードを追加する公開ホストゾーンID"
    Type: String

Resources:
  Certificate:
    Type: AWS::CertificateManager::Certificate
    Properties:
      DomainName: "*"
      DomainValidationOptions:
        - DomainName: !Ref DomainName
          HostedZoneId: !Ref HostedZoneId
      ValidationMethod: DNS

変更後

yaml
AWSTemplateFormatVersion: '2010-09-09'
Parameters:
  DomainName:
    Description: "証明書を要求するドメイン"
    Type: String
    Default: api.example.com
  HostedZoneId:
    Description: "DNS検証レコードを追加する公開ホストゾーンID"
    Type: String

Resources:
  Certificate:
    Type: AWS::CertificateManager::Certificate
    Properties:
      DomainName: !Ref DomainName
      DomainValidationOptions:
        - DomainName: !Ref DomainName
          HostedZoneId: !Ref HostedZoneId
      ValidationMethod: DNS

参考資料