グローバルS3エンドポイントを使用したパス形式URL
リージョンなしのグローバルs3.amazonaws.comエンドポイントを使用したパス形式S3 URLを解析します。us-east-1以外のバケットのリダイレクト動作を理解します。
Path Style
詳細な説明
グローバルエンドポイントでのパス形式
パス形式URLがリージョンプレフィックスなしのグローバルエンドポイント(s3.amazonaws.com)を使用する場合、動作はバケットの場所によって異なります。
URL構造
https://s3.amazonaws.com/BUCKET/KEY
例
https://s3.amazonaws.com/shared-assets/fonts/inter-variable.woff2
解析されたコンポーネント
| コンポーネント | 値 |
|---|---|
| バケット | shared-assets |
| キー | fonts/inter-variable.woff2 |
| リージョン | (未指定) |
| スタイル | パス形式 |
リダイレクト動作
グローバルエンドポイントへのパス形式リクエストの場合:
| バケットリージョン | 動作 |
|---|---|
us-east-1 |
リクエストは直接処理 — リダイレクトなし |
| その他のリージョン | S3がリージョナルエンドポイントへの301 Moved Permanentlyを返す |
仮想ホスト形式のリダイレクトとの違いに注意:パス形式は永続的な301リダイレクトを返し、仮想ホスト形式は一時的な307リダイレクトを返します。
301リダイレクトレスポンス
HTTP/1.1 301 Moved Permanently
Location: https://s3.eu-west-1.amazonaws.com/shared-assets/fonts/inter-variable.woff2
これが重要な理由
- キャッシュ: CDNやブラウザが301リダイレクトを永続的にキャッシュする場合があり、バケットが移動または削除された場合に問題が発生する可能性があります。
- CORS: リージョナルエンドポイントでCORSが設定されていない場合、リダイレクトがクロスオリジンリクエストを壊す可能性があります。
- パフォーマンス: リクエストごとに追加のラウンドトリップがレイテンシーを増加させます。
本番URLではこれらの問題を回避するために常にリージョンを明示的に指定してください。
ユースケース
eu-west-1にデプロイされたアプリケーションがグローバルエンドポイント経由でS3アセットを取得する際に高レイテンシーが発生する理由を診断し、301リダイレクトチェーンが不要なラウンドトリップを追加していることを発見する。