AWS Cloudfront – ALB – EC2でhttps化する際の構成
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)との違いとなります。
上記以外にも構成のパターンはありますが、
一般的なものを紹介させて頂きました。
誰かの参考になれば幸いです。