バケットは、Object Storage Service (OSS) でオブジェクトを保持する基本的なコンテナーです。バケットは、すべてのオブジェクトが直接その中に格納されるフラットな構造を持ち、従来のファイルシステムのようなディレクトリ階層はありません。
構造はフラットですが、OSS コンソールや OSS Browser などのグラフィカルツールでは、オブジェクト名に区切り文字としてスラッシュ (/) を使用してフォルダをシミュレートできます。例: folder/file.jpg。
主要な概念
バケットの主要なプロパティは、次の概念によって定義されます。
リージョン
リージョンは、バケットが存在するデータセンターの物理的な場所を指定します。バケットのリージョンは、作成後に変更することはできません。
ストレージタイプ
データにアクセスする頻度に基づいてストレージタイプを選択します。この選択はストレージコストに直接影響します。不明な場合は、標準を選択します。後で ライフサイクルルールを使用して、データをよりコスト効率の高いストレージタイプに自動的に移動できます。
ストレージタイプ | 主な特徴 | 典型的なシナリオ |
標準 | 頻繁な読み取りおよび書き込みアクセスをサポートします。最小ストレージ期間は必要ありません。 | Web サイトやアプリケーションの動的なビジネスデータ。 |
低頻度アクセス | アクセス頻度が低いデータ向けです。最小ストレージ期間は 30 日です。 | 監視データ、ログ、およびエンタープライズバックアップ。 |
アーカイブストレージ | 年に 1 回など、ほとんどアクセスされないデータ向けです。最小ストレージ期間は 60 日です。 | 長期アーカイブおよび医療画像。 |
コールドアーカイブ/ディープコールドアーカイブ | ほとんどアクセスされないデータ向けです。最小ストレージ期間は 180 日です。アクセスする前にデータを解凍する必要があります。 | コンプライアンスデータおよび履歴画像アーカイブ。 |
ストレージ冗長タイプ
冗長タイプは、データレプリカの数とデータ信頼性のレベルを決定します。詳細については、「データ冗長タイプ」をご参照ください。バケットをローカル冗長ストレージ (LRS) からゾーン冗長ストレージ (ZRS) にスペックアップすることはできますが、ZRS から LRS にスペックダウンすることはできません。
冗長タイプ | データ信頼性 | シナリオ |
LRS (ローカル冗長ストレージ) | 99.999999999% (イレブンナイン) | 開発およびテスト環境 |
ZRS (ゾーン冗長ストレージ) | 99.9999999999% (トゥエルブナイン) | 本番環境 |
基本的な操作
1 つの Alibaba Cloud アカウントで、リージョンごとに最大 100 個のバケットを作成できます。1 つのバケットに容量制限はありません。
バケットの作成: オブジェクトを格納するための新しいバケットを作成します。
バケットのリスト表示: 作成したバケットのリストを表示します。
バケットのリージョンの取得: バケットが配置されているリージョンを表示します。
バケットの削除: 不要になったバケットを削除します。
バケットに関するよくある質問: 一般的な問題のソリューションを見つけます。
アクセスの制御
OSS は、多層的なアクセスの制御モデルを提供します。ポリシーは、次の優先順位の高い順に適用されます。
パブリックアクセスのブロック: すべてのパブリックアクセスをブロックする簡単な方法を提供するバケットレベルの設定です。有効にすると、アクセス制御リスト (ACL) やバケットポリシーなど、パブリックアクセスを許可する可能性のある他の権限を上書きして、すべての形式のパブリックアクセスをブロックします。この設定は、コンソールで作成されたすべての新しいバケットでデフォルトで有効になっています。
バケットポリシー: バケットとその中のオブジェクトへの詳細なアクセス権限を他のアカウントまたは匿名ユーザーに付与する、リソースベースの権限付与ポリシーです。
RAM ポリシー: Alibaba Cloud アカウント配下の Resource Access Management (RAM) ユーザーがアクセスできる OSS リソースを制御する、ユーザーベースの権限付与ポリシーです。
バケット ACL: 非公開、公開読み取り、公開読み書きの 3 つのプリセットされたバケットレベルの権限を提供する、簡素化された権限管理メソッドです。
シナリオ固有の構成
データセキュリティとコンプライアンスの確保
不正アクセスや偶発的な漏洩からデータを保護するには、組み合わせた戦略を使用します。
基本的なセキュリティ対策として、パブリックアクセスのブロックを有効にしておきます。
RAM ポリシーを使用して、内部ユーザーとアプリケーションに最小権限のアクセスを付与します。
サーバー側暗号化を使用して静的データを保護します。
ロギングを有効にして、セキュリティ監査とトラブルシューティングのためにすべてのアクセスリクエストを記録します。
データのディザスタリカバリとバックアップの実装
偶発的な削除やリージョンの障害によるデータ損失を防ぐために、次の機能を構成できます。
偶発的な削除の防止: バージョン管理を有効にして、オブジェクトの履歴バージョンを保持します。いつでも復元できます。
バックアップの自動化: スケジュールバックアップ機能を使用して、毎日データを自動的にバックアップします。
長期ストレージコストの削減
ログやバックアップファイルなど、時間の経過とともにアクセス頻度が低くなるデータについては、ライフサイクル管理機能を使用できます。ルールを設定することで、データを標準から低頻度アクセスまたはアーカイブストレージに自動的に変換し、有効期限が切れた後にデータを自動的に削除できます。このプロセスにより、手動での介入なしにストレージコストが継続的に最適化されます。
グローバルユーザーアクセスの高速化
ビジネスがグローバルなユーザーベースにサービスを提供している場合は、転送アクセラレーションを有効にしてアップロードとダウンロードの速度を向上させることができます。この機能は、アクセスポイントのグローバルネットワークと最適化されたルートを使用して、国やリージョンをまたぐデータ転送を高速化します。静的 Web サイトや人気の高い小さなファイルの配信には、CDN と併用してアクセスエクスペリエンスを向上させることができます。
データ処理と分析の自動化
データが OSS にアップロードされた後にダウンストリームのワークフローを自動的にトリガーするには、イベント通知機能を使用できます。この機能は、オブジェクトの作成や削除などのイベントが発生したときに、Message Service (MNS) や Function Compute (FC) などの宛先に通知を送信します。これにより、自動化された 画像処理、ビデオおよびオーディオ処理、またはデータ分析などのタスクのために、イベント駆動型のデータ処理パイプラインを構築できます。