このページでは、Cloud Storage バケットの作成方法について説明します。リクエストで指定されていない限り、バケットは US
マルチリージョンで作成され、デフォルトのストレージ クラスは Standard Storage になります。また、削除(復元可能)の保持期間は 7 日間になります。
必要なロール
Cloud Storage バケットを作成するために必要な権限を取得するには、プロジェクトに対するストレージ管理者(roles/storage.admin
)IAM ロールを付与するよう管理者に依頼してください。
この事前定義ロールには、バケットの作成に必要な権限が含まれています。必要な権限を正確に確認するには、[必要な権限] セクションを開いてください。
必要な権限
storage.buckets.create
storage.buckets.enableObjectRetention
(バケットのオブジェクト保持構成を有効にする場合にのみ必要)storage.buckets.list
(Google Cloud コンソールでバケットを作成する場合にのみ必要)resourcemanager.projects.get
(Google Cloud コンソールでバケットを作成する場合にのみ必要)
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。どのロールがどの権限に関連付けられているかを確認するには、Cloud Storage に適用される IAM のロールをご覧ください。
プロジェクトにロールを付与する手順については、プロジェクトへのアクセス権を管理するをご覧ください。
バケットを新規作成する
コンソール
- Google Cloud コンソールで、Cloud Storage の [バケット] ページに移動します。
- [ 作成] をクリックします。
[バケットの作成] ページでユーザーのバケット情報を入力します。以下のステップでは、操作を完了した後に [続行] をクリックして、次のステップに進みます。
[バケットに名前を付ける] セクションで、次の操作を行います。
[データの保存場所の選択] セクションでロケーション タイプを選択し、ロケーション タイプのプルダウン メニューを使用して、バケット内のオブジェクト データが永続的に保存されるロケーションを選択します。
[データのストレージ クラスを選択する] セクションで、バケットのデフォルトのストレージ クラスを選択します。あるいは、Autoclass を選択して、バケットデータのストレージ クラスを自動的に管理します。
[オブジェクトへのアクセスを制御する方法を選択する] セクションで、バケットに公開アクセスの防止を適用するかどうかを選択し、バケットのオブジェクトにアクセス制御モデルを選択します。
[オブジェクト データを保護する方法を選択する] セクションで、次の操作を行います。
- [データ保護] で、バケットに設定するオプションを選択します。
- オブジェクト データの暗号化方法を選択するには、[データ暗号化] というラベルの付いた データの暗号化方法を選択します。 展開矢印をクリックし、
[作成] をクリックします。
失敗した Cloud Storage オペレーションの詳細なエラー情報を Google Cloud コンソールで確認する方法については、トラブルシューティングをご覧ください。
コマンドライン
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
開発環境で、
gcloud storage buckets create
コマンドを実行します。gcloud storage buckets create gs://BUCKET_NAME --location=BUCKET_LOCATION
ここで
リクエストが成功すると、コマンドから次のメッセージが返されます。
Creating gs://BUCKET_NAME/...
次のフラグを設定すると、バケットの作成をより細かくコントロールできます。
--project
: バケットが関連付けられるプロジェクト ID またはプロジェクト番号を指定します。例: my-project。--default-storage-class
: バケットのデフォルトのストレージ クラスを指定します。例:STANDARD
--uniform-bucket-level-access
: バケットの均一なバケットレベルのアクセスを有効にします。
例:
gcloud storage buckets create gs://BUCKET_NAME --project=PROJECT_ID --default-storage-class=STORAGE_CLASS --location=BUCKET_LOCATION --uniform-bucket-level-access
gcloud CLI を使用してバケットを作成するオプションの完全なリストについては、
buckets create
オプションをご覧ください。
クライアント ライブラリ
C++
詳細については、Cloud Storage C++ API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
C#
詳細については、Cloud Storage C# API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Go
詳細については、Cloud Storage Go API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Java
詳細については、Cloud Storage Java API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Node.js
詳細については、Cloud Storage Node.js API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
PHP
詳細については、Cloud Storage PHP API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Python
詳細については、Cloud Storage Python API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Ruby
詳細については、Cloud Storage Ruby API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Terraform
REST API
JSON API
Authorization
ヘッダーのアクセス トークンを生成するには、gcloud CLI のインストールと初期化を行います。OAuth 2.0 Playground を使用してアクセス トークンを作成し、
Authorization
ヘッダーに含めることもできます。バケットの設定を含む JSON ファイルを作成します。この設定には、バケットの
name
を含める必要があります。設定の一覧については、Buckets:Insert のドキュメントをご覧ください。一般的な設定は次のとおりです。{ "name": "BUCKET_NAME", "location": "BUCKET_LOCATION", "storageClass": "STORAGE_CLASS", "iamConfiguration": { "uniformBucketLevelAccess": { "enabled": true }, } }
ここで
BUCKET_NAME
は、バケットに付ける名前で、命名要件の対象となります。例:my-bucket
BUCKET_LOCATION
は、バケットのオブジェクト データを保存するロケーションです。例:US-EAST1
STORAGE_CLASS
は、バケットのデフォルトのストレージ クラスです。例:STANDARD
-
curl -X POST --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b?project=PROJECT_IDENTIFIER"
ここで
JSON_FILE_NAME
は、手順 2 で作成した JSON ファイルの名前です。PROJECT_IDENTIFIER
は、バケットが関連付けられているプロジェクトの ID または番号です。例:my-project
XML API
Authorization
ヘッダーのアクセス トークンを生成するには、gcloud CLI のインストールと初期化を行います。OAuth 2.0 Playground を使用してアクセス トークンを作成し、
Authorization
ヘッダーに含めることもできます。バケットの設定を含む XML ファイルを作成します。設定の全一覧については、XML: バケットを作成するのドキュメントをご覧ください。一般的な設定は次のとおりです。
<CreateBucketConfiguration> <LocationConstraint>BUCKET_LOCATION</LocationConstraint> <StorageClass>STORAGE_CLASS</StorageClass> </CreateBucketConfiguration>
ここで
BUCKET_LOCATION
は、バケットのオブジェクト データを保存するロケーションです。例:US-EAST1
STORAGE_CLASS
は、バケットのデフォルトのストレージ クラスです。例:STANDARD
-
curl -X PUT --data-binary @XML_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "x-goog-project-id: PROJECT_ID" \ "https://storage.googleapis.com/BUCKET_NAME"
ここで
XML_FILE_NAME
は、手順 2 で作成した XML ファイルの名前です。PROJECT_ID
は、バケットが関連付けられるプロジェクトの ID です。例:my-project
BUCKET_NAME
は、バケットに付ける名前で、命名要件の対象となります。例:my-bucket
次のステップ
- プロジェクト内のバケットを一覧表示する。
- バケットのメタデータに関する情報を取得する。
- バケットのストレージ レイアウトに関する情報を取得する
- バケットを移動または名前を変更する。
- バケットを削除する。
- バケットにオブジェクトをアップロードする。
- Kubernetes Config Connector を使用して、バケットの作成と構成を管理する。
使ってみる
Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオでの Cloud Storage のパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
Cloud Storage を無料で試す