説明
CloudFront のデフォルト証明書は、デフォルトの CloudFront ドメインに使う正規の証明書です。カスタムドメインで HTTPS を提供する場合は、その名前を含むカスタム証明書が必要です。証明書はドメインに対応する暗号化接続を提供しますが、コンテンツを閲覧できる利用者の制限を代替するものではありません。
想定される影響
- サービスのドメインと証明書が一致しないと、HTTPS 接続が失敗する場合があります。
- 要件に合わない TLS ポリシーでは、古いプロトコルが許可される場合があります。
対処方法
- 実際のサービスドメインに合う証明書を選んでください。CloudFront に関連付ける ACM 証明書は
us-east-1に用意してください。 - カスタム証明書では
ssl_support_method: sni-onlyと、要件を満たすminimum_protocol_versionを指定してください。 - デフォルト証明書で要件を満たすかも確認してください。コンテンツのアクセス制限は、署名付き URL や Cookie などで別途設定してください。
例
デフォルトドメイン用の証明書とカスタム証明書を比較する抜粋です。カスタムドメインと DNS の設定は省略しています。例の ARN は、所有するドメインを含む実際の証明書の ARN に置き換えてください。
変更前
yaml
- name: CloudFront 배포 생성
community.aws.cloudfront_distribution:
state: present
default_origin_domain_name: www.my-cloudfront-origin.com
viewer_certificate:
cloudfront_default_certificate: true
デフォルトの CloudFront ドメインに適した証明書設定です。カスタムドメインや、より高い最低 TLS バージョンが必要な場合は別の設定が必要です。
変更後
yaml
- name: CloudFront 배포 생성
community.aws.cloudfront_distribution:
state: present
default_origin_domain_name: www.my-cloudfront-origin.com
viewer_certificate:
acm_certificate_arn: arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012
ssl_support_method: sni-only
minimum_protocol_version: TLSv1.2_2018
ACM 証明書、SNI、TLS 1.2 ポリシーを指定しています。証明書の名前とクライアントが接続するドメインが一致することを確認してください。