AWS Cloudfront – ALB – EC2でhttps化する際の構成

富松広太 2018年12月27日

AWSの構成で、webサイト等を構成する場合、

Cloudfront – ALB – EC2の構成がを取られるのよくある構成だと思います。

その構築をする際、https(暗号化通信)の設定をどうするかを

よく相談頂くため、下記のように整理してみました。

代表的なケースを3つご紹介します。

 

Case A:cloudfrontのみssl証明書を設定する

主にサイト表示だけhttps化されれば良い場合に使われます。

(2) – (3)間は外部NWですが、通信する内容が暗号化しなくても良い

(でもSEO等でサイトをhttps化したい)場合に選ばれるお客様が多いです。

(A)CloudFrontでSSLのTerminationを行う場合
 (1) – (2)間の通信経路が暗号化されます。
 (2) – (3)間の通信経路は外部NWです。暗号化はされません。
 (3) – (4)間はAWS(VPC)の内部NWです。暗号化されません。

Case B:cloudfrontとALBにsslを設定する

このケースがもっとも一般的です。
(3)-(4)間は暗号化されませんが、
(3)-(4)間は内部NWなので
通常のセキィリティ水準であれば、
この構成で満たせることがほとんどです。
(B)ELBでSSLのTerminationを行う場合
 (1) – (3)間の通信経路が暗号化されます。
 (3) – (4)間はAWS(VPC)の内部NWです。暗号化されません。

Case C:cloudfrontとALBとEC2にsslを設定する

こちらは全通信経路が暗号化されます。
通常はここまでガチガチにはしませんが、
社内のセキュリティポリシーで全通信経路を暗号化しなくては行けない場合等に
まれに下記のような構成で構築することもあります。
こちらの構成ですと、EC2内部にもssl証明書を設定する必要があります。
(C)EC2でSSLのTerminationを行う場合
 (1) – (4)間の通信経路が暗号化されます。
 (3) – (4)間はAWS(VPC)内部ですがAWS内での盗聴対策の有無が(B)との違いとなります。
 上記以外にも構成のパターンはありますが、
一般的なものを紹介させて頂きました。
誰かの参考になれば幸いです。