Cloud Storage を効果的に使用するには、サービスの基礎となるコンセプトをいくつか理解する必要があります。このページでは、Cloud Storage の主な用語とコンセプトについて説明します。
Cloud Storage の使用方法については、Cloud Storage とはをご覧ください。
プロジェクト
Cloud Storage 内のデータはすべてプロジェクト内に属します。一連のユーザー、一連の API、これらの API の請求、認証、モニタリングの設定で構成されます。1 つまたは複数のプロジェクトを保持できます。
バケット
バケットは、データを格納する基本的なコンテナです。Cloud Storage 内に保存するデータはすべてバケットに格納する必要があります。バケットは、データの整理やアクセス制御に使用できますが、ディレクトリやフォルダと異なり、入れ子構造にすることはできません。プロジェクトまたはロケーションに含めることができるバケットの数に上限はありませんが、バケットを作成または削除できるレートには制限があります。
バケットを作成するときに、グローバルに一意の名前と、バケットとそのコンテンツを保存する地理的位置を指定します。バケットの名前とロケーションは、作成後に変更することはできませんが、バケットを削除して再作成することで同様の結果を得ることができます。また、バケットの作成時に構成でき、後で変更できるオプションのバケット設定もあります。
オブジェクト
オブジェクトとは、Cloud Storage 内に保存する個々のデータのことです。バケットで作成できるオブジェクトの数に上限はありません。
オブジェクトは、オブジェクト データとオブジェクト メタデータという 2 つのコンポーネントで構成されます。通常、オブジェクト データは Cloud Storage に保存するファイルで、Cloud Storage にとっては完全に不透明です。オブジェクト メタデータは、オブジェクトのさまざまな性質を記述した名前と値のペアの集合です。
オブジェクト名
オブジェクト名は、Cloud Storage のオブジェクト メタデータとして扱われます。オブジェクト名には任意の Unicode 文字(エンコーディングは UTF-8)を組み合わせて使用できます。オブジェクト名の長さは 1,024 バイト未満にして、バケット内で一意である必要があります。
Cloud Storage ではフラットな名前空間を使用してオブジェクトを保存します。つまり、Cloud Storage では特定のバケット内のすべてのオブジェクトを階層関係なしで独立して認識します。便宜上、Google Cloud Console や gsutil などのツールでは、スラッシュ(/)文字を使用して、オブジェクトを仮想階層に保存されているかのように操作します。
たとえば、あるオブジェクトの名前を /europe/france/paris.jpg
とし、別のオブジェクトの名前を /europe/france/cannes.jpg
にできます。コンソールを使用すると、こうしたオブジェクトに、フォルダ europe
と france
の下にある階層ディレクトリ構造のように移動できます。
オブジェクトの名前変更などの詳細については、オブジェクトの命名ガイドラインをご覧ください。
オブジェクトの不変性
オブジェクトは不変です。具体的には、アップロードされたオブジェクトは、その保存期間が終わるまで変わることはありません。オブジェクトの保存期間とは、オブジェクトが正常に作成され(たとえば、アップロードなど)、正常に削除されるまでの時間です。つまり、後からオブジェクトに付加や切り捨てなどのオペレーションで部分的な変更を加えることはできません。ただし、Google Cloud Storage に保存されているオブジェクトを置換することは可能で、これはアトミックに行われます。新しいアップロードが完了するまではオブジェクトの古いバージョンがリーダーに配信され、アップロードが完了すると、オブジェクトの新しいバージョンがリーダーに配信されます。したがって、置換オペレーションを 1 回行うと、1 つの不変オブジェクトの保存期間が終了し、別の新たな不変オブジェクトの保存期間が開始することになります。
オブジェクトの世代番号は、オブジェクトのデータを置換するたびに変更されます。したがって、世代番号は不変オブジェクトを一意に識別します。
同じオブジェクトをすばやく置き換えるために、1 秒に 1 回の上限があります。同じオブジェクトを頻繁に置き換えると、429 Too Many Requests
エラーが発生する可能性があります。特定のオブジェクトのデータを 1 秒あたり 1 回を超えてアップロードしないようにアプリケーションを設計し、切り捨て型指数バックオフを使用して、時折発生する 429 Too Many Requests
エラーを処理するようにしてください。
リソース
リソースとは、Google Cloud 内のエンティティです。Compute Engine インスタンスと同様に、Google Cloud のそれぞれのプロジェクト、バケット、オブジェクトがリソースになります。
リソース名
各リソースには、ファイル名のような固有の名前が付いています。バケットのリソース名の形式は projects/_/buckets/BUCKET_NAME
です。ここで、BUCKET_NAME
はバケットの ID です。オブジェクトのリソース名の形式は projects/_/buckets/BUCKET_NAME/objects/OBJECT_NAME
です。ここで、OBJECT_NAME
はオブジェクトの ID です。
リソース名の末尾に付加される #NUMBER
は、オブジェクトの特定の世代を示します。#0
は、オブジェクトの最新バージョンを示す特別な識別子です。#0
を追加することは、そのようにしないとオブジェクト名の最後の文字列が世代番号として解釈される場合に役立ちます。
ネットワーク使用量
ネットワーク使用量は、Cloud Storage との間で送受信されるデータを表します。
下り(外向き)は、HTTP レスポンスで Cloud Storage から送信されるデータを表します。 下り(外向き)の例として、Cloud Storage バケットから読み取られるデータまたはメタデータが挙げられます。
上り(内向き)は、HTTP リクエストで Cloud Storage に送信されるデータを表します。上り(内向き)の例として、Cloud Storage バケットに書き込まれるデータまたはメタデータが挙げられます。
詳細については、Cloud Storage の料金と Cloud Storage の割り当てをご覧ください。
次のステップ
- Cloud Storage クイックスタートのいずれかを試す。
- Cloud Storage クライアント ライブラリを設定する。
- 利用できる Cloud Storage 入門ガイドを探す
使ってみる
Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオでの Cloud Storage のパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
Cloud Storage 無料トライアル