すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:バケット

最終更新日:Dec 09, 2024

バケットは、オブジェクトをOSS (Object Storage Service) に格納するために使用されるコンテナーです。 バケットは、オブジェクトの効率的な整理と管理に役立ちます。 このトピックでは、バケットに関する基本情報とフォローアップガイドラインについて説明します。

機能

  • バケット容量と数の制限: Alibaba Cloudアカウントを使用して、リージョン内に最大100個のバケットを作成できます。 バケットの容量に制限はありません。

  • フラット構造: 次の図に示すように、バケットは階層構造の代わりにフラット構造を使用してオブジェクトを格納し、ディレクトリを持ちません。 オブジェクト管理を容易にするために、OSSコンソールやossbrowserなどのグラフィカルツールは、名前がスラッシュ (/) で終わるオブジェクトをディレクトリとして表示します。 詳細については、「ディレクトリの管理」をご参照ください。

image

基本情報

バケットを使用する前に、次の項目に注意してください。

  • バケット名: バケットを作成するときは、バケットの名前を指定する必要があります。 バケットの名前は、Alibaba CloudアカウントのOSSで一意である必要があります。 識別を容易にするために、ビジネス関連の名前を使用することを推奨します。 たとえば、myapp-logs-Hangzhouは、杭州リージョンのmyappのログが保存されるバケットを指定します。 詳細については、「命名規則」をご参照ください。

  • リージョン: バケットを作成するときは、バケットの物理的な場所を指定する必要があります。 バケットの作成後にバケットのリージョンを変更することはできません。 アクセス速度を向上させるために、ビジネスに地理的に最も近いリージョンを選択することを推奨します。 詳細については、「OSSリージョンの選択」をご参照ください。

  • エンドポイント: エンドポイントを使用して、OSSのオブジェクトにアクセスできます。 各リージョンには独自のエンドポイントがあります。 API操作を呼び出すか、OSS SDK、ossutil、およびossfsを使用してバケット内のオブジェクトにアクセスするには、バケットが配置されているリージョンのエンドポイントを使用する必要があります。 詳細については、「リージョンとエンドポイント」をご参照ください。

  • ストレージクラス :OSSには、さまざまなストレージ要件を満たすために、標準 (デフォルト) 、低頻度アクセス (IA) 、アーカイブ、コールドアーカイブ、およびディープコールドアーカイブのストレージクラスが用意されています。 アプリケーションシナリオに基づいて異なるストレージクラスにオブジェクトを保存し、ストレージコストを削減できます。 たとえば、標準は頻繁にアクセスされるオブジェクトに適していますが、コールドアーカイブは長期間保持する必要があるコールドデータに適しています。 詳細については、「概要」をご参照ください。

  • 冗長タイプ: 冗長メカニズムは、複数のデバイスまたはゾーンのデータをバックアップすることにより、データの信頼性を向上させます。 より高い信頼性が必要な場合は、ゾーン冗長ストレージ (ZRS) を選択することを推奨します。 コストを削減したい場合は、ローカル冗長ストレージ (LRS) を選択することを推奨します。 ZRSはデフォルトで使用されます。 詳細については、「概要」をご参照ください。

    重要

    LRSは、標準、IA、アーカイブ、コールドアーカイブ、およびディープコールドアーカイブのストレージクラスをサポートしています。 ZRSは、Standard、IA、Archiveのストレージクラスをサポートしています。

  • ACL: バケットアクセス制御リスト (ACL) を指定して、バケットとバケット内のオブジェクトに対する読み取りおよび書き込み権限を管理できます。 バケットACLには、private (デフォルト) 、public-read、およびpublic-read-writeが含まれます。 データのセキュリティを確保するため、バケットACLをprivateに設定することを推奨します。 詳細については、「アクセスと制御」をご参照ください。

  • ブロックパブリックアクセス: バケットのブロックパブリックアクセスを有効にすると、既存のパブリックアクセス許可が無視され、パブリックアクセス許可を設定できません。 これにより、パブリックデータアクセスチャネルが無効になり、データセキュリティが確保されます。 デフォルトでは、この機能は有効になっています。 詳細については、「パブリックアクセスのブロック」をご参照ください。

  • リソースグループ: バケットが属するリソースグループを選択して、部門またはプロジェクトごとにバケットを管理できます。 デフォルトのリソースグループが使用されます。 詳細については、「リソースグループの使用」をご参照ください。

操作

バケットに関する基本情報を理解したら、ビジネス要件に基づいてバケットを使用および管理できます。

バケット関連操作

API 操作

説明

バケットの作成

オブジェクトをOSSにアップロードする前に、オブジェクトを格納するバケットを作成する必要があります。

リストバケット

異なる条件を指定して、リージョン内のすべてのバケットまたは特定のバケットを一覧表示できます。

バケットの削除

ストレージ容量の解放に不要になったバケットを削除できます。

バケットのリソース使用量の表示

OSSコンソールで、基本統計、ランキング統計、リージョンとオペレータの統計、API統計、およびオブジェクトアクセス統計を表示できます。

