Amazon S3 Compatibility APIのオブジェクト・ストレージでのホスト・スタイルのサポート

Object Storage Amazon S3 Compatibility APIがAWS仮想ホスト・スタイルURLをどのようにサポートしているかをご覧ください。

Oracle Cloud Infrastructure (OCI)では、オブジェクトに対処するための次の方法がサポートされるようになりました。

  • パス・スタイル: URLの形式は次のとおりです。
    https://<namespace>.compat.objectstorage.<region>.oci.customer-oci.com/<bucket_name>/<object_name>
  • 仮想ホスト・スタイル: URLの形式は次のとおりです。
    https://<bucket_name>.vhcompat.objectstorage.<region>.oci.customer-oci.com/<object_name>

    ここでは、バケット名はURLのドメイン名の一部であり、<object_name>のみがパスの一部です。

以前は、Object Storage Amazon S3 Compatibility APIでは、次の形式を使用したパス・スタイルのみがサポートされていました。

https://<namespace>.compat.objectstorage.<region>.oci.customer-oci.com/<bucket_name>/<object_name>

ここで、<namespace>は、すべてのバケットおよびオブジェクトの最上位のコンテナとして機能するオブジェクト・ストレージ・ネームスペースを表します。

OCIアカウントが作成されると、各OCIテナントには、システム生成および不変のオブジェクト・ストレージ・ネームスペース名が1つ割り当てられます。ネームスペースは、すべてのリージョンのすべてのコンパートメントにまたがります。バケット名は、ネームスペース内で一意である必要があります。ネームスペースはリージョン固有ですが、ネームスペース名自体はすべてのリージョンで同じです。

OCIでは、仮想ホスト・スタイル・アクセスのサポートが追加され、バケット名をURLのサブドメインの一部として含めることができます。AWS SDKを使用してオブジェクト・ストレージにアクセスする場合は、新しいエンドポイントで仮想ホスト・スタイルURLを使用できます:

https://<bucket_name>.vhcompat.objectstorage.<region>.oci.customer-oci.com/<object_name>
ノート

OCIで仮想ホスト・スタイルのURLを使用する場合、バケット名は同じリージョン内のすべてのテナントで一意である必要があります。

バケットの動作を理解するには、次の点を考慮してください。

  • 仮想ホスト・スタイルURLで作成されたバケットは、リージョン内のすべてのテナント間で一意であることが保証されます。
  • 仮想ホスト・スタイルURLを使用して、同じリージョン内ですでに使用されている名前を持つバケットを作成することはできません。
  • パス・スタイル・アクセスのサポートは続行されるため、パス・スタイルのURLを使用して既存のバケットにアクセスできます。
  • バケット名に使用できるのは、小文字、数字およびハイフンのみです。
  • バケット名をハイフン文字で始めることはできず、連続するハイフン文字を含めることもできません。
  • バケット名は、最小3文字および最長63文字である必要があります。
  • バケット名はサブドメインとして機能するため、標準のDNSネーミング・ルールにも従う必要があります。
  • パス・スタイルのURLを使用して既存のバケットを作成した場合、そのバケット名がリージョン全体のテナントによってまだ使用されておらず、バケット・スコープをREGIONに更新する必要があります。詳細は、仮想ホスト・スタイルURLをサポートするためのバケットの更新を参照してください。

次の表に、バケット・アクセスを示します。

ネイティブAPIアクセス S3パス・スタイル・アクセス S3仮想ホスト・スタイルへのアクセス
OCIネイティブAPIを使用して作成されたバケット
OCI S3パス・スタイルAPIを使用して作成されたバケット
OCI S3仮想スタイルAPIを使用して作成されたバケット

テナンシをまたがったオブジェクト・ストレージ・リソースへのアクセス

Amazon S3 Compatibility APIで仮想ホスト・スタイルのサポートを使用して、独自のテナンシを持つ別の組織でリソースにアクセスして共有する場合、すべてのオブジェクト、マルチパート・アップロードおよびタグ付けAPIがクロステナンシ・アクセスに対してサポートされます。ただし、バケットAPIは次の操作に制限されます。

ノート

バケットを作成するPutBucketは、OCI S3 APIで仮想ホスト・スタイルをサポートするクロステナンシ操作ではサポートされていません。

テナンシをまたいだオブジェクト・ストレージ・リソースにアクセスする方法の詳細は、テナンシ間のオブジェクト・ストレージ・リソースにアクセスを参照してください。