トラブルシューティング: ディストリビューション - Amazon CloudFront

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

トラブルシューティング: ディストリビューション

この情報を使用して、証明書エラー、アクセス拒否の問題、または Amazon CloudFront ディストリビューションでウェブサイトやアプリケーションを設定するときに発生する可能性のあるその他の一般的な問題の診断や修復に役立ててください。

CloudFront 代替ドメイン名を追加しようとすると、 がInvalidViewerCertificateエラーを返します。

ディストリビューションに代替ドメイン名 (CNAME) を追加しようとしたときに がInvalidViewerCertificateエラーを CloudFront 返す場合は、以下の情報を確認して問題のトラブルシューティングに役立ててください。このエラーは、代替ドメイン名を正常に追加できる前に次のいずれかの問題を解決する必要があることを示している可能性があります。

以下のエラーは、 が代替ドメイン名を追加する認可 CloudFront をチェックする順序でリストされています。これは、 が CloudFront 返すエラーに基づいて、どの検証チェックが正常に完了したかを知ることができるため、問題のトラブルシューティングに役立ちます。

ディストリビューションにアタッチされた証明書はありません。

代替ドメイン名 (CNAME) を追加するには、信頼された、有効な証明書をディストリビューションにアタッチする必要があります。前提条件を確認し、これを満たす有効な証明書を取得してディストリビューションにアタッチしてから、操作をやり直してください。詳細については、「代替ドメイン名を使用するための要件」を参照してください。

アタッチした証明書の証明書チェーンに多すぎる証明書があります。

証明書チェーンには最大 5 つの証明書のみを含むことができます。チェーンの証明書の数を減らしてから、操作をやり直してください。

証明書チェーンには 1 つまたは複数の現在の日付には有効ではない証明書が含まれています。

追加した証明書の証明書チェーンに、証明書がまだ有効ではないあるいは有効期限切れの 1 つ以上の証明書が含まれています。証明書チェーンの証明書の [Not Valid Before] (有効期限開始日) フィールドおよび [Not Valid After] (失効日) フィールドをチェックし、リストした日付に基づいてすべての証明書が有効であることを確認します。

アタッチした証明書は、信頼される認証機関 (CA) によって署名されていません。

代替ドメイン名を検証 CloudFront するために にアタッチする証明書は、自己署名証明書にすることはできません。信頼される認証機関によって署名される必要があります。詳細については、「代替ドメイン名を使用するための要件」を参照してください。

アタッチした証明書が、正しくフォーマットされない

証明書に含まれているドメイン名と IP アドレス形式、および証明書自体の形式は、証明書の標準に従っている必要があります。

CloudFront 内部エラーが発生しました。

CloudFront は内部の問題によってブロックされ、証明書を検証できませんでした。このシナリオでは、 は HTTP 500 ステータスコードを CloudFront 返し、証明書をアタッチする際に内部 CloudFront の問題があることを示します。数分間待機してから、証明書に代替ドメイン名の追加を再試行します。

アタッチした証明書が、追加しようとしている代替ドメイン名を対象としていません。

追加する代替ドメイン名ごとに、 CloudFront では、ドメイン名を対象とする信頼された認証機関 (CA) から有効な SSL/TLS 証明書をアタッチして、その証明書を使用する権限を検証する必要があります。証明書を更新して、追加しようとしている CNAME を対象とするドメイン名を含めてください。ワイルドカードがあるドメイン名を使用する詳細と例については、「代替ドメイン名を使用するための要件」を参照してください。

ディストリビューション内のファイルを表示できません

CloudFront ディストリビューション内のファイルを表示できない場合は、いくつかの一般的なソリューションについて以下のトピックを参照してください。

CloudFront と Amazon S3 の両方にサインアップしましたか?

Amazon S3 オリジン CloudFront で Amazon を使用するには、 CloudFront と Amazon S3 の両方に個別にサインアップする必要があります。 Amazon S3 CloudFront および Amazon S3 へのサインアップの詳細については、「」を参照してください設定

Amazon S3 バケットとオブジェクトのアクセス許可は正しく設定されていますか?

