ローカル コンピュータから Cloud SQL for PostgreSQL に接続する

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

すべてのステップを適切なタイミングで完了した場合、通常、このクイックスタートで作成されるリソースにかかる費用は 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. ローカル コンピュータで Cloud SQL サンプルアプリを実行するために必要な Cloud APIs を有効にします。

    コンソール

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

    API を有効にする

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

    • Cloud SQL Admin API
    • IAM API

    gcloud

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

    ターミナルを開いて、次の gcloud コマンドを実行します。

    gcloud services enable sqladmin.googleapis.com iam.googleapis.com

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

    • Cloud SQL Admin API
    • IAM API

Cloud SQL の設定

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

コンソール

パブリック IP アドレスを持つインスタンスを作成する

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

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

  2. [インスタンスを作成] をクリックします。
  3. [PostgreSQL を選択] をクリックします。
  4. [インスタンス ID] に「quickstart-instance」と入力します。
  5. postgres ユーザーのパスワードを入力します。このパスワードはこの後で使用できるように保存してください。
  6. [リージョンとゾーンの可用性の選択] で [シングルゾーン] オプションをクリックします。
  7. [構成オプションを表示] をクリックして開きます。
  8. [マシンタイプ] プルダウン メニューで、[軽量] を選択します。
  9. [インスタンスを作成] をクリックし、インスタンスが初期化されて起動されるまで待ちます。

gcloud

パブリック IP アドレスを持つインスタンスを作成する

gcloud sql instances create コマンドを実行する前に、DB_ROOT_PASSWORD をデータベース ユーザーのパスワードに置き換えます。

必要に応じて、次のパラメータの値を変更します。

  • --database_version: データベース エンジンのタイプとバージョン。指定しない場合は、API のデフォルトが使用されます。現在利用可能なバージョンを確認するには、gcloud database versions ドキュメントをご覧ください。
  • --cpu: マシンに設定するコア数。
  • --memory: マシンに設定するメモリ量を表す整数値。単位を指定する必要があります(例: 3,072 MB、9 GB)。単位を指定しない場合、GB が使用されます。
  • --region: インスタンスのリージョンのロケーション(例: asia-east1、us-east1)。指定しない場合は、デフォルトで us-central が使用されます。リージョンの一覧をご覧ください。

gcloud sql instances create コマンドを実行して、Cloud SQL インスタンスを作成します。

gcloud sql instances create quickstart-instance --database-version=POSTGRES_13 --cpu=1 --memory=4GB --region=us-central --root-password=DB_ROOT_PASSWORD

データベースの作成

コンソール

  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 の場合と同じです。

サービス アカウントを設定する

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. [完了] をクリックして、サービス アカウントの作成を完了します。

サービス アカウント キー ファイルを作成してダウンロードする

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

  3. プロジェクトを選択します。
  4. キーを作成する quickstart-service-account サービス アカウントのメールアドレスをクリックします。
  5. [キー] タブをクリックします。
  6. [鍵を追加] プルダウン メニューをクリックして、[新しい鍵を作成] を選択します。
  7. 鍵のタイプとして [JSON] を選択し、[作成] をクリックします。

[作成] をクリックすると、サービス アカウント キーファイルがダウンロードされます。鍵ファイルをダウンロードした後、再度ダウンロードすることはできません。

鍵ファイルは、サービス アカウントとしての認証で使用できるため、安全な場所に保管してください。このファイルは任意の場所に移動できます。名前の変更も可能です。

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"

サービス アカウント キー ファイルを作成してダウンロードする

ローカル コンピュータから作成したサービス アカウントを使用するには、サンプル アプリケーションをサービス アカウントとして認証するためのサービス アカウント キー ファイルが必要です。サービス アカウント キー ファイルを作成してダウンロードするには、gcloud iam service-accounts keys create コマンドを実行します。

gcloud iam service-accounts keys create KEY_FILE --iam-account=quickstart-service-account@PROJECT_ID.iam.gserviceaccount.com

次の値を置き換えます。

  • KEY_FILE: 秘密鍵の新しい出力ファイルのパス(例: ~/sa-private-key.json)。
  • PROJECT_ID: Google Cloud プロジェクト ID。

これで、サービス アカウント キーファイルがローカル コンピュータにダウンロードされます。鍵ファイルをダウンロードした後、再度ダウンロードすることはできません。

鍵ファイルを使うと、誰でもサービス アカウントとしての認証に使用できるため、安全な場所に保管してください。このファイルは任意の場所に移動できます。名前の変更も可能です。

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

ローカル コンピュータに、選択したプログラミング言語の開発環境を設定します。

Go

Go のサンプルアプリを実行する開発環境を設定するには、次の手順を行います。

  1. Go 開発環境の設定ガイドに移動します。
  2. Go のインストール セクションの手順を完了します。

Java

Java のサンプルアプリを実行する開発環境を設定するには、次の手順を行います。

  1. Java 開発環境の設定ガイドに移動します。
  2. JDK(Java Development Kit)をインストールするセクションの手順を完了します。
  3. ビルド自動化ツールをインストールするの手順を完了して、Apache Maven を設定します。

Node.js

Node.js サンプルアプリを実行するように開発環境を設定するには、次の手順を行います。

  1. Node.js 開発環境の設定ガイドに移動します。
  2. Node.js と npm のインストールの手順を完了します。

Python

Python のサンプルアプリを実行する開発環境を設定するには、次の手順を行います。

  1. Python 開発環境の設定ガイドに移動します。
  2. Python のインストールの手順を完了します。

Git のインストール

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

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

git clone コマンドを使用して、ローカル コンピュータにサンプルアプリのクローンを作成します。

Go

次のコマンドを実行して、Go サンプルアプリのクローンをローカル コンピュータに作成し、サンプルアプリを含むディレクトリに移動します。

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

Java

次のコマンドを実行して、Java サンプルアプリのクローンをローカル コンピュータに作成し、サンプルアプリを含むディレクトリに移動します。

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

Node.js

次のコマンドを実行して、Node.js サンプルアプリのクローンをローカル コンピュータに作成し、サンプルアプリを含むディレクトリに移動します。

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

Python

次のコマンドを実行して、Python サンプルアプリのクローンをローカル コンピュータに作成し、サンプルアプリを含むディレクトリに移動します。

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

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

サンプルアプリを構成して実行します。

クリーンアップ

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

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

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

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

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

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

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

    [IAM] に移動

  2. quickstart-service-account という IAM アカウントの編集アイコン(鉛筆のような形)をクリックします。
  3. Cloud SQL クライアントのロールを削除します。
  4. [保存] をクリックします。

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

  • このクイックスタートで有効にした API:
    • Cloud SQL Admin API
    • Identity and Access Management API
  1. Google Cloud コンソールの [API] ページに移動します。

    [API] に移動

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

次のステップ

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

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

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

以下の詳細を確認する

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