20
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ACMで「*.*.example.com」のような2階層サブドメインのワイルドカードSSL証明書を作りたかった

Last updated at Posted at 2021-08-20

更新情報(2022/7/25)
コメントで別の方法を教えて頂いたため、解決方法を1と2に分けました(2が追加した解決法)。
それぞれにメリットがあると思うのでお好きな方を選んでください。

環境

  • 取得ドメイン元: お名前.com
  • DNS: Route53
  • サブドメイン: 元ドメインのホストゾーンにサブドメイン用のAレコードを追加

やりたかったこと

  • 以下のような2階層のサブドメインに対応したSSL証明書を1枚で発行したかった。
    • example.com
    • api.example.com
    • stage.example.com
    • api.stage.example.com

上記を達成するために*.*.exmaple.comをACMに登録しようとしましたが、AWSさんに怒られます。
ファイル名

公式ドキュメントにもこのような要件への対応は不可能みたいなことが書かれていますね。

残念ですが、ACMでは「SSLに対してアスタリスクを2つ付けるのは不可能」のようです。
ただし、「1階層目のサブドメインを個別で指定してあげる方法」であれば解決できます。
そこで以下に2つの解決方法を掲載します。

解決法1: exmaple.comstage.example.comの2つの証明書をそれぞれ取得

元ドメインのexmaple.comとサブドメインのstage.example.comの2つの証明書を別個で取得する方法です。
ファイル名

上記写真のように、証明書ごとに元ドメインexmaple.comとワイルドカード*.example.comの2つを追加して上げてください。
これで最初に上げた4つのドメインに対応できるようになります!

ただし、この方法は以下のようにRoute 53ホストゾーンをそれぞれ用意してあげる必要があります。

  • exmaple.comのホストゾーン
  • stage.expamle.comのホストゾーン

仮にサブドメインのホストゾーンが存在しない状態でサブドメイン用の証明書をACMで登録しようとしても、ドメイン状態が一生検証保留中になって証明書が作れません
そこで、Route 53でサブドメイン用のホストゾーンを作成して権限を委任します。

やり方は上記のクラスメソッドさんの記事がわかりやすくておすすめです。

これで問題なく最初の4つのドメインに対応できると思います。

元ドメインのホストゾーンにサブドメインのAレコードを作っていた場合は削除を忘れないようにしてください!

この方法のデメリットは、サブドメインが増えるごとにホストゾーンを追加する必要があるので、そのたびにコストがかかります(1ホストゾーン/0.5ドル)
そこで本来やりたかった1枚で済ませる方法を次に紹介します。

解決法2: 1つのACM証明書内に必要なサブドメインをすべて記述する

こちらはコメントで教えていただいた方法です。
必要とされるサブドメインをACM作成時にすべて登録する、これだけです。
今回網羅したいドメインであれば以下のようにドメイン名を登録します。

  • expamle.com
  • *.example.com
  • *.stage.example.com
ファイル名

この方法ならホストゾーンは元ドメイン(example.com)の一つだけでOKです(サブドメイン含めた4つのCNAMEが1つのホストゾーンに集約されます)。

これなら費用も全くかからないですし何よりシンプルでわかりやすいですね。
デメリットは「後からACM証明書にドメインを追加できない」ので、サブドメインを追加したい場合はACM証明書を作り直す必要があることです。

まとめ

「サブドメイン追加のたびに証明書を作り直したくない、サブドメインごとに証明書を管理したい場合」は解決法1を、
「コストを極限まで抑えたい、証明書を一つにまとめて管理を楽にしたい場合」は解決法2を選ぶといいと思います。

20
13
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?