ドメインの未来を変えろ!ACMでのEmailからDNSへの転換
はじめに
AWS Certificate Manager (ACM) の証明書を、従来の Email 検証から推奨されている DNS 検証へ切り替える手順を解説します。
AWS 完結の解説は多く見かけますが、今回は外部の DNS サービス(お名前.com)で管理しているドメインを利用する、より実務に近いシナリオを想定しました。実際に手を動かして検証したことで得られた知見を共有します。
今回のゴール
外部 DNS で管理されているドメインを利用し、ACM 証明書の認証方式を Email 検証から DNS 検証へ変更する。
検証環境
- ドメイン管理: お名前.com
-
メール受信: お名前メール (Email 検証用。ローカルパートは
administratorを使用) - AWS: ACM, ALB
今回の構成
これから実施する手順の全体像は以下の通りです。

ACM の認証方式について
ACM の認証方式には、次の2種類があります。
-
DNS 検証:
ドメインの DNS 設定に CNAME レコードを追加して検証する方法です。レコードが存在する限り、証明書が自動で更新されるため、現在はこちらが推奨されています。 -
Email 検証:
ドメイン所有者に送信されるメール内のリンクをクリックし、承認することで検証する方法です。証明書の有効期限が近づくたびに、手動での承認作業が必要になります。
準備編:Email 検証での証明書発行
まずは、切り替え元となる Email 検証の証明書を準備します。
1. お名前.com でのドメイン・メール設定
今回の検証のために、お名前.com で新規ドメインを取得し、Email 検証に必要なメール環境を構築しました。
- ドメイン取得: 新規発行ドメインは非常に安価に取得できます。
- メール環境構築: Email 検証のために「お名前メール」の安価なプラン(月額242円・税込)を契約しました。
メール受信環境の構築には、以下の3つのステップが必要です。
- プランに合わせたネームサーバー(NS)レコードの設定
- メールアドレスの発行
- メールクライアントの設定
お名前.com のマニュアルが非常に充実しているため、ここでは参考になったリンクを紹介します。
-
【サーバーサービス】お名前メールのお申込みから設定について
→ 最初につまずいた NS レコードの設定。こちらを見て解決しました。 -
【RSプラン/お名前メール】メールアドレスの作成・設定方法を教えてください
→ ドメインに対するメールアドレスの作成手順です。 -
【レンタルサーバー RSプラン】Thunderbird(78以降)
→ 今回使用したメールクライアントThunderbirdへの設定手順です。
2. ACM で証明書をリクエスト (Email 検証)
次に、AWS マネジメントコンソールで Email 検証用の証明書をリクエストします。
-
AWS Certificate Manager (ACM) のコンソールに移動し、「証明書をリクエスト」をクリックします。

証明書のリクエスト -
証明書タイプで「パブリック証明書をリクエスト」を選択し、「次へ」をクリックします。

証明書のタイプ選択 -
以下の通り設定し、「リクエスト」をクリックします。
| 設定項目 | 設定値 |
|---|---|
| 完全修飾ドメイン名 | *.testawsdomain.xyz |
| 検証方法 | Eメール検証 |

パブリック証明書をリクエスト (Eメール検証)
💡 ドメイン名の指定に関する注意点
ワイルドカード証明書 (*.example.com) をリクエストした場合、承認メールは administrator@example.com のようにベースドメインの特定のメールアドレスに送信されます。testawsdomain.xyz のようにベースドメインを指定してリクエストした場合も同様です。サブドメイン部分を含めたメールアドレスでは受信できないため注意が必要です。
-
設定したメールアドレスで、件名「Certificate request for testawsdomain.xyz」のメールを受信します。本文内の「Amazon Certificate Approvals」のリンクをクリックします。
(AWS アカウント ID はマスクしています)

受信したメールの承認 -
ブラウザで承認画面が開くので、「I Approve」をクリックします。

承諾画面 -
ACM コンソールに戻り、証明書のステータスが「発行済み」になったことを確認します。これで証明書が利用可能な状態になりました。

