パス形式の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)へのパス形式リクエストはすべてのバケットで引き続き動作。

パス形式がまだ必要な場合

  1. ドットを含むバケット名 — 例:my.bucket.v2*.s3.amazonaws.comのSSL証明書がマルチレベルサブドメインに一致しないため、HTTPS経由の仮想ホスト形式を使用できません。
  2. S3互換サービス — MinIO、Cephなど多くのオンプレミスまたはサードパーティのS3互換システムはデフォルトでパス形式を使用します。
  3. テストと開発 — 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にアプリケーションを移行する。

試してみる — AWS S3 URL Parser

フルツールを開く