Compute Engine から Cloud SQL for MySQL に接続する

Google Cloud コンソールとクライアント アプリケーションを使用して、MySQL インスタンスに接続している Linux または Windows ベースの Compute Engine VM インスタンスにサンプルアプリをデプロイする方法を学習します。

すべてのステップを適切なタイミングで完了した場合、通常、このクイックスタートで作成されるリソースにかかる費用は 1 ドル(USD)未満です。

始める前に

  1. 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.
  2. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタに移動

  3. Google Cloud プロジェクトで課金が有効になっていることを確認します

  4. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタに移動

  5. Google Cloud プロジェクトで課金が有効になっていることを確認します

  6. Compute Engine VM インスタンスで Cloud SQL サンプルアプリを実行するために必要な Cloud APIs を有効にします。

    コンソール

    [API を有効にする] ボタンをクリックして、このクイックスタートで必要な API を有効にします。

    API を有効にする

    これにより、次の API が有効になります。

    • Cloud SQL Admin API

    gcloud

    gcloud CLIインストールします。これにより、コマンドラインから Google Cloud リソースにアクセスできます。gcloud CLI を使用して、このクイックスタートで紹介する gcloud CLI コマンドを実行します。すべてのコマンドは、ターミナルまたは Powershell ウィンドウで実行するようにフォーマットされています。

    次の gcloud コマンドを実行します。

    gcloud services enable sqladmin.googleapis.com

    このコマンドにより、次の API が有効になります。

    • Cloud SQL Admin API

Cloud SQL の設定

Cloud SQL インスタンスを作成する

データベースの作成

コンソール

  1. Google Cloud コンソールで Cloud SQL の [インスタンス] ページに移動します。

    Cloud SQL の [インスタンス] に移動

  2. [quickstart-instance] を選択します。
  3. [データベース] タブを開きます。
  4. [データベースを作成] をクリックします。
    1. [データベースの作成] ダイアログ ボックスで、データベースの名前として「quickstart_db」と入力します。文字セットと照合順を指定することもできます。
    2. [作成] をクリックします。

gcloud

gcloud sql databases create コマンドを実行してデータベースを作成します。

gcloud sql databases create quickstart_db --instance=quickstart-instance

ユーザーを作成する

コンソール

  1. Google Cloud コンソールで Cloud SQL の [インスタンス] ページに移動します。

    Cloud SQL の [インスタンス] に移動

  2. インスタンスの [概要] ページを開くには、インスタンス名をクリックします。
  3. SQL ナビゲーション メニューから [ユーザー] を選択します。
  4. [ユーザー アカウントを追加] をクリックします。
    • [ユーザー アカウントをインスタンス instance_name に追加] ページで、次の情報を追加します。
      • ユーザー名: quickstart-user に設定します。
      • パスワード: データベース ユーザーのパスワードを指定します。このクイックスタートの後半で使用するので、メモしておいてください。
      • [ホスト名] セクションのデフォルト値は [すべてのホストを許可] です。つまり、ユーザーは任意の IP アドレスから接続できます。

        必要に応じて、[IP アドレスまたはアドレス範囲でホストを制限する] を選択し、[ホスト] セクションに IP アドレスまたはアドレス範囲を入力します。これで、ユーザーは指定した IP アドレスからのみ接続できます。

  5. [追加] をクリックします。

gcloud

次のコマンドを実行する前に、次のように置き換えます。

  1. PASSWORD はデータベース ユーザーのパスワードに置き換えます。このクイックスタートの後半で使用するので、メモしておいてください。

gcloud sql users create コマンドを実行してリソースを作成します。

gcloud sql users create quickstart-user --instance=quickstart-instance --password=PASSWORD

Cloud SQL のユーザー名の長さの上限は、オンプレミス MySQL と同じで、MySQL 8.0 では 32 文字、それ以前のバージョンでは 16 文字です。

Compute Engine サービス アカウントを構成する

Cloud SQL に接続できる Cloud SQL クライアントのロールを持つ Google Cloud サービス アカウントを作成して構成します。サービス アカウントの作成後、サービス アカウントが使用できるようになるまでに 60 秒以上かかる場合があります。

コンソール

サービス アカウントを作成する

  1. Google Cloud コンソールで [サービス アカウントの作成] ページに移動します。
  2. [サービス アカウントの作成] に移動

  3. Google Cloud プロジェクトを選択します。
  4. サービス アカウント名として「quickstart-service-account」と入力します。
  5. (省略可)サービス アカウントの説明を入力します。
  6. [作成して続行] をクリックして、次の手順に進みます。
  7. プロジェクトのサービス アカウントに付与する Cloud SQL クライアントのロールを選択します。
  8. [別のロールを追加] をクリックして、プロジェクトのサービス アカウントに付与するストレージ オブジェクト閲覧者のロールを選択します。
  9. [続行] をクリックします。
  10. [完了] をクリックして、サービス アカウントの作成を完了します。

gcloud

