Cloud Run functions から Cloud SQL for MySQL に接続する
Google Cloud コンソールとクライアント アプリケーションを使用して、MySQL インスタンスに接続された Cloud Run 関数にサンプルアプリをデプロイする方法を学習します。
すべてのステップを適切なタイミングで完了した場合、通常、このクイックスタートで作成されるリソースにかかる費用は 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.
-
Cloud Run functions で Cloud SQL サンプルアプリを実行するために必要な Cloud APIs を有効にします。
[API を有効にする] をクリックして、このクイックスタートで必要な API を有効にします。
これにより、次の API が有効になります。
- Cloud Run functions API
- Cloud SQL Admin API
- Cloud Run Admin API
- Cloud Build API
- Artifact Registry API
- Eventarc API
- Compute Engine API
- Service Networking API
- Cloud Logging API
次のボタンをクリックして Cloud Shell を開きます。これにより、ブラウザから Google Cloud リソースにコマンドラインで直接アクセスできます。Cloud Shell を使用して、このクイックスタートで紹介する
gcloud
コマンドを実行できます。Cloud Shell を使用して次の
gcloud
コマンドを実行します。gcloud services enable cloudfunctions.googleapis.com sqladmin.googleapis.com run.googleapis.com cloudbuild.googleapis.com artifactregistry.googleapis.com eventarc.googleapis.com compute.googleapis.com servicenetworking.googleapis.com pubsub.googleapis.com logging.googleapis.com
このコマンドにより、次の API が有効になります。
- Cloud Run functions API
- Cloud SQL Admin API
- Cloud Run API
- Cloud Build API
- Artifact Registry API
- Eventarc API
- Compute Engine API
- Service Networking API
- Cloud Logging API
ユーザーに、Cloud Run 関数起動元の IAM ロールを追加します。
Cloud SQL の設定
Cloud SQL インスタンスを作成する
パブリック IP
-
Google Cloud コンソールで Cloud SQL の [インスタンス] ページに移動します。
- [インスタンスを作成] をクリックします。
- [MySQL を選択] をクリックします。
- インスタンスの Cloud SQL エディションとして [Enterprise Plus] が選択されていることを確認します。
- [インスタンス 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 を選択] をクリックします。
- インスタンスの Cloud SQL エディションとして [Enterprise Plus] が選択されていることを確認します。
- [インスタンス 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 の [インスタンス] ページに移動します。
- インスタンスの [概要] ページを開くには、インスタンス名をクリックします。
- SQL ナビゲーション メニューから [ユーザー] を選択します。
- [ユーザー アカウントを追加] をクリックします。
- quickstart-instance の [ユーザー アカウントを追加] ページで、次の情報を追加します。
- [ユーザー名] フィールドに「
quickstart-user
」と入力します。 - [パスワード] フィールドに、データベース ユーザーのパスワードを指定します。このクイックスタートの後半で使用するので、メモしておいてください。
- [ユーザー名] フィールドに「
- [追加] をクリックします。
次のコマンドを実行する前に、次のように置き換えます。
- DB_PASS はデータベース ユーザーのパスワードに置き換えます。このクイックスタートの後半で使用するので、メモしておいてください。
gcloud sql users create
コマンドを実行してリソースを作成します。
gcloud sql users createquickstart-user \ --instance=quickstart-instance \ --password=DB_PASS
Cloud SQL のユーザー名の長さの上限は、オンプレミス MySQL と同じであり、MySQL 8.0 以降では 32 文字、それより前のバージョンでは 16 文字です。
Cloud Run functions のサービス アカウントを構成する
-
Google Cloud コンソールの [IAM] ページに移動します。
- Compute Engine のデフォルトのサービス アカウントという名前のサービス アカウントの鉛筆アイコンをクリックします。
- [別のロールを追加] をクリックします。
- Cloud SQL クライアントという名前のロールを追加します。
- [保存] をクリックします。
-
次の
gcloud
コマンドを実行して、プロジェクトのサービス アカウントのリストを取得します。gcloud iam service-accounts list
- Compute Engine サービス アカウントのメールアドレスをコピーします。
- 次のコマンドを実行して、Cloud SQL クライアントのロールを Compute Engine サービス アカウントに追加します。
gcloud projects add-iam-policy-binding
YOUR_PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT_EMAIL " \ --role="roles/cloudsql.client"
関数を作成する
-
Google Cloud コンソールで Cloud Run 関数のページに移動します。
- [関数を作成] をクリックします。
- [環境] で [第 2 世代] を選択します。
- [関数名] フィールドに「
quickstart-function
」と入力します。 - [認証] リージョンで、[未認証の呼び出しを許可する] を選択します。
- [次へ] をクリックします。
- [ランタイム] メニューから、次のいずれかの言語を選択します。
- [ソースコード] メニューで、[インライン エディタ] が選択されていることを確認します。このステップでは、エディタで指定されているデフォルト関数を使用します。
言語 | バージョン番号 |
---|---|
Go | 1.20 |
Java | 17 |
Node.js | 18 |
Python | 3.10 |
関数をデプロイする
- Cloud Run functions のページの下部にある [デプロイ] をクリックします。Google Cloud コンソールから、関数の詳細ページにリダイレクトします。
- 関数のデプロイが完了後、[URL] リンクをクリックすると、
Hello, World!
というメッセージがウェブブラウザに表示されます。
Cloud SQL サンプルアプリを関数としてデプロイする
Cloud SQL サンプルアプリを Cloud Run functions の関数として構成し、デプロイします。まず、Cloud Shell を使用してサンプルアプリの構成とビルドを行います。次に、Cloud Run functions を使用してサンプルアプリをデプロイします。
パブリック IP / プライベート IP のどちらを使用して Cloud SQL for MySQL インスタンスを作成するかに基づき、アプリの構成、ビルド、デプロイを行う方法が 2 つあります。
Cloud SQL サンプルアプリを構成する
パブリック IP
パブリック IP パスの場合、Cloud Run functions は Unix ソケット経由で Cloud SQL Auth Proxy を使用して、暗号化と接続を行います。-
Cloud Shell エディタで、サンプルアプリのソースコードを開きます。
Cloud Shell エディタを開く - [Cloud Shell で開く] ダイアログ ボックスで、[確認] をクリックしてサンプルアプリのコードをダウンロードし、Cloud Shell エディタでサンプルアプリのディレクトリを開きます。
- Cloud Shell コマンド プロンプトにて、Cloud Shell エディタ画面の下半分で次のコマンドを実行してプロジェクトを有効にします。YOUR_PROJECT_ID は、実際のプロジェクト ID に置き換えます。
gcloud config set project
YOUR_PROJECT_ID - [Cloud Shell の承認] ダイアログ ボックスが表示されたら、[承認] をクリックします。
-
Cloud Shell で次の
gcloud artifacts repositories create
コマンドを実行して、Cloud SQL インスタンスと同じリージョン内のquickstart-repo
という名前の Artifact Registry でリポジトリを作成します。YOUR_PROJECT_ID はプロジェクト ID に置き換え、YOUR_REGION_NAME はリージョン名に置き換えます。gcloud artifacts repositories create quickstart-repo \ --project=
YOUR_PROJECT_ID \ --repository-format=docker \ --location=YOUR_REGION_NAME \ --description="Cloud Function Quickstart Cloud SQL sample app" -
Cloud Shell で次のように
gcloud builds submit
コマンドを実行して、Docker コンテナをビルドし、Artifact Registry に公開します。YOUR_PROJECT_ID はプロジェクト ID に置き換え、YOUR_REGION_NAME はリージョン名に置き換えます。gcloud builds submit \ --tag
YOUR_REGION_NAME -docker.pkg.dev/YOUR_PROJECT_ID /quickstart-repo/function-sql . -
Cloud Run functions の
gen2
では、Cloud SQL Auth Proxy を自動的に構成して実行することはサポートされていません。この機能は、Cloud Run を使用することでサポートされます。Cloud SQL Auth Proxy を構成して実行するには、--add-cloudsql-instances
フラグを使用して、基盤となる Cloud Run サービスを手動で変更する必要があります。INSTANCE_CONNECTION_NAME をインスタンスの接続名に置き換えます。gcloud run deploy quickstart-function --source . \ --region
YOUR_REGION_NAME \ --add-cloudsql-instancesINSTANCE_CONNECTION_NAME
-
Cloud Shell エディタで、サンプルアプリのソースコードを開きます。
Cloud Shell エディタを開く - [Cloud Shell で開く] ダイアログ ボックスで、[確認] をクリックしてサンプルアプリのコードをダウンロードし、Cloud Shell エディタでサンプルアプリのディレクトリを開きます。
- Cloud Shell コマンド プロンプトにて、Cloud Shell エディタ画面の下半分で次のコマンドを実行してプロジェクトを有効にします。YOUR_PROJECT_ID は、実際のプロジェクト ID に置き換えます。
gcloud config set project
YOUR_PROJECT_ID - [Cloud Shell の承認] ダイアログ ボックスが表示されたら、[承認] をクリックします。
-
Cloud Shell で次の
gcloud artifacts repositories create
コマンドを実行して、Cloud SQL インスタンスと同じリージョン内のquickstart-repo
という名前の Artifact Registry でリポジトリを作成します。YOUR_PROJECT_ID はプロジェクト ID に置き換え、YOUR_REGION_NAME はリージョン名に置き換えます。gcloud artifacts repositories create quickstart-repo \ --project=
YOUR_PROJECT_ID \ --repository-format=docker \ --location=YOUR_REGION_NAME \ --description="Cloud Function Quickstart Cloud SQL sample app" -
Cloud Shell で次のように
mvn
コマンドを実行して、Docker コンテナをビルドし、Artifact Registry に公開します。YOUR_PROJECT_ID はプロジェクト ID に置き換え、YOUR_REGION_NAME はリージョン名に置き換えます。mvn clean package com.google.cloud.tools:jib-maven-plugin:2.8.0:build \ -Dimage=
YOUR_REGION_NAME -docker.pkg.dev/YOUR_PROJECT_ID /quickstart-repo/function-sql \ -DskipTests -Djib.to.credHelper=gcloud -
Cloud Run functions の
gen2
では、Cloud SQL Auth Proxy を自動的に構成して実行することはサポートされていません。この機能は、Cloud Run を使用することでサポートされます。Cloud SQL Auth Proxy を構成して実行するには、--add-cloudsql-instances
フラグを使用して、基盤となる Cloud Run サービスを手動で変更する必要があります。INSTANCE_CONNECTION_NAME をインスタンスの接続名に置き換えます。gcloud run deploy quickstart-function --source . \ --region
YOUR_REGION_NAME \ --add-cloudsql-instancesINSTANCE_CONNECTION_NAME
-
Cloud Shell エディタで、サンプルアプリのソースコードを開きます。
Cloud Shell エディタを開く - [Cloud Shell で開く] ダイアログ ボックスで、[確認] をクリックしてサンプルアプリのコードをダウンロードし、Cloud Shell エディタでサンプルアプリのディレクトリを開きます。
- Cloud Shell コマンド プロンプトにて、Cloud Shell エディタ画面の下半分で次のコマンドを実行してプロジェクトを有効にします。YOUR_PROJECT_ID は、実際のプロジェクト ID に置き換えます。
gcloud config set project
YOUR_PROJECT_ID - [Cloud Shell の承認] ダイアログ ボックスが表示されたら、[承認] をクリックします。
-
Cloud Shell で次の
gcloud artifacts repositories create
コマンドを実行して、Cloud SQL インスタンスと同じリージョン内のquickstart-repo
という名前の Artifact Registry でリポジトリを作成します。YOUR_PROJECT_ID はプロジェクト ID に置き換え、YOUR_REGION_NAME はリージョン名に置き換えます。gcloud artifacts repositories create quickstart-repo \ --project=
YOUR_PROJECT_ID \ --repository-format=docker \ --location=YOUR_REGION_NAME \ --description="Cloud Function Quickstart Cloud SQL sample app" -
Cloud Shell で次のように
gcloud builds submit
コマンドを実行して、Docker コンテナをビルドし、Artifact Registry に公開します。YOUR_PROJECT_ID はプロジェクト ID に置き換え、YOUR_REGION_NAME はリージョン名に置き換えます。gcloud builds submit \ --tag
YOUR_REGION_NAME -docker.pkg.dev/YOUR_PROJECT_ID /quickstart-repo/function-sql . -
Cloud Run functions の
gen2
では、Cloud SQL Auth Proxy を自動的に構成して実行することはサポートされていません。この機能は、Cloud Run を使用することでサポートされます。Cloud SQL Auth Proxy を構成して実行するには、--add-cloudsql-instances
フラグを使用して、基盤となる Cloud Run サービスを手動で変更する必要があります。INSTANCE_CONNECTION_NAME をインスタンスの接続名に置き換えます。gcloud run deploy quickstart-function --source . \ --region
YOUR_REGION_NAME \ --add-cloudsql-instancesINSTANCE_CONNECTION_NAME
-
Cloud Shell エディタで、サンプルアプリのソースコードを開きます。
Cloud Shell エディタを開く - [Cloud Shell で開く] ダイアログ ボックスで、[確認] をクリックしてサンプルアプリのコードをダウンロードし、Cloud Shell エディタでサンプルアプリのディレクトリを開きます。
- Cloud Shell コマンド プロンプトにて、Cloud Shell エディタ画面の下半分で次のコマンドを実行してプロジェクトを有効にします。YOUR_PROJECT_ID は、実際のプロジェクト ID に置き換えます。
gcloud config set project
YOUR_PROJECT_ID - [Cloud Shell の承認] ダイアログ ボックスが表示されたら、[承認] をクリックします。
-
Cloud Shell で次の
gcloud artifacts repositories create
コマンドを実行して、Cloud SQL インスタンスと同じリージョン内のquickstart-repo
という名前の Artifact Registry でリポジトリを作成します。YOUR_PROJECT_ID はプロジェクト ID に置き換え、YOUR_REGION_NAME はリージョン名に置き換えます。gcloud artifacts repositories create quickstart-repo \ --project=
YOUR_PROJECT_ID \ --repository-format=docker \ --location=YOUR_REGION_NAME \ --description="Cloud Function Quickstart Cloud SQL sample app" -
Cloud Shell で次のように
gcloud builds submit
コマンドを実行して、Docker コンテナをビルドし、Artifact Registry に公開します。YOUR_PROJECT_ID はプロジェクト ID に置き換え、YOUR_REGION_NAME はリージョン名に置き換えます。gcloud builds submit \ --tag
YOUR_REGION_NAME -docker.pkg.dev/YOUR_PROJECT_ID /quickstart-repo/function-sql . -
Cloud Run functions の
gen2
では、Cloud SQL Auth Proxy を自動的に構成して実行することはサポートされていません。この機能は、Cloud Run を使用することでサポートされます。Cloud SQL Auth Proxy を構成して実行するには、--add-cloudsql-instances
フラグを使用して、基盤となる Cloud Run サービスを手動で変更する必要があります。INSTANCE_CONNECTION_NAME をインスタンスの接続名に置き換えます。gcloud run deploy quickstart-function --source . \ --region
YOUR_REGION_NAME \ --add-cloudsql-instancesINSTANCE_CONNECTION_NAME
プライベート IP
プライベート IP パスの場合、アプリケーションはサーバーレス VPC アクセスを介してインスタンスに直接接続します。この方法では、Cloud SQL Auth Proxy を使用せずに TCP ソケットを使用して Cloud SQL インスタンスに直接接続します。SSL サーバーとクライアント証明書を作成してダウンロードする
-
Google Cloud コンソールで Cloud SQL の [インスタンス] ページに移動します。
quickstart-instance
をクリックして、[概要] ページを表示します。- [接続] タブをクリックします。
- [セキュリティ] で [クライアント証明書を作成] をクリックします。
- [クライアント証明書を作成] ダイアログで、名前として「
quickstart-key
」と入力し、[作成] をクリックします。 [新しい SSL 証明書を作成しました] ダイアログで、各ダウンロード リンクをクリックして証明書をダウンロードします。[閉じる] をクリックします。
プライベート IP を使用したインスタンスへの接続用のサーバーレス VPC 接続を作成する
-
Google Cloud コンソールで、[サーバーレス VPC アクセス] - [コネクタの作成] ページに移動します。
- [名前] に「
quickstart-connector
」と入力します。 - [ネットワーク] プルダウン メニューから [デフォルト] を選択します。
- [サブネット] プルダウン メニューから [カスタム IP 範囲] を選択します。
- [IP 範囲] 入力ボックスに「
10.8.0.0
」と入力します。 - [作成] をクリックして、コネクタを作成します。
SSL 証明書を使用してサンプルアプリを構築する
-
Cloud Shell エディタで、サンプルアプリのソースコードを開きます。
Cloud Shell エディタを開く - [Cloud Shell で開く] ダイアログ ボックスで、[確認] をクリックしてサンプルアプリのコードをダウンロードし、Cloud Shell エディタでサンプルアプリのディレクトリを開きます。
- Cloud Shell コマンド プロンプトにて、Cloud Shell エディタ画面の下半分で次のコマンドを実行してプロジェクトを有効にします。YOUR_PROJECT_ID は、実際のプロジェクト ID に置き換えます。
gcloud config set project
YOUR_PROJECT_ID - [Cloud Shell の承認] ダイアログ ボックスが表示されたら、[承認] をクリックします。
-
SSL 証明書ファイルを証明書フォルダにアップロードします。
- Cloud Shell エディタで certs フォルダを右クリックし、[ファイルをアップロード] を選択します。
- ローカルマシンで次のファイルを選択します。
client-key.pem
client-cert.pem
server-ca.pem
- 3 つの SSL 証明書ファイルを選択して [開く] をクリックし、Cloud Shell エディタにファイルをアップロードするプロセスを完了します。
-
Cloud Shell で次の
gcloud artifacts repositories create
コマンドを実行して、Cloud SQL インスタンスと同じリージョン内のquickstart-repo
という名前の Artifact Registry でリポジトリを作成します。YOUR_PROJECT_ID はプロジェクト ID に置き換え、YOUR_REGION_NAME はリージョン名に置き換えます。gcloud artifacts repositories create quickstart-repo \ --project=
YOUR_PROJECT_ID \ --repository-format=docker \ --location=YOUR_REGION_NAME \ --description="Cloud Function Quickstart Cloud SQL sample app" -
Cloud Shell で次のように
gcloud builds submit
コマンドを実行して、Docker コンテナをビルドし、Artifact Registry に公開します。YOUR_PROJECT_ID はプロジェクト ID に置き換え、YOUR_REGION_NAME はリージョン名に置き換えます。gcloud builds submit \ --tag
YOUR_REGION_NAME -docker.pkg.dev/YOUR_PROJECT_ID /quickstart-repo/function-sql . -
Cloud Run functions の
gen2
では、Cloud SQL Auth Proxy を自動的に構成して実行することはサポートされていません。この機能は、Cloud Run を使用することでサポートされます。Cloud SQL Auth Proxy を構成して実行するには、--add-cloudsql-instances
フラグを使用して、基盤となる Cloud Run サービスを手動で変更する必要があります。INSTANCE_CONNECTION_NAME をインスタンスの接続名に置き換えます。gcloud run deploy quickstart-function --source . \ --region
YOUR_REGION_NAME \ --add-cloudsql-instancesINSTANCE_CONNECTION_NAME
SSL サーバーとクライアント証明書を作成してダウンロードする
Java ユーザーの場合、コネクタはすでに安全な接続を提供するため、SSL サーバーとクライアント証明書の作成とダウンロードは不要です。
プライベート IP を使用したインスタンスへの接続用のサーバーレス VPC 接続を作成する
-
Google Cloud コンソールで、[サーバーレス VPC アクセス] - [コネクタの作成] ページに移動します。
- [名前] に「
quickstart-connector
」と入力します。 - [ネットワーク] プルダウン メニューから [デフォルト] を選択します。
- [サブネット] プルダウン メニューから [カスタム IP 範囲] を選択します。
- [IP 範囲] 入力ボックスに「
10.8.0.0
」と入力します。 - [作成] をクリックして、コネクタを作成します。
サンプルアプリを構築する
-
Cloud Shell エディタで、サンプルアプリのソースコードを開きます。
Cloud Shell エディタを開く - [Cloud Shell で開く] ダイアログ ボックスで、[確認] をクリックしてサンプルアプリのコードをダウンロードし、Cloud Shell エディタでサンプルアプリのディレクトリを開きます。
- Cloud Shell コマンド プロンプトにて、Cloud Shell エディタ画面の下半分で次のコマンドを実行してプロジェクトを有効にします。YOUR_PROJECT_ID は、実際のプロジェクト ID に置き換えます。
gcloud config set project
YOUR_PROJECT_ID - [Cloud Shell の承認] ダイアログ ボックスが表示されたら、[承認] をクリックします。
-
Cloud Shell で次の
gcloud artifacts repositories create
コマンドを実行して、Cloud SQL インスタンスと同じリージョン内のquickstart-repo
という名前の Artifact Registry でリポジトリを作成します。YOUR_PROJECT_ID はプロジェクト ID に置き換え、YOUR_REGION_NAME はリージョン名に置き換えます。gcloud artifacts repositories create quickstart-repo \ --project=
YOUR_PROJECT_ID \ --repository-format=docker \ --location=YOUR_REGION_NAME \ --description="Cloud Function Quickstart Cloud SQL sample app" -
Cloud Shell で次のように
mvn
コマンドを実行して、Docker コンテナをビルドし、Artifact Registry に公開します。YOUR_PROJECT_ID はプロジェクト ID に置き換え、YOUR_REGION_NAME はリージョン名に置き換えます。mvn clean package com.google.cloud.tools:jib-maven-plugin:2.8.0:build \ -Dimage=
YOUR_REGION_NAME -docker.pkg.dev/YOUR_PROJECT_ID /quickstart-repo/function-sql \ -DskipTests -Djib.to.credHelper=gcloud -
Cloud Run functions の
gen2
では、Cloud SQL Auth Proxy を自動的に構成して実行することはサポートされていません。この機能は、Cloud Run を使用することでサポートされます。Cloud SQL Auth Proxy を構成して実行するには、--add-cloudsql-instances
フラグを使用して、基盤となる Cloud Run サービスを手動で変更する必要があります。INSTANCE_CONNECTION_NAME をインスタンスの接続名に置き換えます。gcloud run deploy quickstart-function --source . \ --region
YOUR_REGION_NAME \ --add-cloudsql-instancesINSTANCE_CONNECTION_NAME
SSL サーバーとクライアント証明書を作成してダウンロードする
-
Google Cloud コンソールで Cloud SQL の [インスタンス] ページに移動します。
quickstart-instance
をクリックして、[概要] ページを表示します。- [接続] タブをクリックします。
- [セキュリティ] で [クライアント証明書を作成] をクリックします。
- [クライアント証明書を作成] ダイアログで、名前として「
quickstart-key
」と入力し、[作成] をクリックします。 [新しい SSL 証明書を作成しました] ダイアログで、各ダウンロード リンクをクリックして証明書をダウンロードします。[閉じる] をクリックします。
プライベート IP を使用したインスタンスへの接続用のサーバーレス VPC 接続を作成する
-
Google Cloud コンソールで、[サーバーレス VPC アクセス] - [コネクタの作成] ページに移動します。
- [名前] に「
quickstart-connector
」と入力します。 - [ネットワーク] プルダウン メニューから [デフォルト] を選択します。
- [サブネット] プルダウン メニューから [カスタム IP 範囲] を選択します。
- [IP 範囲] 入力ボックスに「
10.8.0.0
」と入力します。 - [作成] をクリックして、コネクタを作成します。
SSL 証明書を使用してサンプルアプリを構築する
-
Cloud Shell エディタで、サンプルアプリのソースコードを開きます。
Cloud Shell エディタを開く - [Cloud Shell で開く] ダイアログ ボックスで、[確認] をクリックしてサンプルアプリのコードをダウンロードし、Cloud Shell エディタでサンプルアプリのディレクトリを開きます。
- Cloud Shell コマンド プロンプトにて、Cloud Shell エディタ画面の下半分で次のコマンドを実行してプロジェクトを有効にします。YOUR_PROJECT_ID は、実際のプロジェクト ID に置き換えます。
gcloud config set project
YOUR_PROJECT_ID -
SSL 証明書ファイルを証明書フォルダにアップロードします。
- Cloud Shell エディタで証明書フォルダを右クリックし、[ファイルをアップロード] を選択します。
- ローカルマシンで次のファイルを選択します。
client-key.pem
client-cert.pem
server-ca.pem
- 3 つの SSL 証明書ファイルを選択して [開く] をクリックし、Cloud Shell エディタにファイルをアップロードするプロセスを完了します。
-
Cloud Shell で次の
gcloud artifacts repositories create
コマンドを実行して、Cloud SQL インスタンスと同じリージョン内のquickstart-repo
という名前の Artifact Registry でリポジトリを作成します。YOUR_PROJECT_ID はプロジェクト ID に置き換え、YOUR_REGION_NAME はリージョン名に置き換えます。gcloud artifacts repositories create quickstart-repo \ --project=
YOUR_PROJECT_ID \ --repository-format=docker \ --location=YOUR_REGION_NAME \ --description="Cloud Function Quickstart Cloud SQL sample app" -
Cloud Shell で次のように
gcloud builds submit
コマンドを実行して、Docker コンテナをビルドし、Artifact Registry に公開します。YOUR_PROJECT_ID はプロジェクト ID に置き換え、YOUR_REGION_NAME はリージョン名に置き換えます。gcloud builds submit \ --tag
YOUR_REGION_NAME -docker.pkg.dev/YOUR_PROJECT_ID /quickstart-repo/function-sql . -
Cloud Run functions の
gen2
では、Cloud SQL Auth Proxy を自動的に構成して実行することはサポートされていません。この機能は、Cloud Run を使用することでサポートされます。Cloud SQL Auth Proxy を構成して実行するには、--add-cloudsql-instances
フラグを使用して、基盤となる Cloud Run サービスを手動で変更する必要があります。INSTANCE_CONNECTION_NAME をインスタンスの接続名に置き換えます。gcloud run deploy quickstart-function --source . \ --region
YOUR_REGION_NAME \ --add-cloudsql-instancesINSTANCE_CONNECTION_NAME
SSL サーバーとクライアント証明書を作成してダウンロードする
-
Google Cloud コンソールで Cloud SQL の [インスタンス] ページに移動します。
quickstart-instance
をクリックして、[概要] ページを表示します。- [接続] タブをクリックします。
- [セキュリティ] で [クライアント証明書を作成] をクリックします。
- [クライアント証明書を作成] ダイアログで、名前として「
quickstart-key
」と入力し、[作成] をクリックします。 [新しい SSL 証明書を作成しました] ダイアログで、各ダウンロード リンクをクリックして証明書をダウンロードします。[閉じる] をクリックします。
プライベート IP を使用したインスタンスへの接続用のサーバーレス VPC 接続を作成する
-
Google Cloud コンソールで、[サーバーレス VPC アクセス] - [コネクタの作成] ページに移動します。
- [名前] に「
quickstart-connector
」と入力します。 - [ネットワーク] プルダウン メニューから [デフォルト] を選択します。
- [サブネット] プルダウン メニューから [カスタム IP 範囲] を選択します。
- [IP 範囲] 入力ボックスに「
10.8.0.0
」と入力します。 - [作成] をクリックして、コネクタを作成します。
SSL 証明書を使用してサンプルアプリを構築する
-
Cloud Shell エディタで、サンプルアプリのソースコードを開きます。
Cloud Shell エディタを開く - [Cloud Shell で開く] ダイアログ ボックスで、[確認] をクリックしてサンプルアプリのコードをダウンロードし、Cloud Shell エディタでサンプルアプリのディレクトリを開きます。
- Cloud Shell コマンド プロンプトにて、Cloud Shell エディタ画面の下半分で次のコマンドを実行してプロジェクトを有効にします。YOUR_PROJECT_ID は、実際のプロジェクト ID に置き換えます。
gcloud config set project
YOUR_PROJECT_ID -
SSL 証明書ファイルを証明書フォルダにアップロードします。
- Cloud Shell エディタで証明書フォルダを右クリックし、[ファイルをアップロード] を選択します。
- ローカルマシンで次のファイルを選択します。
client-key.pem
client-cert.pem
server-ca.pem
- 3 つの SSL 証明書ファイルを選択して [開く] をクリックし、Cloud Shell エディタにファイルをアップロードするプロセスを完了します。
-
Cloud Shell で次の
gcloud artifacts repositories create
コマンドを実行して、Cloud SQL インスタンスと同じリージョン内のquickstart-repo
という名前の Artifact Registry でリポジトリを作成します。YOUR_PROJECT_ID はプロジェクト ID に置き換え、YOUR_REGION_NAME はリージョン名に置き換えます。gcloud artifacts repositories create quickstart-repo \ --project=
YOUR_PROJECT_ID \ --repository-format=docker \ --location=YOUR_REGION_NAME \ --description="Cloud Function Quickstart Cloud SQL sample app" -
Cloud Shell で次のように
gcloud builds submit
コマンドを実行して、Docker コンテナをビルドし、Artifact Registry に公開します。YOUR_PROJECT_ID はプロジェクト ID に置き換え、YOUR_REGION_NAME はリージョン名に置き換えます。gcloud builds submit \ --tag
YOUR_REGION_NAME -docker.pkg.dev/YOUR_PROJECT_ID /quickstart-repo/function-sql . -
Cloud Run functions の
gen2
では、Cloud SQL Auth Proxy を自動的に構成して実行することはサポートされていません。この機能は、Cloud Run を使用することでサポートされます。Cloud SQL Auth Proxy を構成して実行するには、--add-cloudsql-instances
フラグを使用して、基盤となる Cloud Run サービスを手動で変更する必要があります。INSTANCE_CONNECTION_NAME をインスタンスの接続名に置き換えます。gcloud run deploy quickstart-function --source . \ --region
YOUR_REGION_NAME \ --add-cloudsql-instancesINSTANCE_CONNECTION_NAME
サンプルアプリをデプロイする
サンプルを Cloud Run functions にデプロイする手順は、Cloud SQL インスタンスに割り当てられた IP アドレスの種類によって異なります。
パブリック IP
-
Google Cloud コンソールで Cloud Run 関数のページに移動します。
- このクイックスタートの前の手順で作成した
quickstart-function
を選択します。 - [関数の詳細] ページで、[Powered by Cloud Run] ペインのリンクをクリックして、基盤となる Cloud Run functions のサービスにアクセスします。
- [新しいリビジョンを編集してデプロイ] をクリックします。
- [コンテナ イメージの URL] フィールドをクリックして、[選択] をクリックします。
- [Artifact Registry] タブを選択し、
quickstart-repo
ノードを開きます。 function-sql
コンテナを開き、前の手順で作成したコンテナ イメージを選択します。- [選択] をクリックします。
- [環境変数] セクションで [変数を追加] をクリックして、次の環境変数を作成します。
- INSTANCE_UNIX_SOCKET:
/cloudsql/YOUR_PROJECT_ID:YOUR_REGION_NAME:quickstart-instance
に設定します。 - DB_NAME:
quickstart-db
に設定します。 - DB_USER:
quickstart-user
に設定します - DB_PASS: 前のユーザーの作成クイックスタート手順で指定した
quickstart-user
のパスワードに設定します。 -
Cloud SQL への接続を有効にします。
- [Cloud SQL 接続] セクションで、[接続を追加] をクリックします。
- インスタンスの接続名を選択します。
- ページの下部にある [デプロイ] をクリックします。
- quickstart-function がデプロイされると、[Service の詳細] ページに、実行中のサービスの URL が表示されます。[URL] リンクをクリックして、Cloud SQL に接続されているデプロイ済みの Cloud Run functions のサンプルアプリを表示します。このアプリは次のようになります。
gen2
関数を Cloud Run functions にデプロイするには、次のgcloud functions deploy
コマンドを実行します。コマンドを実行する前に、次の変数を更新します。- YOUR_REGION_NAME は、使用するリージョン名に置き換えます。
-
INSTANCE_CONNECTION_NAME は、Google Cloud コンソールの [Cloud SQL インスタンス] ページに表示されるインスタンスの接続名に置き換えます。
-
DB_PASS は、前のユーザーの作成クイックスタートの手順で作成した
quickstart-user
のパスワードに置き換えます。 - Cloud Run functions がデプロイされたことを示す確認メッセージが表示されたら、メッセージの [Service URL] リンクをクリックして、Cloud SQL に接続された Cloud Run functions のサンプルアプリを確認します。
次のように gcloud functions deploy
コマンドを実行して、Cloud Run functions を作成します。
gcloud functions deploy quickstart-function \
--gen2 \ --runtime go120 \ --trigger-http \ --allow-unauthenticated \ --entry-point Votes \ --regionYOUR_REGION_NAME \ --set-env-vars INSTANCE_UNIX_SOCKET=/cloudsql/INSTANCE_CONNECTION_NAME \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars DB_NAME=quickstart-db
gen2
関数を Cloud Run functions にデプロイするには、次のgcloud functions deploy
コマンドを実行します。コマンドを実行する前に、次の変数を更新します。- YOUR_REGION_NAME は、使用するリージョン名に置き換えます。
-
INSTANCE_CONNECTION_NAME は、Google Cloud コンソールの [Cloud SQL インスタンス] ページに表示されるインスタンスの接続名に置き換えます。
-
DB_PASS は、前のユーザーの作成クイックスタートの手順で作成した
quickstart-user
のパスワードに置き換えます。 - Cloud Run functions がデプロイされたことを示す確認メッセージが表示されたら、メッセージの [Service URL] リンクをクリックして、Cloud SQL に接続された Cloud Run functions のサンプルアプリを確認します。
次のように gcloud functions deploy
コマンドを実行して、Cloud Run functions を作成します。
gcloud functions deploy quickstart-function \
--gen2 \ --runtime java11 \ --trigger-http \ --allow-unauthenticated \ --entry-point com.example.cloudsql.functions.Main \ --regionYOUR_REGION_NAME \ --set-env-vars INSTANCE_UNIX_SOCKET=/cloudsql/INSTANCE_CONNECTION_NAME \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars DB_NAME=quickstart-db
gen2
関数を Cloud Run functions にデプロイするには、次のgcloud functions deploy
コマンドを実行します。コマンドを実行する前に、次の変数を更新します。- YOUR_REGION_NAME は、使用するリージョン名に置き換えます。
-
INSTANCE_CONNECTION_NAME は、Google Cloud コンソールの [Cloud SQL インスタンス] ページに表示されるインスタンスの接続名に置き換えます。
-
DB_PASS は、前のユーザーの作成クイックスタートの手順で作成した
quickstart-user
のパスワードに置き換えます。 - Cloud Run functions がデプロイされたことを示す確認メッセージが表示されたら、メッセージの [Service URL] リンクをクリックして、Cloud SQL に接続された Cloud Run functions のサンプルアプリを確認します。
次のように gcloud functions deploy
コマンドを実行して、Cloud Run functions を作成します。
gcloud functions deploy quickstart-function \
--gen2 \ --runtime nodejs18 \ --trigger-http \ --allow-unauthenticated \ --entry-point votes \ --regionYOUR_REGION_NAME \ --set-env-vars INSTANCE_UNIX_SOCKET=/cloudsql/INSTANCE_CONNECTION_NAME \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars DB_NAME=quickstart-db
gen2
関数を Cloud Run functions にデプロイするには、次のgcloud functions deploy
コマンドを実行します。コマンドを実行する前に、次の変数を更新します。- YOUR_REGION_NAME は、使用するリージョン名に置き換えます。
-
INSTANCE_CONNECTION_NAME は、Google Cloud コンソールの [Cloud SQL インスタンス] ページに表示されるインスタンスの接続名に置き換えます。
-
DB_PASS は、前のユーザーの作成クイックスタートの手順で作成した
quickstart-user
のパスワードに置き換えます。 - Cloud Run functions がデプロイされたことを示す確認メッセージが表示されたら、メッセージの [Service URL] リンクをクリックして、Cloud SQL に接続された Cloud Run functions のサンプルアプリを確認します。
次のように gcloud functions deploy
コマンドを実行して、Cloud Run functions を作成します。
gcloud functions deploy quickstart-function \
--gen2 \ --runtime python310 \ --trigger-http \ --allow-unauthenticated \ --entry-point votes \ --regionYOUR_REGION_NAME \ --set-env-vars INSTANCE_UNIX_SOCKET=/cloudsql/INSTANCE_CONNECTION_NAME \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars DB_NAME=quickstart-db
プライベート IP
-
Google Cloud コンソールで Cloud Run 関数のページに移動します。
- このクイックスタートの前の手順で作成した
quickstart-function
を選択します。 - [関数の詳細] ページで、[Powered by Cloud Run] ペインのリンクをクリックして、基盤となる Cloud Run functions のサービスにアクセスします。
- [新しいリビジョンを編集してデプロイ] をクリックします。
- [コンテナ イメージの URL] フィールドをクリックして、[選択] をクリックします。
- [Artifact Registry] タブを選択し、
quickstart-repo
ノードを開きます。 function-sql
コンテナを開き、前の手順で作成したコンテナ イメージを選択します。- [選択] をクリックします。
- [環境変数] セクションで [変数を追加] をクリックして、次の環境変数を作成します。
DB_NAME
:quickstart-db
に設定します。DB_USER
:quickstart-user
に設定します。DB_PASS
: 前のユーザーの作成クイックスタートの手順で指定したquickstart-user
のパスワードに設定します。INSTANCE_CONNECTION_NAME
: Google Cloud コンソールの [Cloud SQL インスタンス] ページに表示されるインスタンスの接続名に置き換えます。DB_PORT
:3306
に設定します。INSTANCE_HOST
: Google Cloud コンソールの [Cloud SQL インスタンス] ページに表示されるインスタンスのプライベート IP アドレスを設定します。DB_ROOT_CERT
:certs/server-ca.pem
に設定します。DB_CERT
:certs/client-cert.pem
に設定します。DB_KEY
:certs/client-key.pem
に設定します。PRIVATE_IP
:TRUE
に設定します。-
Cloud SQL への接続を有効にします。
- [Cloud SQL 接続] セクションで、[接続を追加] をクリックします。
- インスタンスの接続名を選択します。
- [VPC ネットワーク] プルダウン メニューから
default: Serverless VPC Access Connector "quickstart-connector"
を選択します。 - [すべてのトラフィックを VPC コネクタ経由でルーティングする] オプションを選択します。
- ページの下部にある [デプロイ] をクリックします。
- quickstart-function がデプロイされると、[Service の詳細] ページに、実行中のサービスの URL が表示されます。[URL] リンクをクリックして、Cloud SQL に接続されているデプロイ済みの Cloud Run functions のサンプルアプリを表示します。このアプリは次のようになります。
gen2
関数を Cloud Run functions にデプロイするには、次のgcloud functions deploy
コマンドを実行します。コマンドを実行する前に、次の変数を更新します。- YOUR_REGION_NAME は、使用するリージョン名に置き換えます。
- PRIVATE_IP_ADDRESS は、Google Cloud コンソールの [Cloud SQL インスタンス] ページに表示されるインスタンスのプライベート IP アドレスに置き換えます。
- DB_PASS は、前のユーザーの作成クイックスタートの手順で作成した
quickstart-user
のパスワードに置き換えます。 -
INSTANCE_CONNECTION_NAME は、Google Cloud コンソールの [Cloud SQL インスタンス] ページに表示されるインスタンスの接続名に置き換えます。
- Cloud Run functions がデプロイされたことを示す確認メッセージが表示されたら、メッセージの [Service URL] リンクをクリックして、Cloud SQL に接続された Cloud Run functions のサンプルアプリを確認します。
次のように gcloud functions deploy
コマンドを実行して、Cloud Run functions を作成します。
gcloud functions deploy quickstart-function \ --gen2 \ --runtime go120 \ --trigger-http \ --allow-unauthenticated \ --entry-point Votes \ --regionYOUR_REGION_NAME \ --vpc-connector=quickstart-connector \ --vpc-egress=all-traffic \ --set-env-vars INSTANCE_HOST=PRIVATE_IP_ADDRESS \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars DB_NAME=quickstart-db \ --set-env-vars DB_PORT=3306 \ --set-env-vars DB_ROOT_CERT=certs/server-ca.pem \ --set-env-vars DB_CERT=certs/client-cert.pem \ --set-env-vars DB_KEY=certs/client-key.pem \ --set-env-vars PRIVATE_IP=TRUE
Java コネクタによってすでに安全な接続が提供されているので、Java ユーザーは、次のように INSTANCE_HOST
、DB_PORT
、DB_ROOT_CERT
、DB_CERT
、DB_KEY
、PRIVATE_IP
のフラグを指定せずに gcloud functions deploy
コマンドを実行して、Cloud Run functions を作成する必要があります。
gcloud functions deploy quickstart-function \ --gen2 \ --runtime go120 \ --trigger-http \ --allow-unauthenticated \ --entry-point Votes \ --regionYOUR_REGION_NAME \ --vpc-connector=quickstart-connector \ --vpc-egress=all-traffic \ --set-env-vars DB_NAME=quickstart-db \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars INSTANCE_CONNECTION_NAME=INSTANCE_CONNECTION_NAME \ --set-env-vars PRIVATE_IP=TRUE
gen2
関数を Cloud Run functions にデプロイするには、次のgcloud functions deploy
コマンドを実行します。コマンドを実行する前に、次の変数を更新します。- YOUR_REGION_NAME は、使用するリージョン名に置き換えます。
- PRIVATE_IP_ADDRESS は、Google Cloud コンソールの [Cloud SQL インスタンス] ページに表示されるインスタンスのプライベート IP アドレスに置き換えます。
- DB_PASS は、前のユーザーの作成クイックスタートの手順で作成した
quickstart-user
のパスワードに置き換えます。 -
INSTANCE_CONNECTION_NAME は、Google Cloud コンソールの [Cloud SQL インスタンス] ページに表示されるインスタンスの接続名に置き換えます。
- Cloud Run functions がデプロイされたことを示す確認メッセージが表示されたら、メッセージの [Service URL] リンクをクリックして、Cloud SQL に接続された Cloud Run functions のサンプルアプリを確認します。
次のように gcloud functions deploy
コマンドを実行して、Cloud Run functions を作成します。
gcloud functions deploy quickstart-function \ --gen2 \ --runtime java11 \ --trigger-http \ --allow-unauthenticated \ --entry-point com.example.cloudsql.functions.Main \ --regionYOUR_REGION_NAME \ --vpc-connector=quickstart-connector \ --vpc-egress=all-traffic \ --set-env-vars INSTANCE_HOST=PRIVATE_IP_ADDRESS \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars DB_NAME=quickstart-db \ --set-env-vars DB_PORT=3306 \ --set-env-vars DB_ROOT_CERT=certs/server-ca.pem \ --set-env-vars DB_CERT=certs/client-cert.pem \ --set-env-vars DB_KEY=certs/client-key.pem \ --set-env-vars PRIVATE_IP=TRUE
Java コネクタによってすでに安全な接続が提供されているので、Java ユーザーは、次のように INSTANCE_HOST
、DB_PORT
、DB_ROOT_CERT
、DB_CERT
、DB_KEY
、PRIVATE_IP
のフラグを指定せずに gcloud functions deploy
コマンドを実行して、Cloud Run functions を作成する必要があります。
gcloud functions deploy quickstart-function \ --gen2 \ --runtime java11 \ --trigger-http \ --allow-unauthenticated \ --entry-point com.example.cloudsql.functions.Main \ --regionYOUR_REGION_NAME \ --vpc-connector=quickstart-connector \ --vpc-egress=all-traffic \ --set-env-vars DB_NAME=quickstart-db \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars INSTANCE_CONNECTION_NAME=INSTANCE_CONNECTION_NAME \ --set-env-vars PRIVATE_IP=TRUE
gen2
関数を Cloud Run functions にデプロイするには、次のgcloud functions deploy
コマンドを実行します。コマンドを実行する前に、次の変数を更新します。- YOUR_REGION_NAME は、使用するリージョン名に置き換えます。
- PRIVATE_IP_ADDRESS は、Google Cloud コンソールの [Cloud SQL インスタンス] ページに表示されるインスタンスのプライベート IP アドレスに置き換えます。
- DB_PASS は、前のユーザーの作成クイックスタートの手順で作成した
quickstart-user
のパスワードに置き換えます。 -
INSTANCE_CONNECTION_NAME は、Google Cloud コンソールの [Cloud SQL インスタンス] ページに表示されるインスタンスの接続名に置き換えます。
- Cloud Run functions がデプロイされたことを示す確認メッセージが表示されたら、メッセージの [Service URL] リンクをクリックして、Cloud SQL に接続された Cloud Run functions のサンプルアプリを確認します。
次のように gcloud functions deploy
コマンドを実行して、Cloud Run functions を作成します。
gcloud functions deploy quickstart-function \ --gen2 \ --runtime nodejs18 \ --trigger-http \ --allow-unauthenticated \ --entry-point votes \ --regionYOUR_REGION_NAME \ --vpc-connector=quickstart-connector \ --vpc-egress=all-traffic \ --set-env-vars INSTANCE_HOST=PRIVATE_IP_ADDRESS \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars DB_NAME=quickstart-db \ --set-env-vars DB_PORT=3306 \ --set-env-vars DB_ROOT_CERT=certs/server-ca.pem \ --set-env-vars DB_CERT=certs/client-cert.pem \ --set-env-vars DB_KEY=certs/client-key.pem \ --set-env-vars PRIVATE_IP=TRUE
Java コネクタによってすでに安全な接続が提供されているので、Java ユーザーは、次のように INSTANCE_HOST
、DB_PORT
、DB_ROOT_CERT
、DB_CERT
、DB_KEY
、PRIVATE_IP
のフラグを指定せずに gcloud functions deploy
コマンドを実行して、Cloud Run functions を作成する必要があります。
gcloud functions deploy quickstart-function \ --gen2 \ --runtime nodejs18 \ --trigger-http \ --allow-unauthenticated \ --entry-point votes \ --regionYOUR_REGION_NAME \ --vpc-connector=quickstart-connector \ --vpc-egress=all-traffic \ --set-env-vars DB_NAME=quickstart-db \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars INSTANCE_CONNECTION_NAME=INSTANCE_CONNECTION_NAME \ --set-env-vars PRIVATE_IP=TRUE
gen2
関数を Cloud Run functions にデプロイするには、次のgcloud functions deploy
コマンドを実行します。コマンドを実行する前に、次の変数を更新します。- YOUR_REGION_NAME は、使用するリージョン名に置き換えます。
- PRIVATE_IP_ADDRESS は、Google Cloud コンソールの [Cloud SQL インスタンス] ページに表示されるインスタンスのプライベート IP アドレスに置き換えます。
- DB_PASS は、前のユーザーの作成クイックスタートの手順で作成した
quickstart-user
のパスワードに置き換えます。 -
INSTANCE_CONNECTION_NAME は、Google Cloud コンソールの [Cloud SQL インスタンス] ページに表示されるインスタンスの接続名に置き換えます。
- Cloud Run functions がデプロイされたことを示す確認メッセージが表示されたら、メッセージの [Service URL] リンクをクリックして、Cloud SQL に接続された Cloud Run functions のサンプルアプリを確認します。
次のように gcloud functions deploy
コマンドを実行して、Cloud Run functions を作成します。
gcloud functions deploy quickstart-function \ --gen2 \ --runtime python310 \ --trigger-http \ --allow-unauthenticated \ --entry-point votes \ --regionYOUR_REGION_NAME \ --vpc-connector=quickstart-connector \ --vpc-egress=all-traffic \ --set-env-vars INSTANCE_HOST=PRIVATE_IP_ADDRESS \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars DB_NAME=quickstart-db \ --set-env-vars DB_PORT=3306 \ --set-env-vars DB_ROOT_CERT=certs/server-ca.pem \ --set-env-vars DB_CERT=certs/client-cert.pem \ --set-env-vars DB_KEY=certs/client-key.pem \ --set-env-vars PRIVATE_IP=TRUE
Java コネクタによってすでに安全な接続が提供されているので、Java ユーザーは、次のように INSTANCE_HOST
、DB_PORT
、DB_ROOT_CERT
、DB_CERT
、DB_KEY
、PRIVATE_IP
のフラグを指定せずに gcloud functions deploy
コマンドを実行して、Cloud Run functions を作成する必要があります。
gcloud functions deploy quickstart-function \ --gen2 \ --runtime python310 \ --trigger-http \ --allow-unauthenticated \ --entry-point votes \ --regionYOUR_REGION_NAME \ --vpc-connector=quickstart-connector \ --vpc-egress=all-traffic \ --set-env-vars DB_NAME=quickstart-db \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars INSTANCE_CONNECTION_NAME=INSTANCE_CONNECTION_NAME \ --set-env-vars PRIVATE_IP=TRUE
クリーンアップ
このページで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、次の操作を行います。
-
Google Cloud コンソールで Cloud SQL の [インスタンス] ページに移動します。
quickstart-instance
インスタンスを選択して [インスタンスの詳細] ページを開きます。- ページ上部にあるアイコンバーで、[削除] をクリックします。
- [インスタンスの削除] ダイアログ ボックスで「
quickstart-instance
」と入力し、[削除] をクリックしてインスタンスを削除します。 -
Google Cloud コンソールで Cloud Run 関数のページに移動します。
quickstart-function
サービス名の横にあるチェックボックスをオンにします。- Cloud Run functions のページ上部にある [削除] をクリックします。
省略可能なクリーンアップ手順
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 インスタンスへの接続についても確認できます。