Amazon CloudFront ディストリビューションのオリジンとして Amazon Simple Storage Service (Amazon S3) バケットを使用していますが、S3 バケット内のファイルにアクセスしたり、ダウンロードしたりできません。この問題を解決するにはどうすればよいですか?
CloudFront が「403 Access Denied」(403 アクセス拒否) エラーを返す場合は、ユースケースに基づいて次のガイドを参照してください。
ディストリビューションで地理的制限を使用している場合は、リクエストの発信元である国を制限していないことを確認します。
詳細については、「コンテンツの地理的ディストリビューションの制限」を参照してください。
Amazon S3 ウェブサイトのエンドポイントは HTTPS をサポートしていません。CLI、API、または SDK を使用して CloudFront ディストリビューションを設定した場合は、S3 ウェブサイトのエンドポイントオリジンで HTTPS を強制していないことを確認します。
HTTPS を使用しているかどうかを確認するには、GetDistributionConfig API または get-distribution-config CLI コマンドを使用してディストリビューション設定を取得します。OriginProtocolPolicy が https-only に設定されている場合は、http-only を使用するように OriginProtocolPolicy を変更します。
HTTPS を使用するには、S3 REST API エンドポイントオリジンとともに CloudFront を使用します。詳細については、「CloudFront を使用して Amazon S3 バケット向けに HTTPS リクエストを提供するにはどうすればよいですか」を参照してください。
HTTP GET、POST、および PUT リクエストで許可される最大ファイルサイズは 30 GB です。ファイルが 30 GB より大きい場合、400「BadRequest」エラーが表示されます。
詳細については、「ディストリビューションの一般的なクォータ」を参照してください。
S3 オブジェクトキー名に特殊文字を使用している場合、特殊な処理が必要になることがあります。詳細については、「オブジェクトキーの命名のガイドライン」を参照してください。
CloudFront ディストリビューションは、オブジェクトがディストリビューションで設定されている場合でも、サブディレクトリからデフォルトのルートオブジェクトを返しません。詳細については、「デフォルトのルートオブジェクトの指定」を参照してください。
この問題を回避するには、Lambda@Edge を使用してサブディレクトリからデフォルトのルートオブジェクトを返すことができます。設定例については、「Implementing Default Directory Indexes in Amazon S3-backed Amazon CloudFront Origins Using Lambda@Edge」(Lambda@Edge を使用した Amazon S3-backed の Amazon CloudFront オリジンでのデフォルトのディレクトリインデックスの実装) を参照してください。
Amazon S3 オリジンでは、Host ヘッダーに基づくキャッシュ、または Host ヘッダーの転送はサポートされていません。詳細については、「Selecting the headers to base caching on」(キャッシュをベースにするヘッダーの選択) を参照してください。
「CloudFront から「リクエストされたリソースに「Access-Control-Allow-Origin」ヘッダーが存在しません」というエラーを解決するにはどうすればよいですか?」の解決手順を参照してください。
オリジンからのエラーレスポンスのトラブルシューティング