Compute Engine から Cloud SQL for PostgreSQL に接続する

Google Cloud コンソールとクライアント アプリケーションを使用して、PostgreSQL インスタンスに接続された Linux または Windows ベースの Compute Engine VM インスタンスにサンプルアプリをデプロイする方法を学習します。

すべてのステップを適切なタイミングで完了した場合、通常、このクイックスタートで作成されるリソースにかかる費用は 1 ドル(USD)未満です。

始める前に

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Make sure that billing is enabled for your Google Cloud project.

  6. Compute Engine VM インスタンスで Cloud SQL サンプルアプリを実行するために必要な Cloud APIs を有効にします。

    Console

    [API を有効にする] ボタンをクリックして、このクイックスタートで必要な API を有効にします。

    API を有効にする

    これにより、次の API が有効になります。

    • Cloud SQL Admin API

    gcloud

    gcloud CLIインストールします。これにより、コマンドラインから Google Cloud リソースにアクセスできます。gcloud CLI を使用して、このクイックスタートで紹介する gcloud CLI コマンドを実行します。すべてのコマンドは、ターミナルまたは Powershell ウィンドウで実行するようにフォーマットされています。

    次の gcloud コマンドを実行します。

    gcloud services enable sqladmin.googleapis.com

    このコマンドにより、次の API が有効になります。

    • Cloud SQL Admin API

Cloud SQL の設定

Cloud SQL インスタンスを作成する

データベースの作成

コンソール

  1. Google Cloud コンソールで Cloud SQL の [インスタンス] ページに移動します。

    Cloud SQL の [インスタンス] に移動

  2. [quickstart-instance] を選択します。
  3. [データベース] タブを開きます。
  4. [データベースを作成] をクリックします。
    1. [新しいデータベース] ダイアログ ボックスで、データベースの名前として「quickstart_db」と入力します。
    2. [作成] をクリックします。

gcloud

gcloud sql databases create コマンドを実行してデータベースを作成します。

gcloud sql databases create quickstart_db --instance=quickstart-instance

ユーザーを作成する

コンソール

  1. Google Cloud コンソールで Cloud SQL の [インスタンス] ページに移動します。

    Cloud SQL の [インスタンス] に移動

  2. インスタンスの [概要] ページを開くには、インスタンス名をクリックします。
  3. SQL ナビゲーション メニューから [ユーザー] を選択します。
  4. [ユーザー アカウントを追加] をクリックします。
  5. [ユーザー アカウントをインスタンス instance_name に追加] ページで、次の情報を追加します。
    • [ユーザー名] フィールドに、「quickstart-user」と入力します。
    • [パスワード] フィールドに、データベース ユーザーのパスワードを指定します。このクイックスタートの後半で使用するので、メモしておいてください。
  6. [追加] をクリックします。

gcloud

次のコマンドを実行する前に、次のように置き換えます。

  1. PASSWORD はデータベース ユーザーのパスワードに置き換えます。このクイックスタートの後半で使用するので、メモしておいてください。

gcloud sql users create コマンドを実行してリソースを作成します。

gcloud sql users create quickstart-user --instance=quickstart-instance --password=PASSWORD

ユーザー名の長さの上限は、オンプレミス PostgreSQL の場合と同じです。

Compute Engine サービス アカウントを構成する

Cloud SQL に接続できる Cloud SQL クライアントのロールを持つ Google Cloud サービス アカウントを作成して構成します。サービス アカウントの作成後、サービス アカウントが使用できるようになるまでに 60 秒以上かかる場合があります。

コンソール

サービス アカウントを作成する

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

  3. Google Cloud プロジェクトを選択します。
  4. サービス アカウント名として「quickstart-service-account」と入力します。
  5. (省略可)サービス アカウントの説明を入力します。
  6. [作成して続行] をクリックして、次の手順に進みます。
  7. プロジェクトのサービス アカウントに付与する Cloud SQL クライアントのロールを選択します。
  8. [別のロールを追加] をクリックして、プロジェクトのサービス アカウントに付与するストレージ オブジェクト閲覧者のロールを選択します。
  9. [続行] をクリックします。
  10. [完了] をクリックして、サービス アカウントの作成を完了します。

gcloud

サービス アカウントを作成する

  1. サービス アカウントを作成するには、gcloud iam service-accounts create コマンドを実行します。
  2. gcloud iam service-accounts create quickstart-service-account --description="DESCRIPTION" --display-name="quickstart-service-account"

    次の値を置き換えます。

    • DESCRIPTION: サービス アカウントの説明(省略可)
  3. サービス アカウントにプロジェクトの Cloud SQL クライアントのロールと ストレージ オブジェクト閲覧者のロールを付与するには、gcloud projects add-iam-policy-binding コマンドを実行します。PROJECT_ID は、実際の Google Cloud プロジェクト ID に置き換えます。
    gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:quickstart-service-account@PROJECT_ID.iam.gserviceaccount.com" --role="roles/cloudsql.client" --role="roles/storage.objectViewer"

