App Engine スタンダード環境から Cloud SQL for PostgreSQL に接続する
Google Cloud コンソールとクライアント アプリを使用して、PostgreSQL インスタンスに接続された App Engine スタンダード環境にサンプルアプリをデプロイする方法を学習します。
すべてのステップを適切なタイミングで完了した場合、通常、このクイックスタートで作成されるリソースにかかる費用は 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.
-
App Engine スタンダード環境で Cloud SQL サンプルアプリを実行するために必要な Cloud APIs を有効にします。
コンソール
下のボタンをクリックして、このクイックスタートで必要な API を有効にします。
これにより、次の API が有効になります。
- Cloud SQL Admin API
- Compute Engine API
- Cloud Build API
- Cloud Logging API
gcloud
次のボタンをクリックして Cloud Shell を開きます。これにより、ブラウザから Google Cloud リソースにコマンドラインで直接アクセスできます。Cloud Shell を使用して、このクイックスタートで紹介する
gcloud
コマンドを実行できます。Cloud Shell を使用して次の
gcloud
コマンドを実行します。gcloud services enable sqladmin.googleapis.com compute.googleapis.com \ cloudbuild.googleapis.com logging.googleapis.com
このコマンドにより、次の API が有効になります。
- Cloud SQL Admin API
- Compute Engine API
- Cloud Build API
- Cloud Logging API
Cloud SQL を設定する
Cloud SQL インスタンスを作成する
データベースの作成
コンソール
-
Google Cloud コンソールで Cloud SQL の [インスタンス] ページに移動します。
- [
quickstart-instance
] を選択します。 - SQL ナビゲーション メニューから [データベース] を選択します。
- [データベースを作成] をクリックします。
- [新しいデータベース] ダイアログ ボックスの [データベース名] フィールドに「
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
Cloud SQL のユーザー名の長さの上限は、オンプレミス PostgreSQL の場合と同じです。
App Engine スタンダード環境にサンプルアプリをデプロイする
App Engine アプリケーションを作成する
コンソール
-
Google Cloud コンソールで [App Engine] ページに移動します。
- [アプリケーションを作成] ボタンをクリックします。
- [リージョンを選択] プルダウン メニューから [us-central] を選択します。
- [次へ] をクリックします。
- [後で行う] が [開始] ページに表示されたら、これをクリックします。
gcloud
-
次の
gcloud app create
コマンドを実行して、App Engine アプリケーションを作成します。 - App Engine アプリを配置するリージョンを選択するように求められたら、us-central の数値を入力します。
gcloud app create
App Engine サービス アカウントを構成する
コンソール
-
Google Cloud コンソールの [IAM] ページに移動します。
- App Engine のデフォルトのサービス アカウントという名前のサービス アカウントの鉛筆アイコンをクリックします。
- [別のロールを追加] をクリックします。
- Cloud SQL クライアントという名前のロールを追加します。
- [保存] をクリックします。
gcloud
-
次の
gcloud
コマンドを実行して、プロジェクトのサービス アカウントのリストを取得します。gcloud iam service-accounts list
- App Engine サービス アカウントのメールアドレスをコピーします。
- 次のコマンドを実行して、Cloud SQL クライアントのロールを App Engine サービス アカウントに追加します。
gcloud projects add-iam-policy-binding YOUR_PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT_EMAIL" \ --role="roles/cloudsql.client"
Cloud SQL サンプルアプリを構成してデプロイする
Cloud SQL インスタンス、データベース、クライアント権限を持つサービス アカウントを使用して、Cloud SQL インスタンスに接続するようにサンプル アプリケーションを構成しデプロイできるようになりました。
クリーンアップ
このページで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、次の操作を行います。
-
Google Cloud コンソールで Cloud SQL の [インスタンス] ページに移動します。
quickstart-instance
インスタンスを選択して [インスタンスの詳細] ページを開きます。- ページ上部にあるアイコンバーで、[削除] をクリックします。
- [インスタンスの削除] ダイアログ ボックスで「
quickstart-instance
」と入力し、[削除] をクリックしてインスタンスを削除します。アプリを無効にすると、インスタンスの実行とリクエストの処理が停止されます。アプリがリクエストを処理している場合、アプリが無効になる前にリクエストを処理します。
App Engine アプリを無効にして、データを保持するには、次の手順を行います。
Google Cloud コンソールで、[設定] ページに移動します。
[アプリケーション設定] タブで、[アプリケーションを無効にする] をクリックします。
[アプリ ID] フィールドに、無効にするアプリの ID を入力し、[無効にする] をクリックします。
省略可能なクリーンアップ手順
Compute Engine サービス アカウントに割り当てた Cloud SQL クライアントのロールを使用しない場合は、削除できます。
-
Google Cloud コンソールの [IAM] ページに移動します。
- Compute Engine のデフォルトのサービス アカウントという名前の IAM アカウントの編集アイコン(鉛筆の形)をクリックします。
- Cloud SQL クライアントのロールを削除します。
- [保存] をクリックします。
このクイックスタートで有効にした API を使用しない場合は、無効にすることができます。
- このクイックスタートで有効にした API:
- Compute Engine API
- Cloud SQL Admin API
- Cloud Run API
- Container Registry API
- Cloud Build API
Google Cloud コンソールの [API] ページに移動します。
無効にする API を選択し、[API を無効にする] ボタンをクリックします。
次のステップ
必要に応じて、Cloud SQL インスタンスの作成で詳細をご確認ください。Cloud SQL インスタンスの PostgreSQL ユーザーとデータベースの作成についても学習できます。
料金の詳細については、Cloud SQL for PostgreSQL の料金をご覧ください。
以下の詳細を確認する
また、他の Google Cloud アプリケーションから Cloud SQL インスタンスへの接続についても確認できます。