App Engine フレキシブル環境から Cloud SQL for MySQL に接続する
Google Cloud コンソールとクライアント アプリを使用して、MySQL インスタンスに接続された 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
ボタンをクリックすることで、Google App Engine フレキシブル環境も有効にできます。
gcloud
次のボタンをクリックして Cloud Shell を開きます。これにより、ブラウザから Google Cloud リソースにコマンドラインで直接アクセスできます。Cloud Shell を使用して、このクイックスタートで紹介する
gcloud
コマンドを実行できます。Cloud Shell を使用して次の
gcloud
コマンドを実行します。gcloud services enable appengineflex.googleapis.com 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
前述のコマンドを実行すると、Google App Engine フレキシブル環境も有効になります。
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 の [インスタンス] ページに移動します。
- 作成した [quickstart-instance] MySQL インスタンスを選択します。
- SQL ナビゲーション メニューから [ユーザー] を選択します。
- [ユーザー アカウントを追加] をクリックします。
- [ユーザー アカウントをインスタンス quickstart-instance に追加] ページで、次の情報を追加します。
- [ユーザー名] フィールドに「
quickstart-user
」と入力します。 - [パスワード] フィールドに、データベース ユーザーのパスワードを指定します。このクイックスタートの後半で使用するので、パスワードをメモしておいてください。
- [ユーザー名] フィールドに「
- [追加] をクリックします。
gcloud
次のコマンドを実行する前に、次のように置き換えます。
- PASSWORD はデータベース ユーザーのパスワードに置き換えます。このクイックスタートの後半で使用するので、メモしておいてください。
gcloud sql users create
コマンドを実行してリソースを作成します。
gcloud sql users create quickstart-user \ --instance=quickstart-instance \ --password=PASSWORD
Cloud SQL のユーザー名の長さの上限は、オンプレミス MySQL と同じで、MySQL 8.0 では 32 文字、それ以前のバージョンでは 16 文字です。
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 に接続する権限のある App Engine サービス アカウントを構成しました。これで、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 インスタンスの MySQL ユーザーとデータベースの作成についても学習できます。
料金の詳細については、Cloud SQL for MySQL の料金をご覧ください。
以下の詳細を確認してください。
また、他の Google Cloud プロダクトから Cloud SQL インスタンスへの接続についても確認できます。