パブリック証明書の利用可能状態
実践編:DNS 検証への切り替え
ここからが本題です。Email 検証で発行した証明書を、DNS 検証で発行した新しい証明書に切り替えます。
(VPC、ALB、ターゲットグループの作成手順は割愛します)
1. ACM で証明書をリクエスト (DNS 検証)
-
再度 ACM コンソールで「証明書をリクエスト」をクリックし、「パブリック証明書をリクエスト」を選択します。
-
今度は DNS 検証 を選択してリクエストします。
| 設定項目 | 設定値 |
|---|---|
| 完全修飾ドメイン名 | testawsdomain.xyz |
| 検証方法 | DNS 検証 |

パブリック証明書をリクエスト (DNS 検証)
- リクエスト後、証明書の詳細画面を開き、DNS 検証に必要な「CNAME 名」と「CNAME 値」をコピーします。
他の担当者に作業を依頼する場合は、「CSV にエクスポート」機能が便利です。今回は自分で作業するため、値をコピー&ペーストします。
2. お名前.com で CNAME レコードを追加
-
お名前.com にログインし、「ネームサーバーの設定」>「ドメインの DNS 設定」の順に進みます。

お名前.com での DNS 設定画面への遷移 -
設定を変更するドメインを選択し、「次へ」をクリックします。

対象ドメインの選択 -
「DNS レコード設定を利用する」の「設定する」ボタンをクリックします。

DNSレコード設定の選択 -
先ほど ACM でコピーした値を入力し、「追加」をクリックします。
| 項目 | 設定値 | 備考 |
|---|---|---|
| ホスト名 | ACM でコピーした CNAME 名 | ドメイン名は自動補完されるため、サブドメイン部分のみ入力 |
| TYPE | CNAME | |
| TTL | 3600 | デフォルト値(任意で変更可) |
| VALUE | ACM でコピーした CNAME 値 | 末尾の . (ピリオド) は除外して入力 |

追加するDNSレコード
-
画面下部へスクロールし、「確認画面へ進む」をクリックします。

画面下部へスクロールした状態 -
内容を確認し、「設定する」をクリックして DNS レコードの追加を完了します。

設定の確認画面
3. ACM での検証ステータス確認
ACM コンソールに戻り、DNS 検証でリクエストした証明書のステータスが「発行済み」になるのを待ちます。DNS レコードがインターネット全体に反映されるまでには時間がかかることがあります。(今回は30分ほど待ちました)

ACM で利用できる証明書の状態
4. ALB の証明書を差し替え
最後に、ALB に設定されている証明書を、新しく発行したものに差し替えます。
-
EC2 コンソールの「ロードバランサー」から対象の ALB を選択し、「リスナー」タブを開きます。HTTPS: 443 のリスナーを選択し、「編集」をクリックします。

-
「デフォルトの SSL/TLS 証明書」の項目で、ドロップダウンリストから先ほど DNS 検証で発行した新しい証明書 を選択します。

-
画面右上の「変更の保存」をクリックします。
-
リスナーの設定画面に戻り、証明書が DNS 検証用のものに変更されていることを確認します。

この後、実際にドメインにアクセスし、意図した通りに通信ができるか疎通確認を行って完了です。🎉
あとがき
DNS 検証のみ、あるいは Email 検証のみを解説する記事は多いものの、両方を跨いだ一連の流れを解説する記事が少ないと感じ、今回の執筆に至りました。実際に手を動かしてみることでしか得られない知見もあり、改めて実践の大切さを実感しました。
ちなみに、今回の検証でかかった費用は以下の通りです。書籍を1冊購入するよりも安価で、非常に価値のある経験ができたと感じています。
✅ 検証費用の内訳
| 項目 | 費用 |
|---|---|
| ドメイン関連(お名前メール) | 242円 |
| AWS 関連費用 | 約20円 ($0.13) |
| 合計 | 262円 |
この記事が、同じような作業を行う方の助けになれば幸いです。
参考記事
Discussion