Rapid Cache を使用してキャッシュ インスタンスを作成して管理し、レイテンシを短縮して、Cloud Storage に保存されているオブジェクトのデータアクセスを最適化できます。このキャッシュ保存ソリューションは、データ取得を高速化することで、アプリケーションのパフォーマンスを向上させます。
このページでは、Rapid Cache を使用してキャッシュ インスタンスを作成して管理する方法について説明します。Rapid Cache の非同期キャッシュ オペレーションから開始される長時間実行オペレーションの使用方法と管理方法については、長時間実行オペレーションを使用するをご覧ください。
Rapid Cache を使用する前に、制限事項をご確認ください。
始める前に
キャッシュの作成と管理を開始する前に、次のセクションを完了してください。
必要なロールを取得する
Rapid Cache キャッシュの作成と管理に必要な権限を取得するには、キャッシュを作成するバケットに対するストレージ管理者 (roles/storage.admin)IAM ロールを付与するよう管理者に依頼してください。
この事前定義ロールには、Rapid Cache キャッシュの作成と管理に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
Rapid Cache キャッシュを作成、管理するには、次の権限が必要です。
-
storage.anywhereCaches.create(キャッシュの作成に必要) -
storage.anywhereCaches.disable(キャッシュを無効にするために必要) -
storage.anywhereCaches.get(キャッシュの取得に必要) -
storage.anywhereCaches.list(キャッシュの一覧表示に必要) -
storage.anywhereCaches.resume(キャッシュの再開に必要) -
storage.anywhereCaches.update(キャッシュの更新に必要) -
storage.managedFolders.create(キャッシュの書き込み時取り込み動作を有効にする場合にのみ必要) -
storage.managedFolders.update(キャッシュの書き込み時取り込み動作の更新にのみ必要)
カスタムロールを使用して、これらの権限を取得することもできます。
バケットに対するロールの付与については、バケットでの IAM ポリシーの設定と管理をご覧ください。
Rapid Cache メソッドから開始される長時間実行オペレーションを管理するには、追加のロールと権限が必要になる場合があります。詳細については、長時間実行オペレーションに必要なロールをご覧ください。
書き込み時の取り込み設定について
キャッシュを作成または更新するときに、データがバケットに書き込まれた瞬間にデータを取り込むようにキャッシュを有効にできます。この機能は「書き込み時の取り込み」と呼ばれます。JSON API を使用して書き込み時の取り込みを有効にする場合は、まず書き込み時の取り込みに使用される構成設定の動作を理解することをおすすめします。
キャッシュを作成する
コンソール
既存のバケットのキャッシュを作成する
- Google Cloud コンソールで Cloud Storage の [バケット] ページに移動します。
バケットのリストで、データをキャッシュに保存するバケットの名前をクリックします。
[バケットの詳細] ページで、[構成] タブをクリックします。
[Rapid Cache] セクションで、[キャッシュを構成] をクリックします。
バケットの [キャッシュを構成] ページが表示されます。
[キャッシュ リージョン] セクションで、キャッシュを作成するゾーンを含むリージョンをクリックします。
[キャッシュ ゾーン] セクションで、キャッシュを作成するゾーンを選択します。ゾーンに作成するキャッシュごとに、必要に応じて次の操作を行います。
省略可: 最後の読み取りからキャッシュからデータが削除されるタイミングを決定するカスタム有効期間(TTL)を設定できます。デフォルトでは、キャッシュの TTL は 1 日に設定されています。
カスタム TTL を設定するには:
[有効期間] 列で、期間の値(
48など)と時間の単位(hoursなど)を指定します。[設定を保存] をクリックします。
省略可: キャッシュを有効にして、初回読み取り時のデータ取り込みに加えて、書き込み時のデータ取り込みを行うことができます。デフォルトでは、キャッシュは最初の読み取り時にのみデータを取り込むように構成されています。
書き込み時にキャッシュがデータを取り込めるようにするには:
[取り込み条件] 列で、[キャッシュの取り込み条件を編集] をクリックします。
[取り込み条件を設定] ページが表示されます。
[書き込み時にデータを取り込む] チェックボックスをオンにします。
バケットに新しく書き込まれたすべてのオブジェクトに対して書き込み時の取り込みを有効にするには、[バケット全体] をクリックします。
名前の接頭辞が特定の新しいオブジェクトに対してのみ書き込み時の取り込みを有効にするには、[選択したフォルダ] をクリックして、オブジェクト名の接頭辞を入力します。オブジェクト名の接頭辞は「フォルダパス」とも呼ばれます。
[追加] 追加をクリックすると、複数のオブジェクト名の接頭辞を入力できます。
接頭辞を削除するには、[アイテムを削除] 削除 をクリックします。
[完了] をクリックします。
[設定を保存] をクリックします。
表示されるダイアログで [確認] をクリックします。
[バケットの詳細] ページの [オペレーション] タブが開き、キャッシュ作成オペレーションのジョブ ステータスが表示されます。
新しいバケットのキャッシュを作成する
新しいバケットの作成時にキャッシュを作成するには、新しいバケットを作成するの手順に沿って操作します。
[バケットリスト] ページからバケットのキャッシュのステータスを表示するには:
- Google Cloud コンソールで Cloud Storage の [バケット] ページに移動します。
[列を表示] アイコン()をクリックし、[キャッシュ] を選択して [OK] をクリックします。
コマンドライン
gcloud storage buckets anywhere-caches create コマンドを使用します。
gcloud storage buckets anywhere-caches create gs://BUCKET_NAME CACHE_ZONE \ [--ttl=TTL] [--enable-ingest-on-write]
次のように置き換えます。
BUCKET_NAMEは、データをキャッシュに保存するバケットの名前に置き換えます。例:my-bucketCACHE_ZONEは、キャッシュを実行するゾーンに置き換えます。例:us-east1-b複数のキャッシュを一度に作成するには、複数のゾーンを指定します。例:
us-east1-b us-east1-c us-east1-dTTL(省略可)は、キャッシュ内のデータの有効期間(TTL)に置き換えます。値は 1 ~ 7 日の範囲で指定できます。値は、秒、分、時間、日単位で表すことができます。次に例を示します。86400s: 86,400 秒1440m: 1,440 分24h: 24 時間1d: 1 日
指定しない場合のデフォルトは
86400s(1 日)です。
データがバケットに書き込まれた瞬間にデータを取り込むようにキャッシュを構成するには、省略可能な --enable-ingest-on-write フラグを指定します。このフラグを使用すると、オブジェクトがバケットに書き込まれたときに、キャッシュがすべてのオブジェクトを取り込むことができます。
成功すると、このコマンドは AnywhereCache の作成オペレーションに関連付けられた長時間実行オペレーションの ID を返します。長時間実行オペレーションの詳細を取得したり、AnywhereCaches 作成オペレーションの完了前に長時間実行オペレーションをキャンセルできます。
クライアント ライブラリ
C++
詳細については、Cloud Storage C++ API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Java
詳細については、Cloud Storage Java API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Rust
Terraform
Terraform で Rapid Cache を使用する方法については、google_storage_anywhere_cache Terraform のドキュメントをご覧ください。
REST API
JSON API
gcloud CLI のインストールと初期化を行います。これにより、
Authorizationヘッダーのアクセス トークンを生成できます。次の情報が含まれる JSON ファイルを作成します。
{ "zone": "ZONE", "ttl": "TIME_TO_LIVE", "ingestOnWrite": INGEST_SETTING }次のように置き換えます。
ZONEは、キャッシュを実行するゾーンに置き換えます。例:us-east1-bTIME_TO_LIVEは、キャッシュ内のデータの有効期間(TTL)に置き換えます。値は、秒、分、時間、日単位で表すことができます。次に例を示します。86400s: 86,400 秒1440m: 1,440 分24h: 24 時間1d: 1 日
指定しない場合、デフォルトは
86400s(1 日)です。最大値は 7 日です。trueまたはfalseを使用してINGEST_SETTINGを指定し、キャッシュが書き込み時にデータを取り込むかどうかを指定します。trueに設定すると、バケットに書き込まれるすべてのオブジェクトで書き込み時の取り込みが有効になります。falseに設定すると、接頭辞の下に書き込まれたオブジェクトに対して書き込み時の取り込みを選択的に有効にしたり、バケット全体で無効にしたりできます。書き込み時取り込みの有効化を構成するために使用される設定については、書き込み時取り込みを有効にするための要件をご覧ください。
バケットレベルまたはプレフィックス レベルで書き込み時の取り込みを有効にするか、書き込み時の取り込みを完全に無効にするには、次のいずれかの手順を使用します。
バケットの書き込み時取り込みを有効にする
バケットに書き込まれたすべてのオブジェクトに対して書き込み時の取り込みを有効にするには、
INGEST_SETTINGSの値をtrueに設定します。ステップ 3 に沿ってキャッシュ リクエストを完了します。
接頭辞の下のオブジェクトに対して書き込み時の取り込みを選択的に有効にする
INGEST_SETTINGSの値はfalseに設定します。ステップ 3 に沿ってキャッシュ リクエストを完了します。
マネージド フォルダがまだ存在しない場合は、接頭辞を名前として使用するマネージド フォルダを作成します。
rapidCacheConfig構成を含むマネージド フォルダPATCHリクエストを送信します。書き込み時の取り込みの使用方法についてのガイダンスに沿って、構成でフィールド値を設定します。
rapidCacheConfig構成の使用方法の詳細については、マネージド フォルダで書き込み時の取り込みを更新するをご覧ください。書き込み時の取り込みを有効にせずにキャッシュを作成する
INGEST_SETTINGSの値はfalseに設定します。ステップ 3 に沿ってキャッシュ リクエストを完了します。
cURLを使用して、キャッシュの作成リクエストで JSON API を呼び出します。curl -X POST --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage./storage/v1/b/BUCKET_NAME/anywhereCaches"次のように置き換えます。
JSON_FILE_NAMEは、手順 2 で作成した JSON ファイルの名前に置き換えます。BUCKET_NAMEは、データをキャッシュに保存するバケットの名前に置き換えます。例:my-bucket
成功した場合、オペレーションは google.longrunning.Operation を返します。長時間実行オペレーションの詳細を取得したり、AnywhereCaches 作成オペレーションの完了前に長時間実行オペレーションをキャンセルできます。
キャッシュを表示する
コンソール
- Google Cloud コンソールで Cloud Storage の [バケット] ページに移動します。
バケットのリストで、表示するキャッシュに関連付けられているバケットの名前をクリックします。
[バケットの詳細] ページで、[構成] タブをクリックします。
[Rapid Cache] セクションで、[キャッシュ] フィールドの横にある [編集] をクリックします。
表示された [構成を編集] ページで、リージョンを選択して、リージョンのゾーン内のすべてのキャッシュを表示します。
[キャッシュゾーン] ペインで、使用可能な各キャッシュの詳細を確認できます。
コマンドライン
gcloud storage buckets anywhere-caches describe コマンドを使用します。
gcloud storage buckets anywhere-caches describe CACHE_ID
次のように置き換えます。
CACHE_IDは、BUCKET_NAME/CACHE_ZONEとして記述されたキャッシュ インスタンスの ID に置き換えます。例:my-bucket/us-east1-b。
オプションの raw フラグを使用して、標準化された API レスポンスではなく、未加工の API レスポンスを出力します。
成功すると、コマンドは AnywhereCache リソースを返します。
クライアント ライブラリ
C++
詳細については、Cloud Storage C++ API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Java
詳細については、Cloud Storage Java API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Rust
Terraform
Terraform で Rapid Cache を使用する方法については、google_storage_anywhere_cache Terraform のドキュメントをご覧ください。
REST API
JSON API
gcloud CLI のインストールと初期化を行います。これにより、
Authorizationヘッダーのアクセス トークンを生成できます。cURLを使用して、 キャッシュの取得リクエストで JSON API を呼び出します。curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage./storage/v1/b/BUCKET_NAME/anywhereCaches/RAPID_CACHE_ID"
次のように置き換えます。
BUCKET_NAMEは、取得するキャッシュに関連付けられているバケットの名前に置き換えます。例:my-bucketRAPID_CACHE_IDは、キャッシュが配置されているゾーンに置き換えます。例:us-east1-b
成功すると、このオペレーションは AnywhereCache リソースを返します。
キャッシュの一覧表示
コンソール
- Google Cloud コンソールで Cloud Storage の [バケット] ページに移動します。
バケットのリストで、表示するキャッシュに関連付けられているバケットの名前をクリックします。
[バケットの詳細] ページで、[構成] タブをクリックします。
[Rapid Cache] セクションで、[キャッシュ] フィールドの横にある [編集] をクリックします。
表示された [構成を編集] ページで、リージョンを選択して、リージョンのゾーン内のすべてのキャッシュを表示します。
リージョン内のゾーンで使用可能なすべてのキャッシュが [キャッシュゾーン] ペインに表示されます。
コマンドライン
gcloud storage buckets anywhere-caches list コマンドを使用します。
gcloud storage buckets anywhere-caches list gs://BUCKET_NAME
次のように置き換えます。
BUCKET_NAMEは、一覧表示するキャッシュに関連付けられているバケットの名前に置き換えます。例:my-bucket
成功すると、コマンドは AnywhereCache リソースのリストを返します。
必要に応じて --raw フラグを使用し、標準化されたレスポンスではなく未加工の API レスポンスを返すことができます。結果のページネーションなど、表示動作を制御する方法については、gcloud storage ls のドキュメントをご覧ください。
クライアント ライブラリ
C++
詳細については、Cloud Storage C++ API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Java
詳細については、Cloud Storage Java API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Rust
Terraform
Terraform で Rapid Cache を使用する方法については、google_storage_anywhere_cache Terraform のドキュメントをご覧ください。
REST API
JSON API
gcloud CLI のインストールと初期化を行います。これにより、
Authorizationヘッダーのアクセス トークンを生成できます。cURLを使用して、キャッシュを一覧表示するリクエストで JSON API を呼び出します。curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage./storage/v1/b/BUCKET_NAME/anywhereCaches"
次のように置き換えます。
BUCKET_NAMEは、取得するキャッシュに関連付けられているバケットの名前に置き換えます。例:my-bucket
複数のキャッシュを一覧表示する場合は、結果をページネーションできます。
成功すると、このオペレーションは AnywhereCache リソースのリストを返します。このレスポンスの構造の詳細については、AnywhereCaches リストのドキュメント内のレスポンスをご覧ください。
キャッシュを更新する
コンソール
- Google Cloud コンソールで Cloud Storage の [バケット] ページに移動します。
バケットのリストで、更新するキャッシュに関連付けられているバケットの名前をクリックします。
[バケットの詳細] ページで、[構成] タブをクリックします。
[Rapid Cache] セクションで、 [キャッシュを管理] をクリックします。
[キャッシュの管理] ペインで、[ キャッシュを編集または作成] をクリックします。
表示された [構成を編集] ページで、キャッシュのプロパティを更新します。
キャッシュの TTL を更新するには、[有効期間] 列を見つけて、期間を指定し、時間単位(分など)を選択します。
書き込み時のキャッシュの取り込み動作(書き込まれたすべてのオブジェクトをキャッシュに保存するか、接頭辞の下に書き込まれた選択されたオブジェクトのみをキャッシュに保存するかなど)を構成するには:
[取り込み条件] 列を見つけて、 [キャッシュ取り込み条件を編集] をクリックします。
[取り込み条件を設定] ペインで、次の操作を行います。
書き込み時の取り込みを有効または無効にするには、[書き込み時にデータを取り込む] チェックボックスをオンまたはオフにして、[完了] をクリックします。
書き込み時にバケット内のすべてのオブジェクトを取り込むようにキャッシュを更新するには、[書き込み時にデータを取り込む] チェックボックスがオンになっていることを確認し、[バケット全体] を選択します。[完了] をクリックします。
キャッシュを更新して、名前に指定された接頭辞を含むオブジェクトのみを取り込むには、[書き込み時にデータを取り込む] チェックボックスがオンになっていることを確認し、[選択したフォルダ] を選択します。
接頭辞を指定するには、フォルダパス フィールドに 1 つ以上の接頭辞を入力し、[完了] をクリックします。
接頭辞を削除するには、接頭辞の横にある [アイテムを削除] をクリックします。
[構成の編集] ページで、[保存] をクリックします。
表示されるダイアログで [確認] をクリックします。
コマンドライン
gcloud storage buckets anywhere-caches update コマンドを使用します。
gcloud storage buckets anywhere-caches update CACHE_ID \ [--ttl=TTL] [--[no-]enable-ingest-on-write]
次のように置き換えます。
CACHE_IDは、BUCKET_NAME/CACHE_ZONEとして記述されたキャッシュ インスタンスの ID に置き換えます。例:my-bucket/us-east1-b。複数のキャッシュを一度に更新するには、複数の ID を指定します。例:
my-bucket/us-east1-b my-bucket/us-east1-cTTL(省略可)は、キャッシュ内のデータの有効期間(TTL)に置き換えます。値は 1 ~ 7 日の範囲で指定できます。値は、秒、分、時間、日単位で表すことができます。次に例を示します。86400s: 86,400 秒1440m: 1,440 分24h: 24 時間1d: 1 日
データがバケットに書き込まれた瞬間にデータをキャッシュに取り込むようにキャッシュを構成するには、--enable-ingest-on-write フラグを指定します。このフラグを使用すると、オブジェクトがバケットに書き込まれたときに、キャッシュがすべてのオブジェクトを取り込むことができます。書き込み時にキャッシュがデータを取り込まないようにするには、--no-enable-ingest-on-write フラグを指定します。
成功すると、このコマンドは AnywhereCache 更新オペレーションに関連付けられた未加工の長時間実行オペレーションの ID を返します。長時間実行オペレーションの詳細を取得できます。
クライアント ライブラリ
C++
詳細については、Cloud Storage C++ API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Java
詳細については、Cloud Storage Java API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Rust
Terraform
Terraform で Rapid Cache を使用する方法については、google_storage_anywhere_cache Terraform のドキュメントをご覧ください。
REST API
JSON API
gcloud CLI のインストールと初期化を行います。これにより、
Authorizationヘッダーのアクセス トークンを生成できます。更新するキャッシュ プロパティへの変更を含む JSON ファイルを作成します。
{ "ttl": "TIME_TO_LIVE", "ingestOnWrite": INGEST_SETTING }次のように置き換えます。
TIME_TO_LIVEは、キャッシュ内のデータの TTL に置き換えます。値は 1 ~ 7 日の範囲で指定できます。値は、秒、分、時間、日単位で表すことができます。次に例を示します。86400s: 86,400 秒1440m: 1,440 分24h: 24 時間1d: 1 日
INGEST_SETTINGにtrueまたはfalseを指定して、書き込み時にキャッシュがデータを取り込むかどうかを指定します。trueに設定すると、バケットに書き込まれるすべてのオブジェクトで書き込み時の取り込みが有効になります。falseに設定すると、接頭辞の下に書き込まれたオブジェクトに対して書き込み時の取り込みを選択的に有効にしたり、完全に無効にしたりできます。バケットまたは接頭辞レベルで書き込み時の取り込みの有効化を構成するために使用される設定については、書き込み時の取り込みを有効にする方法についてをご覧ください。
バケットレベルまたはプレフィックス レベルで書き込み時の取り込みを有効にするか、書き込み時の取り込みを完全に無効にするには、次のいずれかの手順を使用します。
バケットの書き込み時取り込みを有効にする
バケットに書き込まれたすべてのオブジェクトに対して書き込み時の取り込みを有効にするには、
INGEST_SETTINGSの値をtrueに設定します。ステップ 3 に沿ってキャッシュ リクエストを完了します。
接頭辞に対して書き込み時の取り込みが以前に有効になっていた場合、
rapidCacheConfig構成のマネージド フォルダが存在します。rapidCacheConfig構成のpoliciesマップをnullに設定するマネージド フォルダPATCHリクエストを作成します。
rapidCacheConfig構成の使用方法の詳細については、マネージド フォルダで書き込み時の取り込みを更新するをご覧ください。接頭辞の下のオブジェクトに対して書き込み時の取り込みを選択的に有効にする
INGEST_SETTINGSの値はfalseに設定します。ステップ 3 に沿ってキャッシュ リクエストを完了します。
マネージド フォルダがまだ存在しない場合は、接頭辞を名前として使用するマネージド フォルダを作成します。
rapidCacheConfig構成を含むマネージド フォルダPATCHリクエストを送信します。書き込み時の取り込みの設定と動作のガイダンスに沿って、構成のフィールド値を設定します。
rapidCacheConfig構成のpoliciesマップには、1 つまたは複数のキャッシュ ID(us-east1-aやus-east1-bなど)を含めることができます。特定のキャッシュで書き込み時の取り込みを有効にするには、個々のキャッシュのingestOnWrite設定をenabledに設定します。特定のキャッシュの書き込み時取り込みを無効にするには、個々のキャッシュのingestOnWrite設定をunspecifiedに設定します。書き込み時の取り込みの継承をよく読んで、キャッシュのingestOnWrite設定がunspecifiedに設定されている場合に、キャッシュの書き込み時の取り込みポリシーがどのように影響を受けるかを確認してください。rapidCacheConfig構成の使用方法の詳細については、マネージド フォルダで書き込み時の取り込みを更新するをご覧ください。書き込み時の取り込みを無効にする
INGEST_SETTINGSの値をfalseに設定します。この設定により、バケット レベルで書き込み時の取り込みが無効になります。ステップ 3 に沿ってキャッシュ リクエストを完了します。
接頭辞レベルで書き込み時の取り込みを無効にするには、接頭辞レベルの書き込み時の取り込みが構成されているマネージド フォルダを見つけます。
rapidCacheConfig構成のpoliciesマップをnullに設定するマネージド フォルダPATCHリクエストを作成します。または、PATCHリクエストで、マネージド フォルダ リソースからrapidCacheConfig構成を削除します。
rapidCacheConfig構成の使用方法の詳細については、マネージド フォルダで書き込み時の取り込みを更新するをご覧ください。
次の例では、キャッシュの TTL を 2 日に更新し、バケットに書き込まれたすべてのオブジェクトに対して書き込み時の取り込みを有効にします。
{ "ttl": "172800s", "ingestOnWrite": true }新しいプロパティを適用するには、
cURLを使用して、キャッシュを更新するリクエストで JSON API を呼び出します。curl -X PATCH --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage./storage/v1/b/BUCKET_NAME/anywhereCaches/RAPID_CACHE_ID"次のように置き換えます。
JSON_FILE_NAMEは、手順 2 で作成した JSON ファイルの名前に置き換えます。BUCKET_NAMEは、更新するキャッシュに関連付けられているバケットの名前に置き換えます。例:my-bucketRAPID_CACHE_IDは、キャッシュの ID に置き換えます。例:us-east1-b
成功した場合、オペレーションは google.longrunning.Operation を返します。長時間実行オペレーションの詳細を取得できます。
キャッシュを再開する
コンソール
一時停止または無効になっているキャッシュを再開する手順は次のとおりです。
- Google Cloud コンソールで Cloud Storage の [バケット] ページに移動します。
バケットのリストで、再開するキャッシュに関連付けられているバケットの名前をクリックします。
[バケットの詳細] ページで、[構成] タブをクリックします。
[Rapid Cache] セクションで、 [キャッシュを管理] をクリックします。
[キャッシュの管理] ペインで、[キャッシュを再開] アイコン()をクリックします。
[閉じる] をクリックします。
コマンドライン
gcloud storage buckets anywhere-caches resume コマンドを使用します。
gcloud storage buckets anywhere-caches resume CACHE_ID
次のように置き換えます。
CACHE_IDは、BUCKET_NAME/CACHE_ZONEとして記述されたキャッシュ インスタンスの ID に置き換えます。例:my-bucket/us-east1-b。複数のキャッシュを一度に再開するには、複数の ID を指定します。例:
my-bucket/us-east1-b my-bucket/us-east1-c
成功すると、コマンドはフォーマットされた AnywhereCache リソースを返します。
クライアント ライブラリ
C++
詳細については、Cloud Storage C++ API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Java
詳細については、Cloud Storage Java API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Rust
Terraform
Terraform で Rapid Cache を使用する方法については、google_storage_anywhere_cache Terraform のドキュメントをご覧ください。
REST API
JSON API
gcloud CLI のインストールと初期化を行います。これにより、
Authorizationヘッダーのアクセス トークンを生成できます。cURLを使用して、 キャッシュの再開リクエストで JSON API を呼び出します。curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage./storage/v1/b/BUCKET_NAME/anywhereCaches/RAPID_CACHE_ID/resume"
次のように置き換えます。
BUCKET_NAMEは、再開するキャッシュに関連付けられているバケットの名前に置き換えます。例:my-bucketRAPID_CACHE_IDは、キャッシュの ID に置き換えます。例:us-east1-b
成功すると、このオペレーションはフォーマットされた AnywhereCache リソースを返します。
キャッシュを無効にする
コンソール
- Google Cloud コンソールで Cloud Storage の [バケット] ページに移動します。
バケットのリストで、無効にするキャッシュに関連付けられているバケットの名前をクリックします。
[バケットの詳細] ページで、[構成] タブをクリックします。
[Rapid Cache] セクションで、 [キャッシュを管理] をクリックします。
[キャッシュの管理] ペインで、[キャッシュを無効にする] アイコン()をクリックします。
表示されるダイアログで [確認] をクリックします。
[閉じる] をクリックします。
コマンドライン
gcloud storage buckets anywhere-caches disable コマンドを使用します。
gcloud storage buckets anywhere-caches disable CACHE_ID
次のように置き換えます。
CACHE_IDは、BUCKET_NAME/CACHE_ZONEとして記述されたキャッシュ インスタンスの ID に置き換えます。例:my-bucket/us-east1-b。複数のキャッシュを一度に無効にするには、複数の ID を指定します。例:
my-bucket/us-east1-b my-bucket/us-east1-c
成功すると、コマンドはフォーマットされた AnywhereCache リソースを返します。
クライアント ライブラリ
C++
詳細については、Cloud Storage C++ API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Java
詳細については、Cloud Storage Java API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Rust
Terraform
Terraform で Rapid Cache を使用する方法については、google_storage_anywhere_cache Terraform のドキュメントをご覧ください。
REST API
JSON API
gcloud CLI のインストールと初期化を行います。これにより、
Authorizationヘッダーのアクセス トークンを生成できます。cURLを使用して、キャッシュを無効にするリクエストで JSON API を呼び出します。curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage./storage/v1/b/BUCKET_NAME/anywhereCaches/RAPID_CACHE_ID/disable"
次のように置き換えます。
BUCKET_NAMEは、無効にするキャッシュに関連付けられているバケットの名前に置き換えます。例:my-bucketRAPID_CACHE_IDは、キャッシュの ID に置き換えます。例:us-east1-b
成功すると、コマンドはフォーマットされた AnywhereCache リソースを返します。
キャッシュ パフォーマンスをモニタリングする
Google Cloud コンソールの Cloud Storage には、指標を使用してキャッシュのパフォーマンスを追跡できるモニタリング グラフがあります。これらのモニタリング グラフは、Cloud Monitoring を使用して表示することもできます。
使用できるグラフ
| グラフ | リソース階層レベル | 説明 |
|---|---|---|
| バイトの強制排除率 | バケット | キャッシュから強制排除されたバイト数のレート。1 時間ごとにサンプリングされます。このデータは、後処理に時間がかかるため、1 時間に複数回更新されます。 |
| バイトの強制排除率 | プロジェクト | バケットのすべてのキャッシュから強制排除されたバイト数のレート。1 時間ごとにサンプリングされます。このデータは、後処理に時間がかかるため、1 時間に複数回更新されます。 |
| キャッシュ内のバイト数 | バケット | キャッシュ内のバイト数。1 時間ごとにサンプリングされます。このデータは、後処理に時間がかかるため、1 時間に複数回更新されます。 |
| キャッシュ内のバイト数 | プロジェクト | バケットのすべてのキャッシュ内のバイト数。1 時間ごとにサンプリングされます。このデータは、後処理に時間がかかるため、1 時間に複数回更新されます。 |
| キャッシュ スループットのメリット | プロジェクト | リージョン、デュアルリージョン、マルチリージョンのデータ転送帯域幅の割り当てのレート、割り当ての使用量、キャッシュによって提供される追加のスループット。キャッシュによって提供される追加のスループットは割り当てにカウントされないため、キャッシュを使用すると、割り当てでプロジェクトに許可されている以上のスループットを実現できます。 |
| オペレーションのヒット率 | バケット | キャッシュからリクエストされたデータを提供するキャッシュ オペレーションの、キャッシュ対象のオペレーションの合計に対する割合。60 秒ごとにサンプリングされます。読み取りがキャッシュから完全に返された場合、オペレーションはヒットとしてカウントされます。読み取りがキャッシュから返されなかった場合、またはキャッシュから部分的にしか返されなかった場合、オペレーションはミスとしてカウントされます。 |
| オペレーションのヒット率 | プロジェクト | バケットのすべてのキャッシュからリクエストされたデータを提供するキャッシュ オペレーションの、キャッシュ対象の合計オペレーションに対する割合。60 秒ごとにサンプリングされます。読み取りがキャッシュから完全に返された場合、そのオペレーションはヒットとしてカウントされます。読み取りがキャッシュから返されなかった場合、またはキャッシュから部分的にしか返されなかった場合、オペレーションはミスとしてカウントされます。 |
| ヒット率(バイト数) | バケット | キャッシュ対象の合計バイト数に対する、キャッシュから提供されたバイト数の割合。60 秒ごとにサンプリングされます。 |
| ヒット率(バイト数) | プロジェクト | キャッシュ対象の合計バイト数に対して、バケットのすべてのキャッシュから提供されたバイト数の割合。60 秒ごとにサンプリングされます。 |
| 取り込み率(未加工のバイト数) | バケット | 各キャッシュに取り込まれた未加工のバイト数のレート。60 秒ごとにサンプリングされます。この指標の値の計算には、課金対象外のバイトを含む、取り込まれたすべてのバイトが使用されます。この指標はリアルタイムで報告されます。 |
| 取り込み率(未加工のバイト数) | プロジェクト | バケットのすべてのキャッシュに取り込まれた未加工のバイト数のレート。60 秒ごとにサンプリングされます。この指標の値の計算には、課金対象外バイトを含む、取り込まれたすべてのバイトが使用されます。この指標はリアルタイムで報告されます。 |
| スループット - キャッシュ ヒット | バケット | キャッシュから提供されたスループット。60 秒ごとにサンプリングされます。 |
| スループット - キャッシュ ヒット | プロジェクト | バケットのすべてのキャッシュから提供されたスループット。60 秒ごとにサンプリングされます。 |
| スループット - キャッシュミス | バケット | キャッシュから提供されていないスループット。60 秒ごとにサンプリングされます。 |
| スループット - キャッシュミス | プロジェクト | バケットのどのキャッシュからも提供されていないスループット。60 秒ごとにサンプリングされます。 |
グラフにアクセスする
モニタリング グラフは、個々のバケットまたはプロジェクト内のすべてのバケットのデータをキャプチャします。グラフがキャプチャするリソース階層レベルによって、グラフにアクセスできる場所が決まります。
バケットレベルのグラフにアクセスする
- Google Cloud コンソールで Cloud Storage の [バケット] ページに移動します。
バケットのリストで、モニタリング グラフを表示するバケットの名前をクリックします。
[バケットの詳細] ページで、[オブザーバビリティ] タブをクリックします。
ナビゲーション メニューで [Rapid Cache] を選択します。
モニタリング グラフが表示されます。
プロジェクト レベルのグラフにアクセスする
- Google Cloud コンソールで Cloud Storage の [バケット] ページに移動します。
[Cloud Storage] ナビゲーション パネルで、[モニタリング] をクリックします。
メニューバーで [Rapid Cache] をクリックします。
モニタリング グラフが表示されます。
長時間実行オペレーションを使用する
正常に実行されると、AnywhereCaches 作成オペレーションと更新オペレーションが長時間実行オペレーションを開始します。基盤となる AnywhereCaches オペレーションの詳細とステータスを確認するために、長時間実行オペレーションを取得して一覧表示できます。また、長時間実行オペレーションをキャンセルして、基盤となる AnywhereCaches オペレーションを実行中にキャンセルすることもできます。
Rapid Cache で長時間実行オペレーションを使用する手順については、長時間実行オペレーションを使用するをご覧ください。
次の例は、AnywhereCaches 作成オペレーションから開始される長時間実行オペレーションを示しています。
done: false kind: storage#operation metadata: '@type': type.googleapis.com/google.storage.control.v2.CreateAnywhereCacheMetadata anywhereCacheId: us-central1-c zone: us-central1-c ttl: 172800s commonMetadata: createTime: '2023-12-14T20:52:00.032Z' progressPercent: -1 requestedCancellation: false type: create-anywhere-cache updateTime: '2023-12-14T20:52:00.032Z' name: projects/_/buckets/my-bucket/operations/AULf_KhQxxsWRSn56wv4jfmn3pOu_dKTz9FoYx6S0EzMw5ssR0cXIiorCvHRwqxZnQmWj9jnGpKb3Y6iCD3XM9KLc8EHBm7uig selfLink: https://www.googleapis.com/storage/v1/b/my-bucket/operations/AULf_KhQxxsWRSn56wv4jfmn3pOu_dKTz9FoYx6S0EzMw5ssR0cXIiorCvHRwqxZnQmWj9jnGpKb3Y6iCD3XM9KLc8EHBm7uig
再試行数
非同期の AnywhereCaches API は、デフォルトでべき等性を備えています。つまり、意図しないリソースの変更を心配することなく、非同期の AnywhereCaches API 呼び出しを安全に再試行できます。
たとえば、AnywhereCaches 作成オペレーションを実行して us-central1-a にキャッシュを作成すると、成功します。成功したゾーンと同じゾーンを使用して、その後の AnywhereCaches 作成オペレーションを実行すると、リクエストは前のリクエストと同じ長時間実行オペレーションを返します。この動作は、キャッシュ作成リクエストの一部として request_id を含める場合にのみ発生します。request_id を指定しない場合、すでに存在するキャッシュを作成しようとすると、ANYWHERE_CACHE_ALREADY_EXISTS エラーが発生します。request_id を指定する方法については、リクエストの識別をご覧ください。
次のステップ
キャッシュを作成するバケットとゾーンに関する推奨事項を取得します。