リクエスト元による支払い

このページでは、Cloud Storage のリクエスト元による支払い機能の概要について説明します。この機能の設定と使用方法については、リクエスト元による支払いの使用をご覧ください。

はじめに

ユーザーがバケットまたはバケット内のオブジェクトにアクセスするたびに、リクエストの作成と実行に関連する料金が発生します。たとえば、次のような料金が発生します。

通常、このような料金はバケットのオーナーに請求されますが、リクエスト元がリクエストに請求先プロジェクトを作成している場合は、このプロジェクトに料金が課金されます。バケットでリクエスト元による支払いが有効になっている場合、リクエストに請求先プロジェクトを指定するようにリクエスト元に要求し、課金先をリクエスト元のプロジェクトにすることができます。リクエスト元による支払い機能は、ユーザーに提供するデータが大量に存在し、これらのデータに対するアクセス料金を負担したくない場合に便利な機能です。

対象外の費用

リクエスト元による支払い機能が有効になっていても、バケットを含むプロジェクトに次の料金が適用されます。

制限事項

リクエスト元による支払いを使用する場合、以下の制限が適用されます。

  • Cloud SQL からのインポートおよびエクスポートにリクエスト元による支払いが有効になっているバケットを使用することはできません。

使用条件とアクセス要件

バケットのリクエスト元による支払い機能を使用するには、該当するバケットでメタデータ フラグを有効にする必要があります。有効にすると、次のユーザーだけがバケットやそのコンテンツにアクセスできるようになります。

  • リクエストに請求先プロジェクトを追加したユーザー。リクエストで使用されるプロジェクトが良好な状態で、プロジェクトでユーザーに serviceusage.services.use 権限を含む必要があります。必要な権限が含まれているのは roles/editor 役割と roles/owner 役割です。

  • 請求先プロジェクトは追加していないが、バケットを含むプロジェクトに resourcemanager.projects.createBillingAssignment 権限を持つユーザー。必要な権限が含まれているのは roles/billing.projectManager 役割です。これらのリクエストに関連するアクセス料金は、バケットを含むプロジェクトに請求されます。

バケットに対する他のリクエストはすべて失敗し、400 UserProjectMissing エラーが発生します。

これらの要件以外にも、リクエスト元は要求されたアクションの実行に必要な権限を持っている必要があります。たとえば、リクエストに有効な請求先プロジェクトを追加したユーザーでも、バケットにオブジェクトをアップロードする明示的な権限がなければ、この操作を実行できません。この場合、バケットまたはバケットを含むプロジェクトに対して storage.objects.create 権限が必要です。

ソースに請求されるオペレーション

ソースバケットと宛先バケットの両方を使用するオペレーション(コピーや書き換えなど)の場合、ソースバケットを含むプロジェクトに課金されます。通常、JSON または XML API による直接呼び出しなど、ソースバケットでリクエスト元による支払い機能が有効になっているときにのみ、請求先プロジェクトを追加します。

gsutil rewrite など、ソースバケットまたは宛先バケットのいずれか(あるいは、この両方)でリクエスト元による支払い機能が有効になっているときに、請求先プロジェクトの追加が必要になる場合があります。このようなオペレーションでは、アクションの実行中にソースと宛先の両方のバケットが呼び出されるため、このような操作が必要になります。

複数リクエストのオペレーション

複数のリクエストを必要とするオペレーション(マルチパートのアップロードなど)を実行する場合、オペレーション内の各リクエストに同じ請求先プロジェクトが含まれている必要があります。この設定は、ユーザー プロジェクトで指定します。リクエストの間で請求先プロジェクトが変更されると、オペレーション全体が失敗し、400 UserProjectInconsistent エラーが発生します。

課金

リクエストの請求先プロジェクトに課金される料金は、請求書で別途表示されることはありません。たとえば、リクエスト元による支払い機能が有効になっているバケットから複数のダウンロードを行い、リクエストで請求先プロジェクトとして my-project を指定したとします。my-project にダウンロード元のバケットが含まれている場合、請求書にはこれらのダウンロードの合計金額が表示されます。独自のバケットからのダウンロードとリクエスト元による支払い機能のダウンロードを区別する方法はありません。

独自のバケットに発生した料金とリクエストの請求先プロジェクトに対する料金を区別するには、バケットのないプロジェクトを作成します。このプロジェクトは、リクエスト元による支払い機能が有効なバケットなど、他のバケットにリクエストを送信する専用のプロジェクトになります。

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

ご不明な点がありましたら、Google のサポートページをご覧ください。