バケットが配置されているリージョンの照会

リージョン間で多数のバケットを作成した場合は、バケット名を指定してバケットのリージョンを照会できます。

一般的な問題の解決

バケットの使用時に問題が発生した場合は、「バケットに関するFAQ」をご参照ください。

バケット設定

API 操作

説明

バケットタグの管理

OSSでは、バケットタグを設定してバケットを分類および管理できます。 たとえば、特定のタグを持つバケットを一覧表示し、特定のタグを持つバケットのACLを設定できます。

カスタムドメイン名をバケットのデフォルトドメイン名にマップする

オブジェクトをバケットにアップロードすると、アップロードされたオブジェクトのバケットのパブリックエンドポイントを含むURLが自動的に生成されます。 これらのURLを使用してオブジェクトにアクセスできます。 カスタムドメイン名を使用してオブジェクトにアクセスする場合は、オブジェクトが格納されているバケットにカスタムドメイン名をマッピングする必要があります。

転送アクセラレーションの有効化

OSSは、世界中に分散しているリージョンを使用して転送アクセラレーションを実行します。 バケットへのアクセスリクエストが送信されると、リクエストは解析され、最適なネットワークパスとプロトコルを介してバケットが配置されているリージョンにルーティングされます。 転送アクセラレーション機能は、インターネット経由でOSSにアクセスするための最適化されたエンドツーエンドのアクセラレーションソリューションを提供します。

pay-by-requesterの有効化

バケット内のオブジェクトにアクセスするときに発生する料金をリクエスタが支払うようにするには、バケットのpay-by-requesterを有効にします。

リソースグループの使用

リソースグループは、リソースベースのアクセス制御方法です。 ビジネス要件に基づいてバケットをグループ化し、リソースグループごとに異なるアクセス許可を設定できます。 これにより、グループごとにバケットへのアクセスを管理できます。

アクセス制御

デフォルトでは、Alibaba CloudはAlibaba Cloudアカウントを使用してOSS操作を実行します。 ただし、Alibaba Cloudアカウントにはフルアクセス権限があるため、セキュリティリスクが高くなります。 Alibaba Cloudアカウントを使用してRAMユーザーをアカウント管理者として作成し、RAMポリシーをRAMユーザーにアタッチしてRAMユーザーに権限を付与することを推奨します。 アカウント間でバケットアクセスを許可する場合は、バケットポリシーを設定して、他のアカウントにバケットへのアクセス権限を付与できます。 バケットに粗いアクセス制御を実装する場合は、バケットACLを指定してバケットへのアクセスを管理できます。 偶発的なデータ開示を防ぎ、データのセキュリティを強化するために、[パブリックアクセスのブロック] をオンにすることを推奨します。

機能

説明

ブロックパブリックアクセス

ブロックパブリックアクセスを有効にすると、既存のパブリックアクセス権限は無視され、パブリックアクセス権限を設定できません。 これにより、パブリックデータアクセスチャネルが無効になり、データセキュリティが確保されます。 デフォルトでは、バケットを作成するときに [パブリックアクセスをブロック] が有効になります。

バケットACL

ビジネス要件に基づいて、バケットを作成するとき、または既存のバケットのACLを変更するときに、バケットのACLを設定できます。 バケットのACLを設定または変更できるのは、バケットの所有者だけです。

バケットポリシー

バケットのバケットポリシーを設定して、特定のOSSリソースにアクセスする権限を他のユーザーに付与できます。

RAMポリシー

Resource Access Management (RAM) は、リソースへのアクセス許可を管理するためにAlibaba Cloudが提供するサービスです。 RAMポリシーは、ユーザーベースの権限付与ポリシーです。 RAMポリシーを設定して、従業員、システム、アプリケーションなどのユーザーを管理できます。 ユーザーがアクセスできるリソースを指定できます。 たとえば、RAMポリシーを作成して、バケットの読み取り権限のみをユーザーに付与できます。

データセキュリティ

API 操作

説明

バージョン管理の有効化

バケットのバージョン管理を有効にすると、バケット内の既存のオブジェクトと同じ名前のオブジェクトをアップロードするたびに、新しいバージョンが作成されます。 この場合、既存のオブジェクトは上書きされません。 これにより、いつでも以前のバージョンのオブジェクトを見つけて復元できます。 この機能は、頻繁に更新するオブジェクトや履歴オブジェクトを保持する必要があるシナリオに適しています。

hotlink保護の設定

バケットのホットリンク保護を設定して、バケット内のリソースへの不正アクセスを防止できます。

CORSルールの設定

クロスオリジンリソース共有 (CORS) は、webアプリケーションサーバーがクロスオリジンアクセスを制御できるようにするために、HTML5によって提供される標準のクロスオリジンソリューションです。 これにより、オリジン間のデータ伝送のセキュリティが確保されます。

保持ポリシーの設定

