CloudFrontがオリジンへのTLS 1.3接続に対応!ALBログで実際の通信を確認してみた

CloudFrontがオリジンへのTLS 1.3接続に対応!ALBログで実際の通信を確認してみた

CloudFrontがオリジン通信でTLS 1.3をサポートしました。設定変更不要で自動適用される仕様の解説と、実際にALBアクセスログを用いてTLS 1.3接続が確立されていることを確認した検証結果を紹介します。
2025.11.30

2025年11月20日、Amazon CloudFrontがオリジン接続におけるTLS 1.3のサポートを発表しました。

https://aws.amazon.com/about-aws/whats-new/2025/11/amazon-cloudfront-tls13-origin/

CloudFrontはViewer(クライアント)との通信では、2020年の時点でTLS 1.3をサポートしていました。

https://aws.amazon.com/jp/about-aws/whats-new/2020/09/cloudfront-tlsv1-3-support/

オリジンサーバーとの通信についてはこれまでTLS 1.2が上限となっていましたが、今回のアップデートにより、CloudFront設定を変更することなく、オリジン側が対応していれば自動的にTLS 1.3が選択されるようになりました。

今回、オリジンとしてApplication Load Balancer(ALB)を用意し、実際にCloudFrontとの間でTLS 1.3によるハンドシェイクが行われているかを、実機のログで確認する機会がありましたので、紹介します。

検証環境とアーキテクチャ

CloudFront経由でALBにアクセスし、ALBが出力するアクセスログを確認する構成をとりました。

構成概要

  • CloudFront: デフォルト設定(TLS 1.3明示指定なし)
  • Origin (ALB): TLS 1.3対応のSecurity Policyを適用
  • Log: ALBアクセスログをS3に出力して確認

CloudFormationテンプレート(抜粋)

今回の検証において重要なポイントは、CloudFront側の設定には手を加えないという点です。以下は使用したCloudFormationテンプレートの一部です。

CloudFront Origin設定:

Origins:
  - Id: ALBOrigin
    DomainName: !GetAtt ApplicationLoadBalancer.DNSName
    CustomOriginConfig:
      HTTPSPort: 443
      OriginProtocolPolicy: https-only
      OriginSSLProtocols: 
        - TLSv1.2

ALB Listener設定:
ALB側では、TLS 1.3をサポートするセキュリティポリシー ELBSecurityPolicy-TLS13-1-2-2021-06 を指定しました。

HTTPSListener:
  Type: AWS::ElasticLoadBalancingV2::Listener
  Properties:
    LoadBalancerArn: !Ref ApplicationLoadBalancer
    Protocol: HTTPS
    Port: 443
    SslPolicy: ELBSecurityPolicy-TLS13-1-2-2021-06 
    Certificates:
      - CertificateArn: !Ref CertificateArn
    DefaultActions:
      - Type: fixed-response
        FixedResponseConfig:
          StatusCode: '200'
          ContentType: 'text/plain'
          MessageBody: 'TLS 1.3 Verification'

動作確認

1. CloudFront設定の現状確認

検証にあたり、CLIでCloudFrontの現在の設定を確認しました。公式ドキュメント通り、OriginSSLProtocols の配列には TLSv1.3 が含まれていない状態です。

$ aws cloudfront get-distribution-config \
    --id E1XXXXXXXXXXXX \
    --query "DistributionConfig.Origins.Items[0].CustomOriginConfig.OriginSSLProtocols"
{
    "Quantity": 1,
    "Items": [
        "TLSv1.2"
    ]
}

今後、TLSv1.3の普及により設定値として増える可能性はあると思われますが、記事執筆時点で、設定上は「TLS 1.2」を指定しているにもかかわらず、ネゴシエーションでTLS 1.3が使用されるかどうかが検証の焦点となります。

2. リクエストの実行

curl コマンドを用いてCloudFrontへリクエストを送信しました。

$ curl -v https://dxxxxxxxxxxxxx.cloudfront.net
> GET / HTTP/2
> Host: dxxxxxxxxxxxxx.cloudfront.net
> ...
< HTTP/2 200 
< content-type: text/plain
< content-length: 20
< ...
TLS 1.3 Verification

レスポンスが正常に返却されたことを確認しました。しかし、ここでの curl の出力(SSL connection using TLSv1.3 等)は「Client ⇔ CloudFront」間の通信内容であり、今回確認したい「CloudFront ⇔ Origin」間のプロトコルではありません。

3. ALBアクセスログによる裏付け

実際にオリジンとの通信でTLS 1.3が使用されたかを特定するため、S3に出力されたALBアクセスログを調査しました。ログの反映まで5分程度待機した後、以下のコマンドでログを取得・解析しました。

# ログを取得
$ aws s3 sync s3://my-log-bucket-xxxxxxxx/AWSLogs/123456789012/ ./logs/

# 解凍して該当リクエストを検索(CloudFrontからのアクセスのみ抽出)
$ gunzip -c logs/**/*.log.gz | grep "cloudfront.net" | grep "TLS 1.3 Verification"

出力されたログ(抜粋・整形):

https 2025-11-29T17:05:27.234837Z app/alb-test/xxxxxxxxxxxxxxxx 
192.0.2.10:12345 
- -1 -1 -1 200 - 306 191 
"GET https://dxxxxxxxxxxxxx.cloudfront.net:443/ HTTP/1.1" 
"Amazon CloudFront" 
TLS_AES_128_GCM_SHA256 TLSv1.3

ログの末尾付近にある TLSv1.3 の記述により、CloudFrontとALB間でTLS 1.3による接続が確立されたことを事実として確認しました。また、暗号スイートには TLS_AES_128_GCM_SHA256 が使用されています。

4. 比較検証:TLS 1.2のみの場合

念のため、ALBのポリシーをTLS 1.2のみ(ELBSecurityPolicy-2016-08)に変更した場合の挙動もログで確認しました。

変更後のログ:

... ECDHE-ECDSA-AES128-GCM-SHA256 TLSv1.2

オリジン側の設定に応じて、CloudFrontが適切にプロトコルをダウングレードして接続していることが分かります。

まとめ

今回の検証により、CloudFrontとオリジン間のTLS 1.3接続について以下の挙動が確認できました。

  • CloudFrontの設定変更は不要: OriginSSLProtocols にTLS 1.3を指定せずとも、自動的にネゴシエーションが行われる。
  • 後方互換性の維持: オリジンがTLS 1.2のみの場合は、自動的にTLS 1.2で接続される。
  • ログによる可視化: 接続プロトコルの実態は、CloudFront側ではなくオリジン(ALB/NLB)のアクセスログで確認する必要がある。

今回のアップデートの最大のメリットは、オリジン側の変更だけでセキュリティ強度とパフォーマンス(ハンドシェイクの高速化)が向上する点にあります。CloudFrontの設定変更に伴うリスク(ディストリビューション更新時の影響など)を負うことなく、バックエンドの対応だけで通信品質を高めることが可能です。

現在、CloudFrontのオリジンとしてALB(Application Load Balancer)やNLB(Network Load Balancer)を利用しており、TLS 1.3対応ポリシーを未採用の環境については、TLS 1.3対応ポリシーへの移行をご検討ください。

この記事をシェアする

FacebookHatena blogX

関連記事