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

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

始める前に

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

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

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

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

App Engine の Datastore モード権限

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

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

App Engine のデフォルト サービス アカウントを削除した場合、Cloud Firestore にアクセスするには App Engine サービス アカウントを復元する必要があります。

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

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

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

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

Console

  1. Google Cloud Platform Console で、[VM インスタンス] ページに移動します。
  2. [インスタンスを作成] ボタンをクリックします。
  3. [ID と API へのアクセス] セクションで、[アクセス範囲] を設定して Datastore へのアクセスを有効にします。[すべての Cloud API に完全アクセス権を許可] をクリックしてすべての Google Cloud API に対するアクセスを許可するか、または [各 API にアクセス権を設定] をクリックし、[Cloud Datastore] のプルダウンをクリックして [有効] をクリックすることで、Cloud 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 Platform 以外のプラットフォームで実行されている外部アプリケーションから Datastore モードのデータベースにアクセスする方法について説明します。

  1. [サービス アカウント キーの作成] ページに移動します。
  2. [サービス アカウント] の下にあるプルダウン ボックスをクリックし、[新しいサービス アカウント] をクリックします。
  3. サービス アカウントの名前を入力します。
  4. デフォルトの [サービス アカウント ID] を使用するか、別の ID を作成します。
  5. [キーのタイプ] で [JSON] を選択します。
  6. [作成] をクリックします。
  7. 作成が成功すると、ブラウザに秘密鍵がダウンロードされます。GCP Console でプロンプトが開き、秘密鍵のファイル名が表示されます。このファイルを後で見つけられるようにファイル名を記録したら、[閉じる] をクリックしてプロンプトを閉じます。
  8. サービス アカウントは、[サービス アカウント] セクションに表示されているメールアドレスです。
  9. 秘密鍵は、今ダウンロードしたファイルです。

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

割り当てと課金

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

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

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

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

課金を有効にするには:

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

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

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

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

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

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

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

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

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

Cloud Datastore ドキュメント