OSSは、WORM (Write Once Read Many) 機能をサポートしています。 この機能は、特定の期間内にオブジェクトが削除または上書きされるのを防ぐのに役立ちます。 企業は米国の規則に従うのにこの特徴を使用します。 証券取引委員会 (SEC) および金融業界規制当局 (FINRA) 。

サーバー側暗号化の設定

OSSは、サーバー側暗号化が設定されているバケットにアップロードされたオブジェクトを暗号化し、暗号化されたオブジェクトを保存します。 GetObject操作を呼び出してオブジェクトをダウンロードすると、OSSはオブジェクトを復号して返します。 x-oss-server-side-encryptionヘッダーがレスポンスに含まれ、オブジェクトがサーバー側で暗号化されていることを示します。

TLSバージョンの設定

クライアントアプリケーションとOSS間の通信は、通信リンクのセキュリティを確保するために、TLS (Transport Layer Security) を使用して暗号化されます。 許可されているTLSバージョンを指定して、クライアントアプリケーションとOSS間の接続のセキュリティを向上させることができます。

データ管理

API 操作

説明

SRRルールの設定

同一リージョンレプリケーション (SRR) を使用すると、同じリージョン内のバケット間でオブジェクトを自動的かつ非同期に (ほぼリアルタイムで) レプリケートできます。 SRRは、オブジェクトの作成、更新、削除などの操作をソースバケットから宛先バケットにレプリケートします。

CRRルールの設定

クロスリージョンレプリケーション (CRR) を使用すると、あるリージョンのバケットから別のリージョンのバケットにオブジェクトを自動的かつ非同期に (ほぼリアルタイムで) レプリケートできます。 CRRは、オブジェクトの作成、更新、削除などの操作をソースバケットから宛先バケットにレプリケートします。

ライフサイクルルールの設定

バケット内のオブジェクトの最終変更時刻と最終アクセス時刻に基づいて、バケットのライフサイクルルールを設定できます。 これにより、Object Storage Service (OSS) は、オブジェクトのストレージクラスを定期的に変換したり、期限切れのオブジェクトやパーツを削除したりして、ストレージコストを削減できます。

バケットインベントリの設定

バケットインベントリ機能を使用して、オブジェクトの数、サイズ、ストレージクラス、暗号化ステータスなど、バケット内の特定のオブジェクトに関する情報をエクスポートできます。 多数のオブジェクトを一覧表示するには、GetBucket (ListObjects) 操作を呼び出す代わりに、バケットインベントリ機能を使用することをお勧めします。

静的Webサイトホスティングの設定

静的webサイトは、クライアント上で実行できるJavaScriptコードなどのスクリプトを含む、すべてのwebページが静的コンテンツのみで構成されるwebサイトです。 静的Webサイトホスティング機能を使用して、静的WebサイトをOSSバケットでホストし、バケットのドメイン名を使用してWebサイトにアクセスできます。 詳細については、「カスタムドメイン名のマップ」をご参照ください。

ミラーリングベースのback-to-originルールの設定

バケットにミラーリングベースのback-to-originルールを設定した後、要求されたオブジェクトがバケットに存在しない場合、OSSはback-to-originルールで指定されたオリジンからオブジェクトを取得します。 OSSは、オリジンから取得したオブジェクトをリクエスタに返し、バケットに格納します。

アーカイブオブジェクトへのリアルタイムアクセスの有効化

バケットのArchiveオブジェクトのリアルタイムアクセスを有効にすると、バケット内のArchiveオブジェクトにリアルタイムでアクセスできます。 アーカイブオブジェクトのリアルタイムアクセスは、復元されたオブジェクトにアクセスする場合と比較して、データの取得にかかる時間が短くなりますが、データ取得料金が高くなります。

情報処理

API 操作

説明

IMGの使用

画像処理 (IMG) を使用して、画像のサイズ変更、画像のトリミング、および画像スタイルの設定を行うことができます。

イベント通知ルールの設定

OSSコンソールで監視するオブジェクトのイベント通知ルールを設定できます。 ルールで指定されたイベントがこれらのオブジェクトで発生した場合、すぐに通知されます。

ログ管理

機能

説明

ロギング

OSS リソースにアクセスすると、多数のログが生成されます。 バケットのロギングを有効にして設定すると、事前定義された命名規則に基づいて1時間ごとにログが生成され、ログが特定のバケットに保存されます。 Simple Log Serviceを使用するか、Sparkクラスターを構築してログを分析できます。

リアルタイムログ照会

リアルタイムログクエリを使用すると、OSSコンソールでOSSアクセスログをクエリ、フィルタリング、分析して、例外を追跡し、エラーをトラブルシューティングできます。 ビジネス要件に基づいて、リアルタイムのログクエリを有効にできます。

データレイク管理

機能

説明

OSS-HDFS

OSS-HDFSは、OSSとHadoop分散ファイルシステム (HDFS) を統合します。 OSS-HDFSを使用すると、OSSにデータを保存し、Hadoopツールを使用してデータを処理および分析できます。 OSS-HDFSは、ビッグデータ分析、データマイニング、機械学習シナリオなど、大量のデータを処理する必要があるシナリオに適しています。