ちょっと話題の記事

[ACM] AWS Certificate Manager 無料のサーバ証明書でCloudFrontをHTTPS化してみた

2016.01.22

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

AWSチームの鈴木です。

本日、AWSより新機能「AWS Certificate Manager」(ACM) が発表され、無料でサーバ証明書を発行し、CloudFront、ELBで利用する事が可能になりました。

今回、ACMでサーバ証明書を発行し、CloudFrontの独自ドメイン設定でHTTPS通信を試す機会がありましたので、その一連の手順を紹介させて頂きます。

New – AWS Certificate Manager – Deploy SSL/TLS-Based Apps on AWS

手順

ACM の利用開始

  • AWSコンソール、セキュリティ&アイデンティティに増えた「Certificate Manager」を開きます。

acm_cloudfront_ssl_01

  • ACMは、2016年1月現在、米国東部(us-east-1)リージョンでの提供となります。

acm_cloudfront_ssl_02

  • 「Get Stard」のリンクより利用を開始します。

acm_cloudfront_ssl_03

証明書の申請

  • 発行するサーバ証明書のドメイン名を入力します。
  • 「*.」で始まるワイルドカード証明書、複数FQDNに対応したマルチドメイン証明書も作成可能です。
  • 今回はワイルドカード証明書を作成します。

acm_cloudfront_ssl_04

  • 申請内容確認後、「Confirm and Request」画面に進みます。

acm_cloudfront_ssl_05

  • ドメイン所有者である事の認証に進みます。
  • 「Continue」に進むと、ドメイン管理者宛にメール通知が行われます。

acm_cloudfront_ssl_06

  • ACMの管理画面、認証待ち(Pending validation)となります。

acm_cloudfront_ssl_07

  • ドメイン認証はメール、Whoisでドメイン管理者情報が公開されている連絡先メールアドレスと、admin@(申請ドメイン)のメールアドレス宛に通知が行われます。

acm_cloudfront_ssl_08

  • Route53のドメインレジストラを利用している場合、ドメイン管理者はRoute53の「Registed Domains」にて確認可能です。

acm_cloudfront_ssl_09

  • AWSから届くドメイン認証メールです。

acm_cloudfront_ssl_11

  • 承認画面です。
  • 意図した記載内容である事を確認し、「I Approve」で承認します。

acm_cloudfront_ssl_12

  • 承認完了画面です。

acm_cloudfront_ssl_13

CloudFront設定

  • AWSコンソール、CloudFrontの画面を開きます。

acm_cloudfront_ssl_14

  • 今回、新規配信設定を作成します。

acm_cloudfront_ssl_16

  • 検証用に「dev.classmethod.jp」当ブログサイトをオリジンとするDistributionを作成します。

acm_cloudfront_ssl_17

  • CNAMEs欄に公開名、ACMで手配したサーバ証明書に一致するFQDNを記載します。
  • 「Custom SSL Certificate」を選択し、先に作成したサーバ証明書を指定します。
  • 追加費用なく独自ドメインを利用できる「SNI」とします。

acm_cloudfront_ssl_18-2

  • 作成直後のDistributionは「In Progress」、完了まで数十分を要します。

acm_cloudfront_ssl_19

Route53設定

  • 独自ドメインで公開するため、DNS設定を行います。
  • 作成したCloudFrontのDistributionの公開名(DomainName)を確認します。

acm_cloudfront_ssl_21

  • AWSコンソール、ネットワーキングのRoute53を開きます。

acm_cloudfront_ssl_22

  • 対象ドメインのHosted Zonesを指定します。

acm_cloudfront_ssl_23

  • 独自ドメインで公開するホスト名を「Create Record Set」で登録します。
  • ホスト名を「Name」欄に反映します。
  • CloudFrontを名前解決先とするため、Aliasesを「Yes」と指定し、先に設定したCloudFront Distributionを選択します。

acm_cloudfront_ssl_25

ブラウザでの表示確認

  • ACMで発行し、CloudFrontに設定したサーバ証明書を確認します。

acm_cloudfront_ssl_26

まとめ

独自ドメインでSSL/TLSで暗号化通信を実現するために必要なサーバ証明書、無料で簡単に手配する事が可能になりました。

iOS9で導入されたATS(App Transport Security)など、セキュアななサーバ証明書でHTTPS通信が求められる事が多くなっている昨今、 無料で手軽に利用できるACM(AWS Certificate Manager)を是非お試しください。