【AWS】【Let's Encrypt】Let's Encryptを使っての証明書発行をAWS Certificate Managerにして、お名前.comに設定する

はじめに

勉強がてらSPAで作成したWebサービスを作っており ドメインはお名前.comで取得、証明書を作れるLet's Encryptを使っていました。 とても便利で1年半ぐらいは使わせてもらっていました。

しかし、最近になり証明書更新のコマンドが動かなり
3ヶ月に1回更新するのにも疲れたのでAWS Certificate Manager(以下、ACM)を使ってみることにしました。

環境

  • maxOS Sierra
  • Route53でDNS登録して、CloudFront経由でS3にあるファイルをWebに公開している。

前提条件

  • AWSのアカウントがあり、ACMを適用できるサービスを使用している
    • 今回は、CloudFrontに証明書を設定します。
  • AWS以外でドメインを取得している。
    • タイトル通りお名前.comに対して操作をしますが基本一緒だと思います。
  • Route53を使ってDNS登録をしている。
    • この運用をしていたからであり初めて設定する場合、登録していなくても問題ありません。

対応する前の状態

f:id:fujikawa-y:20180204141656p:plain

f:id:fujikawa-y:20180204141748p:plain

※本当はAレコードも設定してあります。 ※NSレコードの内容をお名前.comに登録してありました。

やり方

証明書の発行

ACMに移動して「証明書のリクエスト」を押下します。
そうするとドメイン名を入力する画面が出てくるので入力します。
※今回は説明用にsample-acm.com としています。

f:id:fujikawa-y:20180204142503p:plain

ここでポイントなのが、ワイルドカードドメイン名とワイルドカードがないドメイン名を両方設定しておくことです。
これをやることにより

  • www.sample-acm.com
  • www.sample-acm.com
  • sample-acm.com

上記のようなURLがすべて適用されるようになります。

そして、次に行くと f:id:fujikawa-y:20180204142936p:plain

選択肢が2つあり、取得したドメインでメールを受け取る設定をしていなかったので「DNSの検証」を選択しました。
なお、DNSの検証は2017年11月からできた機能のようでAWSはこちらを推奨しているようです。

docs.aws.amazon.com

選択した状態で次に行き、確定とリクエストをします。 そうすると検証という画面になり、CNAMEレコードが表示されます。

f:id:fujikawa-y:20180204143316p:plain

このCNAMEレコードをお名前.comのDNS設定に転記します。

お名前.comの管理ページから下記ページに遷移して

f:id:fujikawa-y:20180204143613p:plain

以下を選択します。

f:id:fujikawa-y:20180204143828p:plain

次のページで入力するところがあるので、入力していきます。

f:id:fujikawa-y:20180204145524p:plain

※画面下に「DNSレコード設定用ネームサーバー変更確認」とありますが
チェックしてから次に進んで設定してください。

これでお名前.com側の設定が終わりで数十分待つと、ACM側が以下のようになります。

f:id:fujikawa-y:20180204145856p:plain

次にACMで作成したものをCloudFrontに設定します。

f:id:fujikawa-y:20180204145047p:plain

f:id:fujikawa-y:20180204145344p:plain

これで準備が完了しました。
しばらくしてサイトにアクセスするとSSLが有効なものになっているはずです。
そして証明書の内容を確認してみます。

f:id:fujikawa-y:20180204145734p:plain

ちゃんとAmazonが発行した証明書になっています。

まとめ

今までLet's Encryptでやっていたのは何だったのか・・・
やはり、AWSはすごい!と思わされる内容でした。

AWSを使ってやる場合、ACMを使っての証明書発行が1番速く確実だと思います。

参考

blog.serverworks.co.jp

qiita.com

tech.innovator.jp.net