CloudFront ディストリビューションとロードバランサーの間の HTTPS 接続が失敗するのはなぜですか?

所要時間1分
0

Amazon CloudFront ディストリビューションのオリジンとして、Classic Load Balancer または Application Load Balancer で HTTPS リスナーと HTTP リスナーを設定しています。CloudFront とロードバランサーの間の HTTPS 通信が失敗します。HTTPS 通信の問題を解決したいと考えています。

解決方法

HTTPS 通信の失敗は、関連付けられている SSL 証明書、セキュリティグループ、またはネットワークアクセスコントロールリスト (ACL) に関する問題が原因である可能性があります。使用しているディストリビューションとロードバランサーが次のセキュリティ要件を満たしていることを確認してください。

  • ロードバランサーに有効な SSL 証明書をインストールしておく必要があります。SSL 証明書をインストールしてもまだ HTTPS エラーが発生する場合は、CloudFront とカスタムオリジンサーバー間の SSL 接続をトラブルシューティングします。
  • CloudFront ディストリビューションがポート 443 でロードバランサーに接続する場合、ロードバランサーに関連付けられているセキュリティグループは、CloudFront IP アドレスのポート 443 でトラフィックを許可する必要があります。セキュリティグループの更新の詳細については、「Configure security groups for your Classic Load Balancer」(Classic Load Balancer のセキュリティグループの設定) または「Application Load Balancer のセキュリティグループ」を参照してください。ディストリビューションにアタッチされたセキュリティグループの CloudFront IP アドレスのみを許可するには、AWS マネージドプレフィックスリストを使用します。このリストにはすべての CloudFront IP アドレスが含まれており、IP アドレスに変更がある場合は自動的に更新されます。詳細については、「Limit access to your origins using the AWS managed prefix list for Amazon CloudFront」(Amazon CloudFront の AWS マネージドプレフィックスリストを使用してオリジンへのアクセスを制限する) を参照してください。
  • ロードバランサーの Amazon Virtual Private Cloud (Amazon VPC) に関連付けられている ネットワーク ACL は、HTTPS ポート (通常はポート 443) で CloudFront からのトラフィックを許可する必要があります。

注: Application Load Balancers は、Server Name Indication (SNI) を使用したスマート選択を用いて複数の TLS 証明書をサポートします。CloudFront ディストリビューションがホストヘッダーに基づいてキャッシュする場合、Application Load Balancer に同じ名前で設定された TLS 証明書があることを確認します。それ以外の場合、Application Load Balancer はデフォルト証明書を提示します。これは、CloudFront からの ClientHello メッセージに関連付けられている SNI と一致しない可能性があります。


関連情報

CloudFront とカスタムオリジンとの間の通信に HTTPS を必須にする

AWS公式
AWS公式更新しました 1年前
コメントはありません

関連するコンテンツ