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.
-
App Engine フレキシブル環境で Cloud SQL サンプルアプリを実行するために必要な Cloud APIs を有効にします。
下のボタンをクリックして、このクイックスタートで必要な API を有効にします。
これにより、次の API が有効になります。
- Cloud SQL Admin API
- Compute Engine API
- Cloud Build API
- Cloud Logging API
ボタンをクリックすることで、Google App Engine フレキシブル環境も有効にできます。
次のボタンをクリックして 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 インスタンスを作成する
パブリック IP
-
Google Cloud コンソールで Cloud SQL の [インスタンス] ページに移動します。
- [インスタンスを作成] をクリックします。
- [MySQL を選択] をクリックします。
- Enterprise Plus がインスタンスの Cloud SQL エディションとして選択されていることを確認します。
- [インスタンス ID] フィールドに「
quickstart-instance
」と入力します。 - [パスワード] フィールドに、root ユーザーのパスワードを入力します。このパスワードは後で使用できるように保存してください。
- [リージョンとゾーンの可用性の選択] セクションで、[シングルゾーン] を選択します。
- [構成オプションを表示] メニューをクリックします。
- [マシンの構成] ノードを開きます。
- [マシンシェイプ] 領域で、[4 vCPU、32 GB] シェイプを選択します。
- [インスタンスを作成] をクリックし、インスタンスが初期化されて起動するまで待ちます。
コマンドを実行する前に、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 createquickstart-instance \ --database-version=MYSQL_8_0 \ --cpu=1 \ --memory=4GB \ --region=us-central1 \ --root-password=DB_ROOT_PASSWORD
プライベート IP
IP アドレス範囲を割り振り、プライベート接続を作成して Cloud SQL の限定公開サービス アクセスを構成する
-
Google Cloud コンソールの [VPC ネットワーク] ページに移動します。
default
VPC ネットワークを選択します。- [プライベート サービス接続] タブを選択します。
- [サービスに割り当てられた IP 範囲] を選択します。
- [IP 範囲の割り当て] をクリックします。
- 割り振られた範囲の [名前] には
google-managed-services-default
を指定します。 - IP 範囲の [自動] オプションを選択し、接頭辞の長さを
16
として指定します。 - [割り当て] をクリックして、割り振る範囲を作成します。
default
VPC ネットワークの [サービスへのプライベート接続] タブを選択します。- ネットワークとサービス プロデューサーとの間にプライベート接続を作成するには、[接続の作成] をクリックします。
- [割り当て] で [
google-managed-services-default
] を選択します。 - [接続] をクリックして接続を作成します。
プライベート IP アドレスと SSL を有効にしてインスタンスを作成する
-
Google Cloud コンソールで Cloud SQL の [インスタンス] ページに移動します。
- [インスタンスを作成] をクリックします。
- [MySQL を選択] をクリックします。
- Enterprise Plus がインスタンスの Cloud SQL エディションとして選択されていることを確認します。
- [インスタンス ID] フィールドに「
quickstart-instance
」と入力します。 - [パスワード] フィールドに、root ユーザーのパスワードを入力します。このパスワードは後で使用できるように保存してください。
- [リージョンとゾーンの可用性の選択] セクションで、[シングルゾーン] を選択します。
- [構成オプションを表示] メニューをクリックします。
- [マシンの構成] ノードを開きます。
- [マシンシェイプ] 領域で、[4 vCPU、32 GB] シェイプを選択します。
- [接続] ノードを開きます。
- プライベート IP アドレスのみを使用するインスタンスを作成するには、[パブリック IP] チェックボックスをオフにします。
- [プライベート IP] チェックボックスをオンにします。
- [ネットワーク] メニューから [デフォルト] を選択します。
- [インスタンスを作成] をクリックし、インスタンスが初期化されて起動するまで待ちます。
- [接続] をクリックします。
- [セキュリティ] で [SSL 接続のみ許可] を選択し、SSL 接続を有効にします。
- [Enable SSL] ダイアログで、[有効にして再起動] をクリックし、インスタンスが再起動するのを待ちます。
IP アドレス範囲を割り振り、プライベート接続を作成して Cloud SQL の限定公開サービス アクセスを構成する
-
gcloud compute addresses create
コマンドを実行して、IP アドレス範囲を割り振ります。gcloud compute addresses create
google-managed-services-default \ --global --purpose=VPC_PEERING --prefix-length=16 \ --description="peering range for Google" --network=default -
gcloud services vpc-peerings connect
コマンドを実行して、割り振られた IP アドレス範囲へのプライベート接続を作成します。YOUR_PROJECT_ID は、プロジェクトのプロジェクト ID に置き換えます。gcloud services vpc-peerings connect --service=servicenetworking.googleapis.com \ --ranges=
google-managed-services-default --network=default \ --project=YOUR_PROJECT_ID
プライベート IP アドレスと SSL を有効にしてインスタンスを作成する
-
次のコマンドを実行する前に、DB_ROOT_PASSWORD をデータベース ユーザーのパスワードに置き換えます。
- --database-version: データベース エンジンのタイプとバージョン。指定しない場合は、API のデフォルトが使用されます。現在利用可能なバージョンを確認するには、gcloud database versions ドキュメントをご覧ください。
- --cpu: マシン内のコア数。
- --memory: マシンに搭載するメモリ量を示す整数。サイズの単位を指定できます(例: 3,072 MB、9 GB)。単位を指定しない場合、GB が使用されます。
- --region: インスタンスのリージョンのロケーション(例: asia-east1、us-east1)。指定しない場合は、デフォルトで
us-central1
が使用されます。リージョンの一覧をご覧ください。 gcloud sql instances patch
コマンドを実行して、インスタンスで SSL 接続のみ許可します。
必要に応じて、次のパラメータの値を変更します。
gcloud
sql instances create
コマンドを実行して、プライベート IP アドレスを持つ Cloud SQL インスタンスを作成します。
gcloud sql instances createquickstart-instance \ --database-version=MYSQL_8_0 \ --cpu=1 \ --memory=4GB \ --region=us-central1 \ --root-password=DB_ROOT_PASSWORD \ --no-assign-ip \ --network=default
gcloud sql instances patchquickstart-instance --require-ssl
データベースの作成
-
Google Cloud コンソールで Cloud SQL の [インスタンス] ページに移動します。
- [
quickstart-instance
] を選択します。 - SQL ナビゲーション メニューから [データベース] を選択します。
- [データベースを作成] をクリックします。
- [データベースの作成] ダイアログ ボックスの [データベース名] フィールドに「
quickstart-db
」と入力します。文字セットと照合の値はそのままにします。 - [作成] をクリックします。
gcloud
sql databases create
コマンドを実行してデータベースを作成します。
gcloud sql databases createquickstart-db --instance=quickstart-instance
ユーザーを作成する
-
Google Cloud コンソールで Cloud SQL の [インスタンス] ページに移動します。
- 作成した [quickstart-instance] MySQL インスタンスを選択します。
- SQL ナビゲーション メニューから [ユーザー] を選択します。
- [ユーザー アカウントを追加] をクリックします。
- [ユーザー アカウントをインスタンス quickstart-instance に追加] ページで、次の情報を追加します。
- [ユーザー名] フィールドに「
quickstart-user
」と入力します。 - [パスワード] フィールドに、データベース ユーザーのパスワードを指定します。このクイックスタートの後半で使用するので、パスワードをメモしておいてください。
- [ユーザー名] フィールドに「
- [追加] をクリックします。
次のコマンドを実行する前に、次のように置き換えます。
- PASSWORD はデータベース ユーザーのパスワードに置き換えます。このクイックスタートの後半で使用するので、メモしておいてください。
gcloud sql users create
コマンドを実行してリソースを作成します。
gcloud sql users createquickstart-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 app create
コマンドを実行して、App Engine アプリを作成します。 - App Engine アプリを配置するリージョンを選択するように求められたら、us-central の数値を入力します。
gcloud app create
App Engine サービス アカウントを構成する
-
Google Cloud コンソールの [IAM] ページに移動します。
- App Engine のデフォルトのサービス アカウントという名前のサービス アカウントの鉛筆アイコンをクリックします。
- [別のロールを追加] をクリックします。
- Cloud SQL クライアントという名前のロールを追加します。
- [保存] をクリックします。
-
次の
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 インスタンスに接続するサンプルアプリを構成してデプロイできるようになります。
パブリック IP
パブリック IP パスの場合、App Engine フレキシブル環境では暗号化が行われます。この方法では、Unix ソケットと Cloud SQL Auth Proxy を使用して Cloud SQL インスタンスに接続します。-
Cloud Shell エディタで、サンプルアプリのソースコードを開きます。
Cloud Shell エディタを開く - [Cloud Shell で開く] ダイアログ ボックスで、[確認] をクリックしてサンプルアプリのコードをダウンロードし、Cloud Shell エディタでサンプルアプリのディレクトリを開きます。
- Cloud Shell コマンド プロンプトで次のコマンドを実行して、プロジェクトを有効にします。
gcloud config set project
YOUR-PROJECT-ID - [Cloud Shell の承認] ダイアログ ボックスが表示されたら、[承認] をクリックします。
- Cloud Shell エディタの [エクスプローラ] ナビゲーション メニューから、Google Cloud アカウントのユーザー名である展開可能なノードをクリックします。
cloudshell_open/golang-samples/cloudsql/mysql/database-sql/app.flexible.yaml
ファイルに移動して開きます。-
app.flexible.yaml
ファイル内の環境変数のプレースホルダを次の値に置き換えます。 - <PROJECT-ID> を、プロジェクト ID に置き換えます。
- <INSTANCE-REGION> を、
us-central1
に置き換えます。 - <INSTANCE-NAME> を、
quickstart-instance
に置き換えます。 - <YOUR_DB_USER_NAME> を、
quickstart-user
に置き換えます。 - <YOUR_DB_PASSWORD> を、ユーザーを作成するで作成した
quickstart-user
のパスワードに置き換えます。 - <YOUR_DB_NAME> を、
quickstart-db
に置き換えます。 - Cloud Shell のコマンド プロンプトで、
cloudshell_open/golang-samples/cloudsql/mysql/database-sql
ディレクトリから次のgcloud app deploy
コマンドを実行して、サンプルアプリを App Engine フレキシブル環境にデプロイします。 - 「Do you want to continue?」と表示されたら、「
Y
」と入力します。 gcloud app deploy
コマンドを実行することでアクションが行われたら、gcloud app browse
コマンドを実行します。- 生成されたリンクをクリックすると、App Engine フレキシブル環境で実行されているサンプルアプリが表示されます。この環境は Cloud SQL に接続されています。
gcloud app deploy app.flexible.yaml
gcloud app browse
-
Cloud Shell エディタで、サンプルアプリのソースコードを開きます。
Cloud Shell エディタを開く - [Cloud Shell で開く] ダイアログ ボックスで、[確認] をクリックしてサンプルアプリのコードをダウンロードし、Cloud Shell エディタでサンプルアプリのディレクトリを開きます。
- Cloud Shell コマンド プロンプトで次のコマンドを実行して、プロジェクトを有効にします。
gcloud config set project
YOUR-PROJECT-ID - [Cloud Shell の承認] ダイアログ ボックスが表示されたら、[承認] をクリックします。
- Cloud Shell エディタの [エクスプローラ] ナビゲーション メニューから、Google Cloud アカウントのユーザー名である展開可能なノードをクリックします。
cloudshell_open/java-docs-samples/cloud-sql/mysql/servlet/src/main/webapp/WEB-INF/appengine-web.xml
ファイルに移動して開きます。-
appengine-web.xml
ファイル内の環境変数のプレースホルダを次の値に置き換えます。 - my-project:region:instance を、Google Cloud コンソールの Cloud SQL インスタンス ページに表示される、インスタンスの接続名に置き換えます。
- my-db-user を、
quickstart-user
に置き換えます。 - my-db-password を、[ユーザーを作成する] で作成した
quickstart-user
のパスワードに置き換えます。 - my_db を、
quickstart-db
に置き換えます。 - Cloud Shell のコマンド プロンプトで、
cloudshell_open/java-docs-samples/cloud-sql/mysql/servlet
ディレクトリから次の Apache Mavenmvn clean package
コマンドを実行して、サンプルアプリを App Engine フレキシブル環境にデプロイします。 - 「Do you want to continue?」と表示されたら、「
Y
」と入力します。 gcloud app deploy
コマンドを実行することでアクションが行われたら、gcloud app browse
コマンドを実行します。- 生成されたリンクをクリックすると、App Engine フレキシブル環境で実行されているサンプルアプリが表示されます。この環境は Cloud SQL に接続されています。
mvn clean package appengine:deploy -DskipTests
gcloud app browse
-
Cloud Shell エディタで、サンプルアプリのソースコードを開きます。
Cloud Shell エディタを開く - [Cloud Shell で開く] ダイアログ ボックスで、[確認] をクリックしてサンプルアプリのコードをダウンロードし、Cloud Shell エディタでサンプルアプリのディレクトリを開きます。
- Cloud Shell コマンド プロンプトで次のコマンドを実行して、プロジェクトを有効にします。
gcloud config set project
YOUR-PROJECT-ID - [Cloud Shell の承認] ダイアログ ボックスが表示されたら、[承認] をクリックします。
- Cloud Shell エディタの [エクスプローラ] ナビゲーション メニューから、Google Cloud アカウントのユーザー名である展開可能なノードをクリックします。
cloudshell_open/nodejs-docs-samples/cloud-sql/mysql/mysql/app.flexible.yaml
ファイルに移動して開きます。-
app.flexible.yaml
ファイル内の環境変数のプレースホルダを次の値に置き換えます。 - <MY-PROJECT> を、プロジェクト ID に置き換えます。
- <INSTANCE-REGION> を、
us-central1
に置き換えます。 - <INSTANCE-NAME> を、
quickstart-instance
に置き換えます。 - MY_DB_USER を、
quickstart-user
に置き換えます。 - MY_DB_PASSWORD を、[ユーザーを作成する] で作成した
quickstart-user
のパスワードに置き換えます。 - MY_DATABASE を、
quickstart-db
に置き換えます。 - Cloud Shell のコマンド プロンプトで、
cloudshell_open/nodejs-docs-samples/cloud-sql/mysql/mysql
ディレクトリから次のgcloud app deploy
コマンドを実行して、サンプルアプリを App Engine フレキシブル環境にデプロイします。 - 「Do you want to continue?」と表示されたら、「
Y
」と入力します。 gcloud app deploy
コマンドを実行することでアクションが行われたら、gcloud app browse
コマンドを実行します。- 生成されたリンクをクリックすると、App Engine フレキシブル環境で実行されているサンプルアプリが表示されます。この環境は Cloud SQL に接続されています。
gcloud app deploy app.flexible.yaml
gcloud app browse
-
Cloud Shell エディタで、サンプルアプリのソースコードを開きます。
Cloud Shell エディタを開く - [Cloud Shell で開く] ダイアログ ボックスで、[確認] をクリックしてサンプルアプリのコードをダウンロードし、Cloud Shell エディタでサンプルアプリのディレクトリを開きます。
- Cloud Shell コマンド プロンプトで次のコマンドを実行して、プロジェクトを有効にします。
gcloud config set project
YOUR-PROJECT-ID - [Cloud Shell の承認] ダイアログ ボックスが表示されたら、[承認] をクリックします。
- Cloud Shell エディタの [エクスプローラ] ナビゲーション メニューから、Google Cloud アカウントのユーザー名である展開可能なノードをクリックします。
cloudshell_open/python-docs-samples/cloud-sql/mysql/sqlalchemy/app.flexible.yaml
ファイルに移動して開きます。-
app.flexible.yaml
ファイル内の環境変数のプレースホルダを次の値に置き換えます。 - <PROJECT-ID> を、プロジェクト ID に置き換えます。
- <INSTANCE-REGION> を、
quickstart-instance
に置き換えます。 - <YOUR_DB_USER_NAME> を、
quickstart-user
に置き換えます。 - <YOUR_DB_PASSWORD> を、ユーザーを作成するで作成した
quickstart-user
のパスワードに置き換えます。 - <YOUR_DB_NAME> を、
quickstart-db
に置き換えます。 - Cloud Shell のコマンド プロンプトで、
cloudshell_open/python-docs-samples/cloud-sql/mysql/sqlalchemy
ディレクトリから次のgcloud app deploy
コマンドを実行して、サンプルアプリを App Engine フレキシブル環境にデプロイします。 - 「Do you want to continue?」と表示されたら、「
Y
」と入力します。 gcloud app deploy
コマンドを実行することでアクションが行われたら、gcloud app browse
コマンドを実行します。- 生成されたリンクをクリックすると、App Engine フレキシブル環境で実行されているサンプルアプリが表示されます。この環境は Cloud SQL に接続されています。
gcloud app deploy app.flexible.yaml
gcloud app browse
プライベート IP
プライベート IP パスの場合、App Engine フレキシブル環境の VM と Cloud SQL インスタンスが同じ Virtual Private Cloud(VPC)ネットワークにホストされていることを確認します。同じ VPC ネットワーク上にある場合、App Engine フレキシブル環境のアプリは、Cloud SQL Auth Proxy を使用せずに Cloud SQL インスタンスに直接接続できます。SSL サーバーとクライアント証明書を作成してダウンロードする
-
Google Cloud コンソールで Cloud SQL の [インスタンス] ページに移動します。
quickstart-instance
をクリックして、[概要] ページを表示します。- [接続] タブをクリックします。
- [セキュリティ] で [クライアント証明書を作成] をクリックします。
- [クライアント証明書を作成] ダイアログで、名前として「
quickstart-key
」と入力し、[作成] をクリックします。 [新しい SSL 証明書を作成しました] ダイアログで、各ダウンロード リンクをクリックして証明書をダウンロードします。[閉じる] をクリックします。
SSL 証明書を使用してサンプルアプリを構築する
-
Cloud Shell エディタで、サンプルアプリのソースコードを開きます。
Cloud Shell エディタを開く - [Cloud Shell で開く] ダイアログで、[確認] をクリックしてサンプルアプリのコードをダウンロードし、Cloud Shell エディタでサンプルアプリのディレクトリを開きます。
- Cloud Shell コマンド プロンプトで次のコマンドを実行して、プロジェクトを有効にします。
gcloud config set project
YOUR-PROJECT-ID - [Cloud Shell の承認] ダイアログが表示されたら、[承認] をクリックします。
-
SSL 証明書ファイルを証明書フォルダにアップロードします。
- Cloud Shell エディタの [エクスプローラ] ナビゲーション メニューから、
golang-samples/cloudsql/mysql/database-sql/certs
フォルダに移動します。 - Cloud Shell エディタで certs フォルダを右クリックし、[ファイルをアップロード] を選択します。
- ローカルマシンで次のファイルを選択します。
client-key.pem
client-cert.pem
server-ca.pem
- 3 つの SSL 証明書ファイルを選択して [開く] をクリックし、Cloud Shell エディタにファイルをアップロードするプロセスを完了します。
- Cloud Shell エディタの [エクスプローラ] ナビゲーション メニューから、
- Cloud Shell エディタの [エクスプローラ] ナビゲーション メニューから、Google Cloud アカウントのユーザー名である展開可能なノードをクリックします。
cloudshell_open/golang-samples/cloudsql/mysql/database-sql/app.flexible.yaml
ファイルに移動して開きます。- 次のコードをコピーしてファイルに貼り付けます。その際、既存のファイルの内容を置き換えます。
- 次の変数を置き換えます。
- YOUR_DB_PASSWORD を、[ユーザーを作成する] で作成した
quickstart-user
のパスワードに置き換えます。 - INSTANCE_HOST を、Google Cloud コンソールの [Cloud SQL インスタンス] ページに表示されるインスタンスのプライベート IP アドレスに置き換えます。
- PROJECT_ID はプロジェクト ID に置き換えます。
- Cloud Shell のコマンド プロンプトで、
cloudshell_open/golang-samples/cloudsql/mysql/database-sql
ディレクトリから次のgcloud app deploy
コマンドを実行して、サンプルアプリを App Engine フレキシブル環境にデプロイします。 - 「Do you want to continue?」と表示されたら、「
Y
」と入力します。 gcloud app deploy
コマンドを実行することでアクションが行われたら、gcloud app browse
コマンドを実行します。- 生成されたリンクをクリックすると、App Engine フレキシブル環境で実行されているサンプルアプリが表示されます。この環境は Cloud SQL に接続されています。
runtime: custom env: flex env_variables: DB_USER: quickstart-user DB_PASS:YOUR_DB_PASSWORD DB_NAME: quickstart-db DB_PORT: 3306 INSTANCE_HOST:INSTANCE_HOST DB_ROOT_CERT: certs/server-ca.pem DB_CERT: certs/client-cert.pem DB_KEY: certs/client-key.pem PRIVATE_IP: TRUE vpc_access_connector: name: projects/PROJECT_ID /locations/us-central1/connectors/quickstart-connector
gcloud app deploy app.flexible.yaml
gcloud app browse
SSL サーバーとクライアント証明書を作成してダウンロードする
Java ユーザーの場合、コネクタはすでに安全な接続を提供するため、SSL サーバーとクライアント証明書の作成とダウンロードは不要です。
サンプルアプリを構築する
-
Cloud Shell エディタで、サンプルアプリのソースコードを開きます。
Cloud Shell エディタを開く - [Cloud Shell で開く] ダイアログで、[確認] をクリックしてサンプルアプリのコードをダウンロードし、Cloud Shell エディタでサンプルアプリのディレクトリを開きます。
- Cloud Shell コマンド プロンプトで次のコマンドを実行して、プロジェクトを有効にします。
gcloud config set project
YOUR-PROJECT-ID - [Cloud Shell の承認] ダイアログが表示されたら、[承認] をクリックします。
- Cloud Shell エディタの [エクスプローラ] ナビゲーション メニューから、Google Cloud アカウントのユーザー名である展開可能なノードをクリックします。
cloudshell_open/java-docs-samples/cloud-sql/mysql/servlet/src/main/webapp/WEB-INF/appengine-web.xml
ファイルに移動して開きます。-
次のコードをコピーして
appengine-web.xml
ファイルに貼り付けます。その際、既存のファイルの内容を置き換えます。 - 次の変数を置き換えます。
- project-name:region-name:instance-name を、Google Cloud コンソールの [Cloud SQL インスタンス] ページに表示されるインスタンスの接続名に置き換えます。
- my-db-password を、[ユーザーを作成する] で作成した
quickstart-user
のパスワードに置き換えます。 - PROJECT_ID はプロジェクト ID に置き換えます。
- Cloud Shell のコマンド プロンプトで、
cloudshell_open/java-docs-samples/cloud-sql/mysql/servlet
ディレクトリから次の Apache Mavenmvn clean package
コマンドを実行して、サンプルアプリを App Engine フレキシブル環境にデプロイします。 - 「Do you want to continue?」と表示されたら、「
Y
」と入力します。 gcloud app deploy
コマンドを実行することでアクションが行われたら、gcloud app browse
コマンドを実行します。- 生成されたリンクをクリックすると、App Engine フレキシブル環境で実行されているサンプルアプリが表示されます。この環境は Cloud SQL に接続されています。
<runtime>java17</runtime> <env-variables> <env-var name="INSTANCE_CONNECTION_NAME" value="project-name:region-name:instance-name " /> <env-var name="DB_PORT" value="3306" /> <env-var name="DB_USER" value="quickstart-user" /> <env-var name="DB_PASS" value="my-db-password " /> <env-var name="DB_NAME" value="quickstart-db" /> </env-variables> <vpc-access-connector> <name>projects/PROJECT_ID /locations/us-central1/connectors/quickstart-connector</name> <egress-setting>all-traffic</egress-setting> </vpc-access-connector>
mvn clean package appengine:deploy -DskipTests
gcloud app browse
SSL サーバーとクライアント証明書を作成してダウンロードする
-
Google Cloud コンソールで Cloud SQL の [インスタンス] ページに移動します。
quickstart-instance
をクリックして、[概要] ページを表示します。- [接続] タブをクリックします。
- [セキュリティ] で [クライアント証明書を作成] をクリックします。
- [クライアント証明書を作成] ダイアログで、名前として「
quickstart-key
」と入力し、[作成] をクリックします。 [新しい SSL 証明書を作成しました] ダイアログで、各ダウンロード リンクをクリックして証明書をダウンロードします。[閉じる] をクリックします。
SSL 証明書を使用してサンプルアプリを構築する
-
Cloud Shell エディタで、サンプルアプリのソースコードを開きます。
Cloud Shell エディタを開く - [Cloud Shell で開く] ダイアログで、[確認] をクリックしてサンプルアプリのコードをダウンロードし、Cloud Shell エディタでサンプルアプリのディレクトリを開きます。
- Cloud Shell コマンド プロンプトで次のコマンドを実行して、プロジェクトを有効にします。
gcloud config set project
YOUR-PROJECT-ID - [Cloud Shell の承認] ダイアログが表示されたら、[承認] をクリックします。
-
SSL 証明書ファイルを証明書フォルダにアップロードします。
- Cloud Shell エディタの [エクスプローラ] ナビゲーション メニューから、
nodejs-docs-samples/cloud-sql/mysql/mysql/certs
フォルダに移動します。 - Cloud Shell エディタで証明書フォルダを右クリックし、[ファイルをアップロード] を選択します。
- ローカルマシンで次のファイルを選択します。
client-key.pem
client-cert.pem
server-ca.pem
- 3 つの SSL 証明書ファイルを選択して [開く] をクリックし、Cloud Shell エディタにファイルをアップロードするプロセスを完了します。
- Cloud Shell エディタの [エクスプローラ] ナビゲーション メニューから、
- Cloud Shell エディタの [エクスプローラ] ナビゲーション メニューから、Google Cloud アカウントのユーザー名である展開可能なノードをクリックします。
cloudshell_open/nodejs-docs-samples/cloud-sql/mysql/mysql/app.flexible.yaml
ファイルに移動して開きます。- 次のコードをコピーしてファイルに貼り付けます。その際、既存のファイルの内容を置き換えます。
- 次の変数を置き換えます。
- MY_DB_PASSWORD を、[ユーザーを作成する] で作成した
quickstart-user
のパスワードに置き換えます。 - INSTANCE_HOST を、Google Cloud コンソールの [Cloud SQL インスタンス] ページに表示されるインスタンスのプライベート IP アドレスに置き換えます。
- PROJECT_ID はプロジェクト ID に置き換えます。
- Cloud Shell のコマンド プロンプトで、
cloudshell_open/nodejs-docs-samples/cloud-sql/mysql/mysql
ディレクトリから次のgcloud app deploy
コマンドを実行して、サンプルアプリを App Engine フレキシブル環境にデプロイします。 - 「Do you want to continue?」と表示されたら、「
Y
」と入力します。 gcloud app deploy
コマンドを実行することでアクションが行われたら、gcloud app browse
コマンドを実行します。- 生成されたリンクをクリックすると、App Engine フレキシブル環境で実行されているサンプルアプリが表示されます。この環境は Cloud SQL に接続されています。
runtime: nodejs env: flex env_variables: DB_USER: quickstart-user DB_PASS:MY_DB_PASSWORD DB_NAME: quickstart-db DB_PORT: 3306 INSTANCE_HOST:INSTANCE_HOST DB_ROOT_CERT: certs/server-ca.pem DB_CERT: certs/client-cert.pem DB_KEY: certs/client-key.pem PRIVATE_IP: TRUE vpc_access_connector: name: projects/PROJECT_ID /locations/us-central1/connectors/quickstart-connector
gcloud app deploy app.flexible.yaml
gcloud app browse
SSL サーバーとクライアント証明書を作成してダウンロードする
-
Google Cloud コンソールで Cloud SQL の [インスタンス] ページに移動します。
quickstart-instance
をクリックして、[概要] ページを表示します。- [接続] タブをクリックします。
- [セキュリティ] で [クライアント証明書を作成] をクリックします。
- [クライアント証明書を作成] ダイアログで、名前として「
quickstart-key
」と入力し、[作成] をクリックします。 [新しい SSL 証明書を作成しました] ダイアログで、各ダウンロード リンクをクリックして証明書をダウンロードします。[閉じる] をクリックします。
SSL 証明書を使用してサンプルアプリを構築する
-
Cloud Shell エディタで、サンプルアプリのソースコードを開きます。
Cloud Shell エディタを開く - [Cloud Shell で開く] ダイアログで、[確認] をクリックしてサンプルアプリのコードをダウンロードし、Cloud Shell エディタでサンプルアプリのディレクトリを開きます。
- Cloud Shell コマンド プロンプトで次のコマンドを実行して、プロジェクトを有効にします。
gcloud config set project
YOUR-PROJECT-ID - [Cloud Shell の承認] ダイアログが表示されたら、[承認] をクリックします。
-
SSL 証明書ファイルを証明書フォルダにアップロードします。
- Cloud Shell エディタの [エクスプローラ] ナビゲーション メニューから、
python-docs-samples/cloud-sql/mysql/sqlalchemy/certs
フォルダに移動します。 - Cloud Shell エディタで証明書フォルダを右クリックし、[ファイルをアップロード] を選択します。
- ローカルマシンで次のファイルを選択します。
client-key.pem
client-cert.pem
server-ca.pem
- 3 つの SSL 証明書ファイルを選択して [開く] をクリックし、Cloud Shell エディタにファイルをアップロードするプロセスを完了します。
- Cloud Shell エディタの [エクスプローラ] ナビゲーション メニューから、
- Cloud Shell エディタの [エクスプローラ] ナビゲーション メニューから、Google Cloud アカウントのユーザー名である展開可能なノードをクリックします。
cloudshell_open/python-docs-samples/cloud-sql/mysql/sqlalchemy/app.flexible.yaml
ファイルに移動して開きます。- 次のコードをコピーしてファイルに貼り付けます。その際、既存のファイルの内容を置き換えます。
- 次の変数を置き換えます。
- YOUR_DB_PASSWORD を、[ユーザーを作成する] で作成した
quickstart-user
のパスワードに置き換えます。 - INSTANCE_HOST を、Google Cloud コンソールの [Cloud SQL インスタンス] ページに表示されるインスタンスのプライベート IP アドレスに置き換えます。
- PROJECT_ID はプロジェクト ID に置き換えます。
- Cloud Shell のコマンド プロンプトで、
cloudshell_open/python-docs-samples/cloud-sql/mysql/sqlalchemy
ディレクトリから次のgcloud app deploy
コマンドを実行して、サンプルアプリを App Engine フレキシブル環境にデプロイします。 - 「Do you want to continue?」と表示されたら、「
Y
」と入力します。 gcloud app deploy
コマンドを実行することでアクションが行われたら、gcloud app browse
コマンドを実行します。- 生成されたリンクをクリックすると、App Engine フレキシブル環境で実行されているサンプルアプリが表示されます。この環境は Cloud SQL に接続されています。
runtime: custom env: flex entrypoint: gunicorn -b :$PORT app:app env_variables: DB_USER: quickstart-user DB_PASS:YOUR_DB_PASSWORD DB_NAME: quickstart-db DB_PORT: 3306 INSTANCE_HOST:INSTANCE_HOST DB_ROOT_CERT: certs/server-ca.pem DB_CERT: certs/client-cert.pem DB_KEY: certs/client-key.pem PRIVATE_IP: TRUE vpc_access_connector: name: projects/PROJECT_ID /locations/us-central1/connectors/quickstart-connector
gcloud app deploy app.flexible.yaml
gcloud app browse
クリーンアップ
このページで使用したリソースについて、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 インスタンスへの接続についても確認できます。