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

このページでは、さまざまなプラットフォームから 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 などの Google Cloud サービスへのアクセスを管理します。デフォルトでは、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 モードのデータベースを有効化してアクセスする方法について説明します。

Compute Engine の Datastore モード権限

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

Compute Engine インスタンスからデータベースにアクセスするには、次の手順を行います。

  1. プロジェクトに対して Google Compute Engine API を有効にします。
    Compute Engine API を有効にする
  2. Google Cloud プロジェクトで課金が有効になっていることを確認します

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

Console

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

gcloud

  1. まだ行っていない場合は、Google Cloud CLI をインストールして、gcloud compute を設定します。
  2. Compute Engine ドキュメントにあるインスタンスの起動手順に沿って Compute Engine VM インスタンスを追加して起動します。次の例のように、プロジェクト ID、VM インスタンス名、cloud-platform または datastore スコープのいずれかを指定します。

    export PROJECT_ID=[YOUR_PROJECT_ID]
    export INSTANCE_NAME=[YOUR_INSTANCE_NAME]
    gcloud compute instances create $INSTANCE_NAME --project $PROJECT_ID --scopes datastore
    

    [YOUR_PROJECT_ID] は、以前に作成したプロジェクトの ID に置き換え、[YOUR_INSTANCE_NAME] は、VM インスタンスに使用する名前に置き換えます。

  3. インスタンスが実行されていることを確認します。

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

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

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

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

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

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

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

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

  3. [サービス アカウント名] フィールドに名前を入力します。Google Cloud コンソールは、この名前に基づいて [サービス アカウント ID] フィールドに入力します。

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

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

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

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

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

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

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

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

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

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

割り当てと課金

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

次のステップ

課金を有効にするには、プロジェクトの課金を有効にするをご覧ください。