Compute Engine VM インスタンスを作成する

Cloud SQL に接続するサンプル ウェブアプリをホストする Compute Engine VM インスタンスを作成します。

Compute Engine VM インスタンスにアクセスする

プログラミング言語の開発環境の設定

任意のプログラミング言語の Compute Engine VM インスタンスの開発環境をセットアップします。

Git をインストールする

オープンソースのバージョン管理システムである Git を Compute Engine VM インスタンスにインストールします。

サンプルアプリのクローンを作成する

git clone コマンドを使用して、Compute Engine VM インスタンスにサンプルアプリのクローンを作成します。

Go

Compute Engine VM インスタンスで、新しいターミナルか Powershell ウィンドウを開きます。次のコマンドを実行して Go サンプルアプリのクローンを作成し、サンプルアプリを含むディレクトリに移動します。

  1. サンプルアプリのクローンを作成します。
    git clone https://github.com/GoogleCloudPlatform/golang-samples
  2. サンプルアプリを含むディレクトリに移動します。
    cd golang-samples/cloudsql/postgres/database-sql

Java

Compute Engine VM インスタンスで、新しいターミナルか Powershell ウィンドウを開きます。次のコマンドを実行して Java サンプルアプリのクローンを作成し、サンプルアプリを含むディレクトリに移動します。

  1. サンプルアプリのクローンを作成します。
    git clone https://github.com/GoogleCloudPlatform/java-docs-samples
  2. サンプルアプリを含むディレクトリに移動します。
    cd java-docs-samples/cloud-sql/postgres/servlet

Node.js

Compute Engine VM インスタンスで、新しいターミナルか Powershell ウィンドウを開きます。次のコマンドを実行して Node.js サンプルアプリのクローンを作成し、サンプルアプリを含むディレクトリに移動します。

  1. サンプルアプリのクローンを作成します。
    git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples
  2. サンプルアプリを含むディレクトリに移動します。
    cd nodejs-docs-samples/cloud-sql/postgres/knex

Python

Compute Engine VM インスタンスで、新しいターミナルか Powershell ウィンドウを開きます。次のコマンドを実行して Python サンプルアプリのクローンを作成し、サンプルアプリを含むディレクトリに移動します。

  1. サンプルアプリのクローンを作成します。
    git clone https://github.com/GoogleCloudPlatform/python-docs-samples
  2. サンプルアプリを含むディレクトリに移動します。
    cd python-docs-samples/cloud-sql/postgres/sqlalchemy

Cloud SQL サンプルアプリを構成して実行する

クライアント権限を持つ Cloud SQL インスタンス、データベース、サービス アカウントを使用して、Compute Engine VM インスタンスで実行するサンプル アプリケーションを構成して Cloud SQL インスタンスに接続できるようになりました。

クリーンアップ

このページで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、次の手順を行います。

Cloud SQL インスタンスを削除する

  1. Google Cloud コンソールで Cloud SQL の [インスタンス] ページに移動します。

    Cloud SQL の [インスタンス] に移動

  2. quickstart-instance インスタンスを選択して [インスタンスの詳細] ページを開きます。
  3. ページ上部にあるアイコンバーで、[削除] をクリックします。
  4. [インスタンスの削除] ダイアログ ボックスで「quickstart-instance」と入力し、[削除] をクリックしてインスタンスを削除します。

Compute Engine VM インスタンスを削除する

  1. Google Cloud コンソールで、[VM インスタンス] ページに移動します。

    [VM インスタンス] に移動

  2. quickstart-vm-instance インスタンスを選択して [インスタンスの詳細] ページを開きます。
  3. ページ上部にあるアイコンバーで、[削除] をクリックします。
  4. [削除] をクリックしてインスタンスを削除します。

省略可能なクリーンアップ手順

Compute Engine default サービス アカウントに割り当てた Cloud SQL クライアントのロールを使用しない場合は、削除できます。

  1. Google Cloud コンソールの [IAM] ページに移動します。

    [IAM] に移動

  2. Compute Engine のデフォルトのサービス アカウントという名前の IAM アカウントの編集アイコン(鉛筆の形)をクリックします。
  3. Cloud SQL クライアントのロールを削除します。
  4. [保存] をクリックします。

このクイックスタートで有効にした API を使用しない場合は、無効にすることができます。

  • このクイックスタートで有効にした API:
    • Cloud SQL Admin API
  1. Google Cloud Console の [API] ページに移動します。

    [API] に移動

  2. 無効にする API を選択し、[API を無効にする] ボタンをクリックします。

次のステップ

必要に応じて、Cloud SQL インスタンスの作成で詳細をご確認ください。

Cloud SQL インスタンスの PostgreSQL ユーザーデータベースの作成についても学習できます。

料金の詳細については、Cloud SQL for PostgreSQL の料金をご覧ください。

以下の詳細を確認する

また、他の Google Cloud アプリケーションから Cloud SQL インスタンスへの接続についても確認できます。