• AWS

AWSで常時SSL化した安全なWebサイトを制作するには?

いまやWebサイトの常時SSL化が必須な時代です。SSL証明書のないWebサイトでは、Chromeは警告を表示し、Google検索でも表示順位に影響がでます。AWSを利用してWebサイトを開設している場合、常時SSL化された安全なWebサイトを作成するにはどうすればよいのでしょうか? ここでは、AWSでSSL証明書を利用しサイトを常時SSL化(HTTPS化)を実現する方法についてご紹介します。

常時SSL化対応の重要性

多くのWebサイトにはSSL(Secure Sockets Layer)証明書が設置されています。Webサイトの管理者がSSL証明書をWebサイトに設置することで、情報を暗号化し、悪意ある第三者からデータを守ることができるWebサイトであるという証明になるのです。

常時SSL化対応のメリット

WebサイトにSSL証明書が設置されることで、次の3つの行為を防止できます。

  • サイトのなりすまし:他のWebサイトが正しいWebサイトになりすましてユーザーのログインや操作を誘うこと
  • データの改ざん:ユーザーのデータを第三者が途中で書き換えること
  • データの盗聴:第三者が個人情報やCookieなど、暗号化されていないデータを傍受して解読すること

SSL証明書が設置され、常時SSL化されたWebサイトは「安心して利用できる、信用できるWebサイト」として評価されます。

常時SSL化対応がされていないWebサイトではどうなるか?

SSL証明書の設置されたWebサイトを閲覧しているときにはアドレスバーにカギのマークが出たり、緑のチェックマークがついたりします。これは閲覧しているWebサイトが安全であることを強調しているのです。SSL証明書がなく常時SSL化がされていないWebサイトでは、とくにネットショッピングや会員専用ページなど個人情報を扱うWebサイトの場合、ユーザーを不安にしてしまうことがあります。

また、一部でもSSL証明書のないページを含んだWebサイトは、Googleでの検索結果が上位に表示されにくくなるため、全てのページがHTTPS化されている常時SSL化対応が重要となります。

常時SSL化対応が必要

SSL証明書があっても、安全なWebサイトと表示されるためには、常時SSL化(Always On SSL)対応が必要になります。常時SSL化対応とは、Webサイト内のすべてのページにSSL証明書がついていることです。ログインページやお問い合わせフォーム、ショッピングカートだけがSSL対応していても、「常時SSL対応」ではありません。

AWSを使ったWebサイトで常時SSL対応を実現するには?

AWSを利用したWebサイトでSSL対応を行うためには、ACM(AWS Certificate Manager)というサービスを利用します。これは、AWSが提供しているSSL証明書発行サービスです。

ACMとは?

ACM(AWS Certificate Manager)は、AWSが提供している、SSL証明書を購入して管理するためのサービスです。ACMが発行したSSL証明書は、AWSのいくつかのサービスや、ユーザーのプライベートネットワークリソースに導入することができます。

AWSを利用してWebサイトを開設している場合は、SSL証明書を行う専門業者ではなくACMを使うことで、安価かつ簡単にSSL対応やSSL証明書の更新を行うことができます。

ACMはSSL証明書だけでなく、TLS(Transport Layer Security)証明書にも対応しています。ACMプライベートCAというプライベート認証機関により、プライベートのSSL/TLS証明書の発行から管理、導入を行うことも可能です。

ACMを使うのには、次のような目的があります。

  • Webサイトの保護とセキュリティ確保
    SSL/TLSの通信プロトコルにより、データの暗号化と認証を行います。それによってWebサイトを保護し、通信の安全を確保することが可能です。
  • 内部リソースの保護とセキュリティ確保
    プライベートのSSL/TLS証明書により、プライベートネットワークとそこに接続された機器を保護し、安全を確保します。
  • コンプライアンス要件を満たすのに役立つ
    データを暗号化することで、各種の規制やコンプライアンス要件に対応します。

ACMのメリット

ACMを利用してSSL証明書を発行すると、次のようなメリットがあります。

  • SSL証明書の発行が簡単になる
    ACMの場合、管理画面で数回クリックするだけで、SSL/TLS証明書の発行をリクエストできます。必要な認証やサービスへの導入は、ACMにより自動的に行われるので、リクエストの処理が簡単です。
  • SSL証明書が無料で発行できる
    ACMで発行したSSL/TLS証明書をAWSのサービス内で利用する場合、料金はかかりません。ただし、利用しているAWSサービスの料金がかかります。
    ACMプライベート認証機関によるプライベート証明書を利用した場合は、月額料金がかかります。
    ワイルドカード証明書も無料で発行できますが、ネイキッドドメイン(ホスト名が付かない状態のドメイン)は保護されません。
  • SSL証明書が自動更新できる
    ACMが発行し、EC2やIoTデバイスで使われているSSL/TLS証明書は、必要に応じて自動的に更新され、再度導入されます。ただし、ワイルドカード証明書は自動更新できません。

