blog

AWS Certificate Manager で 無料の SSL サーバ証明書を取得して Amazon S3 で運用中のブログを HTTPS 化してみた

    • Ryuichi Nonaka

    はじめに

    今回は Amazon S3 で運用していたブログ(静的ウェブサイト)を HTTPS 化する際のやり方と注意点についてまとめておきたいと思います。

    HTTPS 化する目的

    一番の目的は Google の評価を上げるためです(HTTPS ページが優先的にインデックスに登録されるようになります)。今まで安い SSL 証明書でも年間 3,000円程度はしていましたが、AWSの Certificate Manager であれば無料で SSL 証明書を取得できるようになり、これを機に SSL 化することにしました。また、副次的ですが CloudFront で SSL 設定を行うことで HTTP/2 が利用できるようになり、パフォーマンスの向上も見込めます。

    設定方法

    各種設定方法は以下のページを参考に設定していきます。この記事では細かい設定方法等については省きます。

    大まかな流れ

    HTTPS 化するまでの大まかな流れはこのようになります。

    1. AWS Certificate Manager で SSL サーバ証明書を取得する
      1. 申請と承認(whois の登録メールアドレス宛に確認メールが送付される)
      2. 承認後、数分で証明書を利用可能に
    2. CloudFront のディストリビューション作成
    3. Route53 で対象ドメインの Alias を設定する

    HTTPS 化するための条件

    Amazon S3 で運用していたウェブサイトを HTTPS 化するためにはいくつかの条件があります。

    1. CloudFront を利用しなければならない(Amazon S3 には SSL サーバ証明書を設定できない)
    2. AWS Certificate Manager で発行する証明書は US East (N. Virginia) リージョン で作成しなければならない(認証の都合)

    HTTPS 化するための注意点

    詳しい説明はAmazon S3 での CloudFront の使用を読んでもらうのが早いと思いますが Static Website Hosting を行っている場合、Origin の設定方法が若干異なります。ポイントはこの2つです。

    • Origin の設定に Static Website Hosting 時の Endpoint を指定する
    • Origin Path の設定は不要

    この設定を間違えると Origin のファイルにアクセスできず、AccessDenied の状態になってしまいます。また、Webサイト事態もCSSやJavaScript等のパスをHTTPSで読み込めるよう調整が必要です。

    HTTP/2

    HTTP/2 でアクセスできているか試すには Google Chrome の拡張機能 HTTP/2 and SPDY indicator を利用します。HTTP/2 でアクセスしている場合はアイコンが青くなります。

    終わりに

    これで HTTPS 化の作業は終わりです。無料で HTTPS 化できるなんて助かりますね。

    参考記事

    コメント・フィードバック