AWS Certificate Manager (ACM) で外部ドメインサービスで管理するドメインにパブリック証明書の発行リクエストをする

外部のドメインサービスでドメイン、DNS を管理している場合に、AWS Certificate Manager (ACM) でパブリック証明書を発行する手順を紹介します。

やりたいこと

AWS Route 53 ではない外部のドメインサービスでドメイン、DNS を管理している場合に、AWS Certificate Manager (ACM) でパブリック証明書の発行する手順をメモしておきます。今回外部のドメインサービスは Squarespace で管理しているケースで紹介します。

証明書リクエスト

まず ACM で証明書リクエストを行います。 ACM 証明書リクエストはバージニア北部リージョン (us-east1) で行う必要があります。 パブリック証明書を選択して次に進みます。

パブリック証明書をリクエスト

証明書を発行するドメイン名を入力します。他はデフォルトで問題ありませんが、検証方法が「DNS 検証」になっていることを確認して、リクエストしてください。 証明書ドメイン、DNS 検証を選択してリクエスト

リクエストすると追加のアクションが必要という通知がでます。リクエストした証明書のドメイン欄を確認すると以下のように _ で始まり、証明書発行対象のドメインで終わる CNAME 名と _ で始まり、.acm-validations.aws.で終わる CNAME 値が割り振られます。この二つの値を使ってドメインの所有証明を行います。

CNAME 名、CNAME 値

外部ドメインサービスの DNS に CNAME レコードを登録

ここからは外部ドメインサービスでの作業となります。ここでは Squarespace の例で紹介します。 Squarespace のドメインメニューの DNS設定でカスタムレコードのレコード追加を行います。

カスタムレコードの追加

以下 AWS の公式ドキュメント記載にありますが、Squarespace は自動的にドメイン名を付加してくれます。今回の例ですと .whitepenguins.com は自動的に付加されます。

これらの 3 つの値 (ドメイン名、レコード名、レコード値) はすべて、DNS レコードを追加するための DNS プロバイダーのウェブインターフェイスの該当するフィールドに入力する必要があります。プロバイダーは、レコード名 (または単に「名前」) フィールドの処理に一貫性がありません。場合によっては、上記のように文字列全体を提供することが期待されます。他のプロバイダーは、入力したどの文字列にも自動的にドメイン名を付加します。 AWS Certificate Manager DNS 検証 - AWS Certificate Manager

従って、入力する内容は以下の通りになります。
ホスト名
ACM で割り振られた CNAME 名からドメイン名を除いたもの (今回のようにサブドメインがある場合、サブドメインは含める) 今回のケースでは _xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.memorandom を入力
タイプ
CNAME
データ
ACM で割り振られた CNAME 値 (最後の . は不要) 今回のケースでは _xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.acm-validations.aws

他はデフォルト値で問題ありません。

レコードを登録すると 1 分以内には ACM の対象の証明書のステータスが「発行済み」に変わり、使用することができるようになります。

証明書ステータス発行済

ステータスが変わらない場合は DNS の CNAME レコード登録が誤ってる可能性が高いです。 nslookup で CNAME 名を DNS 問い合わせして確認してみましょう。

nslookup _xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.memorandom.whitepenguins.com

以下のような結果になった場合、DNS の CNAME レコード登録が誤っているので確認してみてください。

*** UnKnown が _xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.memorandom.whitepenguins.com を見つけられません: Non-existent domain

正しく登録されていれば以下のような結果が返ってくるはずです。

権限のない回答:
権限のない回答:
名前:    _xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.memorandom.whitepenguins.com

あとがき

ACM で外部ドメインサービスで管理するドメインに証明書を発行する手順を紹介しました。元々 Google Domains を使っていたので、Google Domains が Squarespace に移管された関係で Squarespace での例を紹介しました。Squarespace の管理料は結構高いみたいなので近々ドメイン管理も Route 53 に移行仕様かと思います。