CloudFront の地理的制限の必要性を確認

国別の配信制限が必要か確認し、必要な CloudFront 地理的制限と、別途の認証・オリジンアクセス制御を組み合わせてください。

説明

CloudFront の地理的制限は、接続元 IP アドレスの地理的位置に基づいて、国別にコンテンツへのアクセスを制御します。ライセンスやサービス方針で配信地域を限定する場合に有用ですが、世界中への公開を意図するサービスでは無効のままにすることもあります。

この機能は利用者の身元や実際の滞在場所を保証せず、認証やオリジンへのアクセス制限の代わりにはなりません。

想定される影響

必要な国別制限がないと、許可した地域以外からコンテンツにアクセスできる場合があります。一方、誤ったリストは正常な利用者のアクセスを遮断する可能性があります。

対処方法

サービスを提供する国の要件を確認し、必要に応じて Restrictions.GeoRestriction に適切な許可・拒否リストを設定してください。実際の接続結果とオリジンへの直接アクセスを確認し、認証など他の制御も維持してください。

例

地理的制限だけを比較するディストリビューションの抜粋です。オリジンやキャッシュ動作などの必須設定は省略しています。国コードはサービス方針に合わせて選択してください。

変更前

yaml
AWSTemplateFormatVersion: '2010-09-09'
Resources:
  myDistribution:
    Type: AWS::CloudFront::Distribution
    Properties:
      DistributionConfig:
        Logging:
          IncludeCookies: 'false'
          Bucket: mylogs.s3.amazonaws.com
          Prefix: myprefix
        Restrictions:
          GeoRestriction:
            RestrictionType: none
        ViewerCertificate:
          CloudFrontDefaultCertificate: 'true'

RestrictionType: none は国別のアクセス制限を適用しません。

変更後

yaml
AWSTemplateFormatVersion: '2010-09-09'
Resources:
  myDistribution:
    Type: AWS::CloudFront::Distribution
    Properties:
      DistributionConfig:
        Logging:
          IncludeCookies: 'false'
          Bucket: mylogs.s3.amazonaws.com
          Prefix: myprefix
        Restrictions:
          GeoRestriction:
            RestrictionType: whitelist
            Locations:
            - AQ
            - CV
        ViewerCertificate:
          CloudFrontDefaultCertificate: 'true'

whitelist に AQ と CV を指定します。これは例示用の国リストであり、すべてのサービスに推奨されるリストではありません。

参考資料