パス形式のS3 URLを解析する
バケット名がURLパスの最初のセグメントになるレガシーパス形式のS3 URL形式を理解します。パス形式がまだ必要な場合を学びます。
Path Style
詳細な説明
パス形式URL:レガシー形式
パス形式URLでは、バケット名はホスト名のサブドメインではなく、URLパスの最初のセグメントです。AWSはこの形式を新しいバケットに対して非推奨としていますが、レガシーシステムとの作業のために理解しておくことが重要です。
URL構造
https://s3.REGION.amazonaws.com/BUCKET/KEY
例
https://s3.us-east-1.amazonaws.com/legacy-data-bucket/exports/users.csv
解析されたコンポーネント
| コンポーネント | 値 |
|---|---|
| バケット | legacy-data-bucket |
| キー | exports/users.csv |
| リージョン | us-east-1 |
| スタイル | パス形式 |
非推奨のタイムライン
- 2020年9月30日: AWSは新しいバケットがグローバル
s3.amazonaws.comエンドポイントへのパス形式リクエストに対して仮想ホスト形式のみをサポートすると発表。 - 既存バケット: カットオフ日前に作成されたバケットに対してはパス形式リクエストが引き続き動作。
- リージョナルエンドポイント: リージョン固有のエンドポイント(
s3.REGION.amazonaws.com)へのパス形式リクエストはすべてのバケットで引き続き動作。
パス形式がまだ必要な場合
- ドットを含むバケット名 — 例:
my.bucket.v2—*.s3.amazonaws.comのSSL証明書がマルチレベルサブドメインに一致しないため、HTTPS経由の仮想ホスト形式を使用できません。 - S3互換サービス — MinIO、Cephなど多くのオンプレミスまたはサードパーティのS3互換システムはデフォルトでパス形式を使用します。
- テストと開発 — LocalStackや類似のツールはしばしばパス形式URLを使用します。
仮想ホスト形式への変換
パス形式:
https://s3.us-east-1.amazonaws.com/my-bucket/file.txt
仮想ホスト形式:
https://my-bucket.s3.us-east-1.amazonaws.com/file.txt
ユースケース
AWSがパス形式アクセスを完全に非推奨にする前に、設定ファイル、CDNオリジン、アプリケーションコード内のすべての参照を更新して、パス形式から仮想ホスト形式URLにアプリケーションを移行する。