Amazon S3 オリジン CloudFront で を使用している場合、コンテンツの元のバージョンは S3 バケットに保存されます。Amazon S3 CloudFront で を使用する最も簡単な方法は、すべてのオブジェクトを Amazon S3 でパブリックに読み取り可能にすることです。そのためには、Amazon S3 にアップロードするオブジェクトごとに公開特権を明示的に有効にする必要があります。

コンテンツがパブリックに読み取り可能でない場合は、 が CloudFront コンテンツにアクセスできるように CloudFront オリジンアクセスコントロール (OAC) を作成する必要があります。 CloudFront オリジンアクセスコントロールの詳細については、「」を参照してくださいAmazon S3 オリジンへのアクセスの制限

オブジェクトのプロパティとバケットのプロパティはそれぞれ独立しています。権限は Amazon S3 のオブジェクトそれぞれに対して明示的に付与する必要があります。オブジェクトのプロパティはバケットから取得できないので、別途設定する必要があります。

代替ドメイン名 (CNAME) が正しく設定されていますか?

お使いのドメイン名に対応する CNAME レコードがすでに存在する場合は、そのレコードを更新または変更して、レコードがディストリビューションのドメイン名を指すようにしてください。

CNAME レコードが、Amazon S3 バケットではなく、ディストリビューションのドメイン名を指していることも確認してください。DNS システムの CNAME レコードがディストリビューションのドメイン名を指していることを確認することができます。そのためには、dig などの DNS ツールを使用します。

以下は、images.example.com というドメイン名に対する dig リクエストと、レスポンスのうち関連する部分のサンプルです。ANSWER SECTION の下で、CNAME が含まれる行を探します。CNAME の右側にある値が CloudFront ディストリビューションのドメイン名である場合、ドメイン名の CNAME レコードが正しく設定されます。もしそれが Amazon S3 のオリジンサーバーのバケットや他のドメイン名になっている場合は、その CNAME レコードは正しく設定されていません。

[prompt]> dig images.example.com ; <<> DiG 9.3.3rc2 <<> images.example.com ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15917 ;; flags: qr rd ra; QUERY: 1, ANSWER: 9, AUTHORITY: 2, ADDITIONAL: 0 ;; QUESTION SECTION: ;images.example.com. IN A ;; ANSWER SECTION: images.example.com. 10800 IN CNAME d111111abcdef8.cloudfront.net. ... ...

CNAME の詳細については、「代替ドメイン名 (CNAME) を追加することによるカスタム URL の使用」を参照してください。

ディストリビューションの正しい URL CloudFront を参照していますか?

参照する URL が Amazon S3 バケットやカスタムオリジンではなく、CloudFront ディストリビューションのドメイン名 (または CNAME) を使用していることを確認してください。 Amazon S3

カスタムオリジンに関するトラブルシューティングでサポートが必要ですか?

カスタムオリジンのトラブルシューティングで AWS のサポートが必要な場合は、おそらくリクエストからの X-Amz-Cf-Id ヘッダーエントリの調査が必要になります。現在ヘッダーエントリのログを記録していない場合は、将来に備えて記録することをお勧めします。詳しくは、「Amazon EC2 (または他のカスタムオリジン) の使用」を参照してください。詳細については、AWS サポートセンターまでお問い合わせください。

エラーメッセージ: Certificate: <certificate-id> is used by CloudFront

問題: IAM 証明書ストアから SSL/TLS 証明書を削除しようとすると、「Certificate: <certificate-id> is used by 」というメッセージが表示されます CloudFront。

解決策: すべての CloudFront ディストリビューションをデフォルトの CloudFront 証明書またはカスタム SSL/TLS 証明書に関連付ける必要があります。SSL/TLS 証明書を削除する前に、SSL/TLS 証明書を更新するか (現行の独自 SSL/TLS 証明書を別の独自 SSL/TLS 証明書に置き換える)、または使用する証明書を独自 SSL/TLS 証明書からデフォルトの CloudFront 証明書に戻してください。この問題を解決するには、次のいずれかの手順のステップを実行します。