サービス アカウントを作成する

  1. サービス アカウントを作成するには、gcloud iam service-accounts create コマンドを実行します。
  2. gcloud iam service-accounts create quickstart-service-account --description="DESCRIPTION" --display-name="quickstart-service-account"

    次の値を置き換えます。

    • DESCRIPTION: サービスの説明(省略可)
  3. サービス アカウントにプロジェクトの 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" --role="roles/storage.objectViewer"

Compute Engine VM インスタンスを作成する

Cloud SQL に接続するサンプル ウェブアプリをホストする Compute Engine VM インスタンスを作成します。

Compute Engine VM インスタンスにアクセスする

プログラミング言語の開発環境の設定

任意のプログラミング言語の Compute Engine VM インスタンスの開発環境をセットアップします。

Git をインストールする

オープンソースのバージョン管理システムである Git を Compute Engine VM インスタンスにインストールします。

サンプルアプリのクローンを作成する

git clone コマンドを使用して、Compute Engine VM インスタンスにサンプルアプリのクローンを作成します。

Go

Compute Engine VM インスタンスで、新しいターミナルか Powershell ウィンドウを開きます。次のコマンドを実行して Go サンプルアプリのクローンを作成し、サンプルアプリを含むディレクトリに移動します。

  1. サンプルアプリのクローンを作成します。
    git clone https://github.com/GoogleCloudPlatform/golang-samples
  2. サンプルアプリを含むディレクトリに移動します。
    cd golang-samples/cloudsql/mysql/database-sql

Java

Compute Engine VM インスタンスで、新しいターミナルか Powershell ウィンドウを開きます。次のコマンドを実行して Java サンプルアプリのクローンを作成し、サンプルアプリを含むディレクトリに移動します。

  1. サンプルアプリのクローンを作成します。
    git clone https://github.com/GoogleCloudPlatform/java-docs-samples
  2. サンプルアプリを含むディレクトリに移動します。
    cd java-docs-samples/cloud-sql/mysql/servlet

Node.js

Compute Engine VM インスタンスで、新しいターミナルか Powershell ウィンドウを開きます。次のコマンドを実行して Node.js サンプルアプリのクローンを作成し、サンプルアプリを含むディレクトリに移動します。

  1. サンプルアプリのクローンを作成します。
    git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples
  2. サンプルアプリを含むディレクトリに移動します。
    cd nodejs-docs-samples/cloud-sql/mysql/mysql

Python

Compute Engine VM インスタンスで、新しいターミナルか Powershell ウィンドウを開きます。次のコマンドを実行して Python サンプルアプリのクローンを作成し、サンプルアプリを含むディレクトリに移動します。

  1. サンプルアプリのクローンを作成します。
    git clone https://github.com/GoogleCloudPlatform/python-docs-samples
  2. サンプルアプリを含むディレクトリに移動します。
    cd python-docs-samples/cloud-sql/mysql/sqlalchemy

Cloud SQL サンプルアプリを構成して実行する

クライアント権限を持つ Cloud SQL インスタンス、データベース、サービス アカウントを使用して、Compute Engine VM インスタンスで実行するサンプル アプリケーションを構成し、Cloud SQL インスタンスに接続できるようになりました。

クリーンアップ

このページで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、次の操作を行います。

Cloud SQL インスタンスを削除する

  1. Google Cloud コンソールで Cloud SQL の [インスタンス] ページに移動します。

    Cloud SQL の [インスタンス] に移動

  2. quickstart-instance インスタンスを選択して [インスタンスの詳細] ページを開きます。
  3. ページ上部にあるアイコンバーで、[削除] をクリックします。
  4. [インスタンスの削除] ダイアログ ボックスで「quickstart-instance」と入力し、[削除] をクリックしてインスタンスを削除します。

Compute Engine VM インスタンスを削除する

  1. Google Cloud コンソールで、[VM インスタンス] ページに移動します。

    [VM インスタンス] に移動

  2. quickstart-vm-instance インスタンスを選択して [インスタンスの詳細] ページを開きます。
  3. ページ上部にあるアイコンバーで、[削除] をクリックします。
  4. [削除] をクリックしてインスタンスを削除します。

省略可能なクリーンアップ手順

Compute Engine default サービス アカウントに割り当てた Cloud SQL クライアントのロールを使用しない場合は、削除できます。

  1. Google Cloud コンソールの [IAM] ページに移動します。

    [IAM] に移動

  2. Compute Engine のデフォルトのサービス アカウントという名前の IAM アカウントの編集アイコン(鉛筆の形)をクリックします。
  3. Cloud SQL クライアントのロールを削除します。
  4. [保存] をクリックします。

このクイックスタートで有効にした API を使用しない場合は、無効にすることができます。

  • このクイックスタートで有効にした API:
    • Cloud SQL Admin API
  1. Google Cloud Console の [API] ページに移動します。

    [API] に移動

  2. 無効にする API を選択し、[API を無効にする] ボタンをクリックします。

次のステップ

必要に応じて、Cloud SQL インスタンスの作成で詳細をご確認ください。

Cloud SQL インスタンスの MySQL ユーザーデータベースの作成についても学習できます。

料金の詳細については、Cloud SQL for MySQL の料金をご覧ください。

以下の詳細を確認してください。

また、他の Google Cloud アプリケーションから Cloud SQL インスタンスへの接続についても確認できます。