バケットは、オブジェクトをOSS (Object Storage Service) に格納するために使用されるコンテナーです。 バケットは、オブジェクトの効率的な整理と管理に役立ちます。 このトピックでは、バケットに関する基本情報とフォローアップガイドラインについて説明します。
機能
バケット容量と数の制限: Alibaba Cloudアカウントを使用して、リージョン内に最大100個のバケットを作成できます。 バケットの容量に制限はありません。
フラット構造: 次の図に示すように、バケットは階層構造の代わりにフラット構造を使用してオブジェクトを格納し、ディレクトリを持ちません。 オブジェクト管理を容易にするために、OSSコンソールやossbrowserなどのグラフィカルツールは、名前がスラッシュ (/) で終わるオブジェクトをディレクトリとして表示します。 詳細については、「ディレクトリの管理」をご参照ください。
基本情報
バケットを使用する前に、次の項目に注意してください。
バケット名: バケットを作成するときは、バケットの名前を指定する必要があります。 バケットの名前は、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を有効にします。 | |
リソースグループは、リソースベースのアクセス制御方法です。 ビジネス要件に基づいてバケットをグループ化し、リソースグループごとに異なるアクセス許可を設定できます。 これにより、グループごとにバケットへのアクセスを管理できます。 |
アクセス制御
デフォルトでは、Alibaba CloudはAlibaba Cloudアカウントを使用してOSS操作を実行します。 ただし、Alibaba Cloudアカウントにはフルアクセス権限があるため、セキュリティリスクが高くなります。 Alibaba Cloudアカウントを使用してRAMユーザーをアカウント管理者として作成し、RAMポリシーをRAMユーザーにアタッチしてRAMユーザーに権限を付与することを推奨します。 アカウント間でバケットアクセスを許可する場合は、バケットポリシーを設定して、他のアカウントにバケットへのアクセス権限を付与できます。 バケットに粗いアクセス制御を実装する場合は、バケットACLを指定してバケットへのアクセスを管理できます。 偶発的なデータ開示を防ぎ、データのセキュリティを強化するために、[パブリックアクセスのブロック] をオンにすることを推奨します。
機能 | 説明 |
ブロックパブリックアクセスを有効にすると、既存のパブリックアクセス権限は無視され、パブリックアクセス権限を設定できません。 これにより、パブリックデータアクセスチャネルが無効になり、データセキュリティが確保されます。 デフォルトでは、バケットを作成するときに [パブリックアクセスをブロック] が有効になります。 | |
ビジネス要件に基づいて、バケットを作成するとき、または既存のバケットのACLを変更するときに、バケットのACLを設定できます。 バケットのACLを設定または変更できるのは、バケットの所有者だけです。 | |
バケットのバケットポリシーを設定して、特定のOSSリソースにアクセスする権限を他のユーザーに付与できます。 | |
Resource Access Management (RAM) は、リソースへのアクセス許可を管理するためにAlibaba Cloudが提供するサービスです。 RAMポリシーは、ユーザーベースの権限付与ポリシーです。 RAMポリシーを設定して、従業員、システム、アプリケーションなどのユーザーを管理できます。 ユーザーがアクセスできるリソースを指定できます。 たとえば、RAMポリシーを作成して、バケットの読み取り権限のみをユーザーに付与できます。 |
データセキュリティ
API 操作 | 説明 |
バケットのバージョン管理を有効にすると、バケット内の既存のオブジェクトと同じ名前のオブジェクトをアップロードするたびに、新しいバージョンが作成されます。 この場合、既存のオブジェクトは上書きされません。 これにより、いつでも以前のバージョンのオブジェクトを見つけて復元できます。 この機能は、頻繁に更新するオブジェクトや履歴オブジェクトを保持する必要があるシナリオに適しています。 | |
バケットのホットリンク保護を設定して、バケット内のリソースへの不正アクセスを防止できます。 | |
クロスオリジンリソース共有 (CORS) は、webアプリケーションサーバーがクロスオリジンアクセスを制御できるようにするために、HTML5によって提供される標準のクロスオリジンソリューションです。 これにより、オリジン間のデータ伝送のセキュリティが確保されます。 | |
OSSは、WORM (Write Once Read Many) 機能をサポートしています。 この機能は、特定の期間内にオブジェクトが削除または上書きされるのを防ぐのに役立ちます。 企業は米国の規則に従うのにこの特徴を使用します。 証券取引委員会 (SEC) および金融業界規制当局 (FINRA) 。 | |
OSSは、サーバー側暗号化が設定されているバケットにアップロードされたオブジェクトを暗号化し、暗号化されたオブジェクトを保存します。 GetObject操作を呼び出してオブジェクトをダウンロードすると、OSSはオブジェクトを復号して返します。 x-oss-server-side-encryptionヘッダーがレスポンスに含まれ、オブジェクトがサーバー側で暗号化されていることを示します。 | |
クライアントアプリケーションとOSS間の通信は、通信リンクのセキュリティを確保するために、TLS (Transport Layer Security) を使用して暗号化されます。 許可されているTLSバージョンを指定して、クライアントアプリケーションとOSS間の接続のセキュリティを向上させることができます。 |
データ管理
API 操作 | 説明 |
同一リージョンレプリケーション (SRR) を使用すると、同じリージョン内のバケット間でオブジェクトを自動的かつ非同期に (ほぼリアルタイムで) レプリケートできます。 SRRは、オブジェクトの作成、更新、削除などの操作をソースバケットから宛先バケットにレプリケートします。 | |
クロスリージョンレプリケーション (CRR) を使用すると、あるリージョンのバケットから別のリージョンのバケットにオブジェクトを自動的かつ非同期に (ほぼリアルタイムで) レプリケートできます。 CRRは、オブジェクトの作成、更新、削除などの操作をソースバケットから宛先バケットにレプリケートします。 | |
バケット内のオブジェクトの最終変更時刻と最終アクセス時刻に基づいて、バケットのライフサイクルルールを設定できます。 これにより、Object Storage Service (OSS) は、オブジェクトのストレージクラスを定期的に変換したり、期限切れのオブジェクトやパーツを削除したりして、ストレージコストを削減できます。 | |
バケットインベントリ機能を使用して、オブジェクトの数、サイズ、ストレージクラス、暗号化ステータスなど、バケット内の特定のオブジェクトに関する情報をエクスポートできます。 多数のオブジェクトを一覧表示するには、GetBucket (ListObjects) 操作を呼び出す代わりに、バケットインベントリ機能を使用することをお勧めします。 | |
静的webサイトは、クライアント上で実行できるJavaScriptコードなどのスクリプトを含む、すべてのwebページが静的コンテンツのみで構成されるwebサイトです。 静的Webサイトホスティング機能を使用して、静的WebサイトをOSSバケットでホストし、バケットのドメイン名を使用してWebサイトにアクセスできます。 詳細については、「カスタムドメイン名のマップ」をご参照ください。 | |
バケットにミラーリングベースのback-to-originルールを設定した後、要求されたオブジェクトがバケットに存在しない場合、OSSはback-to-originルールで指定されたオリジンからオブジェクトを取得します。 OSSは、オリジンから取得したオブジェクトをリクエスタに返し、バケットに格納します。 | |
バケットのArchiveオブジェクトのリアルタイムアクセスを有効にすると、バケット内のArchiveオブジェクトにリアルタイムでアクセスできます。 アーカイブオブジェクトのリアルタイムアクセスは、復元されたオブジェクトにアクセスする場合と比較して、データの取得にかかる時間が短くなりますが、データ取得料金が高くなります。 |
情報処理
API 操作 | 説明 |
画像処理 (IMG) を使用して、画像のサイズ変更、画像のトリミング、および画像スタイルの設定を行うことができます。 | |
OSSコンソールで監視するオブジェクトのイベント通知ルールを設定できます。 ルールで指定されたイベントがこれらのオブジェクトで発生した場合、すぐに通知されます。 |
ログ管理
機能 | 説明 |
OSS リソースにアクセスすると、多数のログが生成されます。 バケットのロギングを有効にして設定すると、事前定義された命名規則に基づいて1時間ごとにログが生成され、ログが特定のバケットに保存されます。 Simple Log Serviceを使用するか、Sparkクラスターを構築してログを分析できます。 | |
リアルタイムログクエリを使用すると、OSSコンソールでOSSアクセスログをクエリ、フィルタリング、分析して、例外を追跡し、エラーをトラブルシューティングできます。 ビジネス要件に基づいて、リアルタイムのログクエリを有効にできます。 |
データレイク管理
機能 | 説明 |
OSS-HDFSは、OSSとHadoop分散ファイルシステム (HDFS) を統合します。 OSS-HDFSを使用すると、OSSにデータを保存し、Hadoopツールを使用してデータを処理および分析できます。 OSS-HDFSは、ビッグデータ分析、データマイニング、機械学習シナリオなど、大量のデータを処理する必要があるシナリオに適しています。 |