2016年8月17日水曜日

[AWS] Certificate Manager を使って S3のWebサイトをSSL化 する方法


S3のWebホスティングを「SSL化」した時のメモです!


もくじ



AWS Certificate Manager (ACM)

AWSが提供を開始した、別途課金のない証明書サービスです!
(付随するサービスの利用料がかかるので、あえて無料とは表記しません)

2016年8月現在、この証明書を利用できるのは
  • Elastic Load Balancing
  • Amazon CloudFront
と、なります。 EC2のサーバー単体などでは利用できないイメージですね。

「S3 Webホスティング」SSL化の構成

  • S3 Webホスティング(静的)
  • Cloudfront (+ ACM)

前提条件

前提条件としては、すでに「S3 Webホスティング」が済んでいるものとしますー

流れ

  • Cloudfrontのディストリビューション作成
  • ACMで証明書作成
  • 戻って、Cloudfrontのディストリビューション作成(設定)

Cloudfrontのディストリビューション作成

Cloudfrontの操作画面から
「Create a web distribution」の「Get Started」を選択
設定名設定値
Origin Domain NameS3のWebホスティングドメインが選択できます
Origin ID自動で入ります(任意で変更可)
Restrict Bucket AccessCloudfrontからのみアクセスなら「Yes」、それ以外は「No」
Origin Access IdentityRestrict Bucket AccessでYesを指定した場合のみ
「Create a New Identity」を選んでおけば無難
Viewer Protocol Policyそのまんまですが、今回は「Redirect HTTP to HTTPS」にしました

ACMで証明書作成

「Request an ACM certificate」をします
すると、ACM(AWS Certificate Manager)のリクエスト画面に
利用したいドメイン名を入力
administrator@domain名
admin@domain名
webmaster@domain名
postmaster@domain名
hostmaster@domain名
上記メールアドレスと、ドメイン担当者にメールが送られます!
メールが来て、URLに行ったら「I Approve」しまーす!

戻って、Cloudfrontのディストリビューション作成(設定)

「SSL Certificate」 ⇒ 「Custom SSL Certificate (example.com)」から、いま作成したものを選択

ハマりポイント

2016年8月現在では、ACMの「バージニア」じゃないと「Cloudfront」では選択できませんでした!

まとめ

若干めんどうですが、S3をSSL化することができました。
お金ってどのくらいかかるんだろー!?

参考

無償SSLのCertificate Manager、S3、Cloud Frontで、独自ドメインの静的HTTPSサイトを作る - Qiita



AWS Certificate Manager(簡単に SSL/TLS 証明書を作成、管理、配置) | AWS

画像
photo credit: Keys to the kingdom via photopin (license)

Zenback