このページでは、デュアルリージョン ストレージの使用方法について説明します。
必要なロール
デュアルリージョン バケットを作成するために必要な権限を取得するには、プロジェクトに対するストレージ管理者(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 の [バケット] ページに移動します。
[作成] をクリックします。
[バケットの作成] ページでユーザーのバケット情報を入力します。次のステップに進むには、[続行] をクリックします。
[バケットに名前を付ける] で、バケット名の要件を満たす名前を入力します。
[データの保存場所の選択] で、[ロケーション タイプ] の横にある [デュアルリージョン] を選択します。省略可: [ターボ レプリケーションを追加する] チェックボックスをオンにすると、この機能とターボ レプリケーションを組み合わせることができます。
[ロケーション] で、使用する [大陸] と関連する [リージョン] を選択します。
[データのデフォルトのストレージ クラスを選択する] で、バケットのストレージ クラスを選択します。デフォルトのストレージ クラスは、デフォルトでバケットにアップロードされたすべてのオブジェクトに割り当てられます。
[オブジェクトへのアクセスを制御する方法を選択する] で、使用する公開アクセスの防止オプションとアクセス制御オプションを選択します。
[オブジェクト データを保護する方法を選択する] で、オブジェクトのバージョニング、保持ポリシー、暗号化方法など、使用する保護ツールを選択します。
[作成] をクリックします。
失敗した Cloud Storage オペレーションの詳細なエラー情報を Google Cloud コンソールで確認する方法については、トラブルシューティングをご覧ください。
コマンドライン
--location
フラグと --placement
フラグを指定して、buckets create
コマンドを使用します。
gcloud storage buckets create gs://BUCKET_NAME --location=MULTI-REGION --placement=REGION_1,REGION_2
ここで
BUCKET_NAME
は、作成するバケットの名前です。例:my-bucket
。MULTI-REGION
には、基盤となるリージョンに関連付けられたマルチリージョン コードを指定します。たとえば、ASIA-SOUTH1
(ムンバイ)とASIA-SOUTH2
(デリー)のリージョンを選択する場合は、IN
を使用します。REGION_1
には、バケットのリージョンの地理的位置を指定します。例:ASIA-EAST1
REGION_2
には、バケットの 2 つ目のリージョンの地理的位置を指定します。例:ASIA-SOUTHEAST1
リクエストが成功すると、コマンドから次のメッセージが返されます。
Creating gs://BUCKET_NAME/...
gcloud storage
を使用してバケットを作成するときに使用できるオプションの一覧については、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 に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
REST API
JSON API
Authorization
ヘッダーのアクセス トークンを生成するには、gcloud CLI のインストールと初期化を行います。OAuth 2.0 Playground を使用してアクセス トークンを作成し、
Authorization
ヘッダーに含めることもできます。バケットの設定を含む JSON ファイルを作成します。このファイルに
name
とlocation
を含める必要があります。設定の一覧については、Buckets:Insert のドキュメントをご覧ください。一般的な設定は次のとおりです。{ "name": "BUCKET_NAME", "location": "MULTI-REGION", "customPlacementConfig": { "dataLocations": ["REGION_1", "REGION_2"] }, "storageClass": "STORAGE_CLASS" }
ここで
BUCKET_NAME
は、バケットに付ける名前で、命名要件の対象となります。例:my-bucket
。MULTI-REGION
には、基盤となるリージョンに関連付けられたマルチリージョン コードを指定します。たとえば、ASIA-SOUTH1
(ムンバイ)とASIA-SOUTH2
(デリー)のリージョンを選択する場合は、IN
を使用します。REGION_1
とREGION_2
は、バケットのオブジェクト データを保存するリージョンです。たとえば、ASIA-EAST1
やASIA-SOUTHEAST1
です。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_ID"
ここで
JSON_FILE_NAME
は手順 2 で作成した JSON ファイルの名前です。PROJECT_ID
は、バケットが関連付けられるプロジェクトの ID です。例:my-project
XML API
Authorization
ヘッダーのアクセス トークンを生成するには、gcloud CLI のインストールと初期化を行います。OAuth 2.0 Playground を使用してアクセス トークンを作成し、
Authorization
ヘッダーに含めることもできます。次の情報が含まれる XML ファイルを作成します。
<CreateBucketConfiguration> <LocationConstraint>MULTI-REGION</LocationConstraint> <CustomPlacementConfig> <DataLocations> <DataLocation>REGION_1</DataLocation> <DataLocation>REGION_2</DataLocation> </DataLocations> </CustomPlacementConfig> <StorageClass>STORAGE_CLASS</StorageClass> </CreateBucketConfiguration>
ここで
MULTI-REGION
には、基盤となるリージョンに関連付けられたマルチリージョン コードを指定します。たとえば、ASIA-SOUTH1
(ムンバイ)とASIA-SOUTH2
(デリー)のリージョンを選択する場合は、IN
を使用します。REGION_1
とREGION_2
は、バケットのオブジェクト データを保存するリージョンです。たとえば、ASIA-EAST1
やASIA-SOUTHEAST1
です。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
リクエストにサポートされていないリージョンが含まれている場合は、エラー メッセージが返されます。リクエストが成功した場合、レスポンスは返されません。
次のステップ
- ターボ レプリケーションの詳細を確認する。
- バケット メタデータを取得する(デュアルリージョン バケットで使用されるリージョンの組み合わせなど)。
- ターボ レプリケーションの料金または料金の例の詳細を確認する。