データベースへのアクセス

このページでは、さまざまなプラットフォームから Datastore モードの Firestore データベースにアクセスする方法、課金を有効にする方法、および費用上限を設定する方法について説明します。

始める前に

このページは、Datastore モードのデータベースがすでに作成されていることを前提としています。Datastore モードの Firestore のクイックスタートを完了することでデータベースを作成できます。

App Engine からデータベースにアクセスする

Datastore モードと App Engine の使用を開始するには、次の言語別のページのいずれかをご覧ください。

App Engine スタンダード環境 App Engine フレキシブル環境

App Engine の Datastore モード権限

デフォルトでは、App Engine アプリは同じプロジェクト内にある Datastore モードのデータベースにアクセスできます。各 App Engine アプリは、App Engine のデフォルト サービス アカウントを使用して、Firestore などの GCP サービスへのアクセスを管理します。デフォルトでは、App Engine のデフォルト サービス アカウントにはプロジェクト編集者の IAM ロールがあります。これには、Datastore モードへの完全な読み取りと書き込みアクセス権が含まれます。

App Engine のデフォルト サービス アカウントの IAM 権限を変更できます。ただし変更すると、必要な Firestore 権限を IAM ロールに割り当てなければ、アプリが Firestore にアクセスできなくなる可能性があります。たとえば、Datastore オーナー IAM ロールと Datastore ユーザー IAM ロールでは、Datastore モードの Firestore への読み取りと書き込みアクセス権が付与されます。

App Engine のデフォルトのサービス アカウントを無効にするか削除すると、App Engine アプリで Datastore モード データベースへのアクセスが失われます。無効にした App Engine サービス アカウントは、再有効化できます。サービス アカウントの有効化をご覧ください。過去 30 日以内に App Engine サービス アカウントを削除した場合は、サービス アカウントを復元できます。サービス アカウントの削除の取り消しをご覧ください。

Compute Engine インスタンスからデータベースにアクセスする

このセクションでは、新規または既存のプロジェクトで Compute Engine VM インスタンスから Datastore モードのデータベースを有効化してアクセスする方法について説明します。

  1. プロジェクトに対して Google Compute Engine API を有効にします。
    Compute Engine API を有効にする
  2. Cloud プロジェクトに対して課金が有効になっていることを確認します。詳しくは、プロジェクトで課金が有効になっているかどうかを確認する方法をご覧ください。

  3. Compute Engine インスタンスを作成します。

Console

  1. Google Cloud Console で、[VM インスタンス] ページに移動します。
  2. [インスタンスを作成] ボタンをクリックします。
  3. [ID と API へのアクセス] セクションで、[アクセス範囲] を設定して Datastore へのアクセスを有効にします。[すべての Cloud API に完全アクセス権を許可] をクリックしてすべての Google Cloud APIs に対するアクセスを許可するか、または [各 API にアクセス権を設定] をクリックし、[Datastore] のプルダウンをクリックして [有効] をクリックすることで、Datastore へのアクセスを許可します。
  4. [作成] ボタンをクリックしてインスタンスを作成します。
  5. インスタンスが実行されていることを確認します。
  6. この新しい Compute Engine インスタンスを使用するには、ブラウザを利用してそのインスタンスに接続します。

gcloud

  1. まだ行っていない場合は、gcloud コマンドライン ツールをインストールして、gcloud compute を設定します。
  2. Google Compute Engine ドキュメントにあるインスタンスの起動手順に沿って Google Compute Engine インスタンスを追加して起動します。下に示すように、プロジェクト ID、インスタンス名、datastoreスコープを指定します。[YOUR_PROJECT_ID] は、以前に作成したプロジェクトの ID です。[YOUR_INSTANCE_NAME] は、Compute Engine インスタンスに使用する名前です。

    export PROJECT_ID=[YOUR_PROJECT_ID]
    export INSTANCE_NAME=[YOUR_INSTANCE_NAME]
    gcloud compute instances create $INSTANCE_NAME --project $PROJECT_ID --scopes datastore
    
  3. インスタンスが実行されていることを確認します。

  4. この新しい Compute Engine インスタンスを使用するには、ssh を使用して接続します。

これでプロジェクト用にすべてのサービスと権限が構成されたので、コードの記述API の確認を始めることができます。

他のプラットフォームからデータベースにアクセスする

このセクションでは、Google Cloud 以外のプラットフォームで実行されている外部アプリケーションから Datastore モードのデータベースにアクセスする方法について説明します。

まず、サービス アカウントを作成します。

  1. Google Cloud Console で [サービス アカウントの作成] ページに移動します。

    [サービス アカウントの作成] に移動

  2. プロジェクトを選択します。

  3. [サービス アカウント名] フィールドに名前を入力します。この名前に基づいて [サービス アカウント ID] フィールドに値が入力されます。

  4. 省略可: [サービス アカウントの説明] フィールドに説明を入力します。

  5. [作成] をクリックします。

  6. [ロールを選択] フィールドをクリックします。

    [すべてのロール] で、データベースへのアクセスを許可するロールを選択します([Datastore] > [Cloud Datastore ユーザー] など)。

  7. [続行] をクリックします。

  8. [完了] をクリックして、サービス アカウントの作成を完了します。

    ブラウザ ウィンドウは閉じないでください。次の手順でこのページを使用します。

次に、サービス アカウント キーを作成します。

  1. コンソールで、作成したサービス アカウントのメールアドレスをクリックします。
  2. [キー] をクリックします。
  3. [鍵を追加]、[新しい鍵を作成] の順にクリックします。
  4. [作成] をクリックします。JSON キーファイルがパソコンにダウンロードされます。
  5. [閉じる] をクリックします。

このサービスアカウントを使用して、サービス アカウント認証情報の提供の説明に従ってアプリケーション コードの認証情報を構成します。

割り当てと課金

料金と割り当ての説明にあるとおり、一定額の無料割り当てが用意されています。つまり、課金を有効化しなくても、使用を開始したり無料割り当ての上限まで Datastore モードの Firestore を使用したりできます。ただし無料割り当てを超えるリソースが必要となった場合は、プロジェクトに対する課金を有効にし、費用上限を設定する必要があります。

課金の有効化と費用上限の設定

費用上限は 1 日あたりの使用上限であり、1 日に課金されるリソースの最高金額を設定するものです。この上限額に達すると、それ以上のコストは発生しませんが、課金対象となる Datastore モードの Firestore のオペレーションもそれ以上は認められません。初期のデフォルトの費用上限は常に 0 に設定されており、すなわちデフォルト設定のままでは課金を有効化しても無料割り当て額を超える利用はできないため、費用上限は必ず指定する必要があります。

Firestore リソースは App Engine リソースの一部です。App Engine リソースの費用上限は App Engine アプリケーションの設定で指定します。

課金を有効にするには:

  1. Cloud プロジェクトに対して課金が有効になっていることを確認します。詳しくは、プロジェクトで課金が有効になっているかどうかを確認する方法をご覧ください。

費用制限を設定するには:

  1. [アプリケーションの設定] に移動します。
    アプリケーションの設定に移動
  2. [編集] をクリックして、費用上限を指定します。
  3. [保存] をクリックします。

費用上限は、選択したプロジェクトの App Engine リソース(Firestore を含む)にのみ適用されます。

  • その他の Google Cloud Platform リソースについては別途課金される場合があります。
  • 複数のプロジェクトがある場合は、プロジェクトごとに費用上限を設定することをおすすめします。

1 日あたりの費用制限額を増やすと、新しい制限がすぐに有効になります。

詳細については、費用上限をご覧ください。