ローカル コンピュータから Cloud SQL for PostgreSQL に接続する
Google Cloud コンソールとクライアント アプリケーションを使用して、PostgreSQL インスタンスに接続している Linux、macOS、または Windows ベースのローカル コンピュータにサンプルアプリをデプロイする方法を学習します。
すべてのステップを適切なタイミングで完了した場合、通常、このクイックスタートで作成されるリソースにかかる費用は 1 ドル(USD)未満です。
始める前に
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
ローカル コンピュータで Cloud SQL サンプルアプリを実行するために必要な Cloud APIs を有効にします。
コンソール
[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 アドレスを持つインスタンスを作成する
-
Google Cloud コンソールで Cloud SQL の [インスタンス] ページに移動します。
- [インスタンスを作成] をクリックします。
- [PostgreSQL を選択] をクリックします。
- [インスタンス ID] に「
quickstart-instance
」と入力します。 - postgres ユーザーのパスワードを入力します。このパスワードはこの後で使用できるように保存してください。
- [リージョンとゾーンの可用性の選択] で [シングルゾーン] オプションをクリックします。
- [構成オプションを表示] をクリックして開きます。
- [マシンタイプ] プルダウン メニューで、[軽量] を選択します。
[インスタンスを作成] をクリックし、インスタンスが初期化されて起動されるまで待ちます。
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
データベースの作成
コンソール
-
Google Cloud コンソールで Cloud SQL の [インスタンス] ページに移動します。
- [
quickstart-instance
] を選択します。 - [データベース] タブを開きます。
- [データベースを作成] をクリックします。
- [新しいデータベース] ダイアログ ボックスで、データベースの名前として「
quickstart_db
」と入力します。 - [作成] をクリックします。
gcloud
gcloud
sql databases create
コマンドを実行してデータベースを作成します。
gcloud sql databases create quickstart_db --instance=quickstart-instance
ユーザーを作成する
コンソール
-
Google Cloud コンソールで Cloud SQL の [インスタンス] ページに移動します。
- インスタンスの [概要] ページを開くには、インスタンス名をクリックします。
- [SQL] ナビゲーション メニューから [ユーザー] を選択します。
- [ユーザー アカウントを追加] をクリックします。
- [ユーザー アカウントをインスタンス instance_name に追加] ページで、次の情報を追加します。
- [ユーザー名] フィールドに「
quickstart-user
」と入力します。 - [パスワード] フィールドに、データベース ユーザーのパスワードを指定します。このクイックスタートの後半で使用するので、メモしておいてください。
- [ユーザー名] フィールドに「
- [追加] をクリックします。
gcloud
次のように置き換えます。
- PASSWORD はデータベース ユーザーのパスワードに置き換えます。このクイックスタートの後半で使用するので、メモしておいてください。
gcloud sql users create
コマンドを実行してリソースを作成します。
gcloud sql users create quickstart-user --instance=quickstart-instance --password=PASSWORD
ユーザー名の長さの上限は、オンプレミス PostgreSQL の場合と同じです。
サービス アカウントを設定する
コンソール
サービス アカウントを作成する
- Google Cloud コンソールで [サービス アカウントの作成] ページに移動します。
- Google Cloud プロジェクトを選択します。
- サービス アカウント名として「
quickstart-service-account
」と入力します。 - (省略可)サービス アカウントの説明を入力します。
- [作成して続行] をクリックして、次の手順に進みます。
- プロジェクトのサービス アカウントに付与する Cloud SQL クライアントのロールを選択します。
- [続行] をクリックします。
- [完了] をクリックして、サービス アカウントの作成を完了します。
サービス アカウント キー ファイルを作成してダウンロードする
- Google Cloud コンソールで、[サービス アカウント] ページに移動します。
- プロジェクトを選択します。
- キーを作成する
quickstart-service-account
サービス アカウントのメールアドレスをクリックします。 - [キー] タブをクリックします。
- [鍵を追加] プルダウン メニューをクリックして、[新しい鍵を作成] を選択します。
- 鍵のタイプとして [JSON] を選択し、[作成] をクリックします。
[作成] をクリックすると、サービス アカウント キーファイルがダウンロードされます。鍵ファイルをダウンロードした後、再度ダウンロードすることはできません。
鍵ファイルは、サービス アカウントとしての認証で使用できるため、安全な場所に保管してください。このファイルは任意の場所に移動できます。名前の変更も可能です。
gcloud
サービス アカウントを作成する
- サービス アカウントを作成するには、
gcloud iam service-accounts create
コマンドを実行します。 DESCRIPTION
: サービスの説明(省略可)- サービス アカウントにプロジェクトの 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 create quickstart-service-account --description="DESCRIPTION" --display-name="quickstart-service-account"
次の値を置き換えます。
サービス アカウント キー ファイルを作成してダウンロードする
ローカル コンピュータから作成したサービス アカウントを使用するには、サンプル アプリケーションをサービス アカウントとして認証するためのサービス アカウント キー ファイルが必要です。サービス アカウント キー ファイルを作成してダウンロードするには、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 のサンプルアプリを実行する開発環境を設定するには、次の手順を行います。
- Go 開発環境の設定ガイドに移動します。
- Go のインストール セクションの手順を完了します。
Java
Java のサンプルアプリを実行する開発環境を設定するには、次の手順を行います。
- Java 開発環境の設定ガイドに移動します。
- JDK(Java Development Kit)をインストールするセクションの手順を完了します。
- ビルド自動化ツールをインストールするの手順を完了して、Apache Maven を設定します。
Node.js
Node.js サンプルアプリを実行するように開発環境を設定するには、次の手順を行います。
- Node.js 開発環境の設定ガイドに移動します。
- Node.js と npm のインストールの手順を完了します。
Python
Python のサンプルアプリを実行する開発環境を設定するには、次の手順を行います。
- Python 開発環境の設定ガイドに移動します。
- Python のインストールの手順を完了します。
Git のインストール
オープンソースのバージョン管理システムである Git をインストールします。
サンプルアプリのクローンを作成する
git clone
コマンドを使用して、ローカル コンピュータにサンプルアプリのクローンを作成します。
Go
次のコマンドを実行して、Go サンプルアプリのクローンをローカル コンピュータに作成し、サンプルアプリを含むディレクトリに移動します。
- サンプルアプリのクローンを作成します。
git clone https://github.com/GoogleCloudPlatform/golang-samples
-
サンプルアプリを含むディレクトリに移動します。
cd golang-samples/cloudsql/postgres/database-sql
Java
次のコマンドを実行して、Java サンプルアプリのクローンをローカル コンピュータに作成し、サンプルアプリを含むディレクトリに移動します。
- サンプルアプリのクローンを作成します。
git clone https://github.com/GoogleCloudPlatform/java-docs-samples
-
サンプルアプリを含むディレクトリに移動します。
cd java-docs-samples/cloud-sql/postgres/servlet
Node.js
次のコマンドを実行して、Node.js サンプルアプリのクローンをローカル コンピュータに作成し、サンプルアプリを含むディレクトリに移動します。
- サンプルアプリのクローンを作成します。
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples
-
サンプルアプリを含むディレクトリに移動します。
cd nodejs-docs-samples/cloud-sql/postgres/knex
Python
次のコマンドを実行して、Python サンプルアプリのクローンをローカル コンピュータに作成し、サンプルアプリを含むディレクトリに移動します。
- サンプルアプリのクローンを作成します。
git clone https://github.com/GoogleCloudPlatform/python-docs-samples
-
サンプルアプリを含むディレクトリに移動します。
cd python-docs-samples/cloud-sql/postgres/sqlalchemy
サンプルアプリを構成して実行する
サンプルアプリを構成して実行します。
クリーンアップ
このページで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、次の操作を行います。
-
Google Cloud コンソールで Cloud SQL の [インスタンス] ページに移動します。
quickstart-instance
インスタンスを選択して [インスタンスの詳細] ページを開きます。- ページ上部にあるアイコンバーで、[削除] をクリックします。
- [インスタンスの削除] ダイアログ ボックスで「
quickstart-instance
」と入力し、[削除] をクリックしてインスタンスを削除します。
省略可能なクリーンアップ手順
quickstart-service-account
サービス アカウントに割り当てた Cloud SQL クライアントのロールを使用しない場合は、削除できます。
-
Google Cloud コンソールの [IAM] ページに移動します。
- quickstart-service-account という IAM アカウントの編集アイコン(鉛筆のような形)をクリックします。
- Cloud SQL クライアントのロールを削除します。
- [保存] をクリックします。
このクイックスタートで有効にした API を使用しない場合は、無効にすることができます。
- このクイックスタートで有効にした API:
- Cloud SQL Admin API
- Identity and Access Management API
Google Cloud コンソールの [API] ページに移動します。
無効にする API を選択し、[API を無効にする] ボタンをクリックします。
次のステップ
必要に応じて、Cloud SQL インスタンスの作成で詳細をご確認ください。Cloud SQL インスタンスの PostgreSQL ユーザーとデータベースの作成についても学習できます。
料金の詳細については、Cloud SQL for PostgreSQL の料金をご覧ください。
以下の詳細を確認する
また、他の Google Cloud アプリケーションから Cloud SQL インスタンスへの接続についても確認できます。