ACMが使えるサービス

ACMを使ってパブリックなSSL/TLS証明書を発行できるのは、次の5つのサービスだけです。

  • ELB(Elastic Load Balancing)
  • Amazon CloudFront
  • Amazon API Gateway
  • AWS Elastic Beanstalk
  • AWS CloudFormation

その他のサービスについては、プライベートなSSL/TLS証明書しか発行できません。パブリックなSSL/TLS証明書が必要な場合は、外部機関の証明書を購入するか、上の5つのサービスを組み合わせてACMを利用することになります。

ACMの料金

  • パブリックなSSL/TLS証明書は無料
    ACMによるSSL/TLS証明書の発行は無料です。
    ただし、ACMでパブリックなSSL/TLS証明書を利用するためには、AWSの5つのサービスを利用しています。そのため、それらをはじめとした他のサービスの料金は必要になります。
  • プライベート証明書は有料
    ACMプライベート認証機関を利用してプライベートなSSL/TLS証明書を発行するには、料金がかかります。
    プライベート認証機関の料金は、ひとつにつき、400USD/月です。プライベート認証機関を削除するまで料金がかかります。
    プライベートキーにアクセスのあるACMプライベート証明書は、料金が変動し、枚数が多くなるほど単価が必要です。プライベートキーにアクセスのないACMプライベート証明書には、料金がかかりません。
  • プライベート証明書には無料利用期間あり
    プライベート認証機関には、30日間の無料利用期間があります。無料利用期間内でも、プライベートなSSL/TLS証明書を発行すれば、料金が必要です。

ACMを使ってWebサイトをSSL対応にするときのパターン

AWSを使って開設したWebサイトにSSL対応を行うときの構成例で、基本的なものをご紹介します。

ELBとAmazon EC2を使う場合

ELB(Elastic Load Balancing)とAmazon EC2を組み合わせてWebサイトを開設します。ELBには、ACMでパブリックなSSL/TLS証明書を発行することができるので、Webサイトに利用することが可能です。

この場合は、AWSのサービスだけでシステムを構築し、ACMだけでSSL/TLS証明書を発行できるので、最小限のコストで済みます。

CloudFrontとAmazon S3を使う場合

Amazon CloudFrontにACMからパブリックなSSL/TLS証明書を発行し、Amazon S3と組み合わせます。

Amazon CloudFrontはグローバルコンテンツ配信ネットワーク (CDN)なので、常にキャッシュを保持しています。そのため、SSL/TLS証明書を更新するときには注意が必要です。

ACMのSSL/TLS証明書を使えない場合

Amazon EC2やAmazon Lightsail、Amazon S3だけを利用したWebサイトでは、ACMでパブリックなSSL/TLS証明書を発行することはできません。この場合は、次のような方法があります。

ひとつは、外部の認証機関からSSL/TLS証明書を発行してもらい、サーバーに組み込む方法です。SSL/TLS証明書を取得するためのコストはかかりますが、構成はシンプルになります。

もうひとつは、ELBやAmazon CloudFrontを組み合わせてWebサイトを開設する方法です。ACMからパブリックなSSL/TLS証明書を発行することができます。

ACMを使うのが、最も手軽な常時SSL化

これまでWebサイトを常時SSL化するには、有料でSSL証明書を発行したり、処理に時間がかかったりして、なかなか気軽に取りかかれるものではありませんでした。しかし、ACMを使えば、数回クリックするだけでSSL証明書の発行が済んでしまいます。また、ACMを利用したHTTPSには料金はかかりませんので、非常に簡単にWebサイトの常時SSL化に取り組むことができます。

※本記事の内容につきましては2019年4月時点での情報です。

AWSの活用事例やノウハウなど役立つ資料を提供

オンプレミスからクラウドへの移行を成功させるポイントやミズノ株式会社様の導入事例など、AWSの利用を促進するノウハウの詰まったお役立ち資料を提供します。ぜひご活用ください。

おすすめの記事

おすすめのカテゴリ