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. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

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

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

    API を有効にする

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

    • Cloud SQL Admin API

    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 インスタンスを作成する

パブリック IP

コンソールgcloud

パブリック IP アドレスを持つインスタンスを作成する

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

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

  2. [インスタンスを作成] をクリックします。
  3. [MySQL] をクリックします。
  4. [インスタンス ID] フィールドに「quickstart-instance」と入力します。
  5. [パスワード] フィールドに、root ユーザーのパスワードを入力します。このパスワードは後で使用できるように保存してください。
  6. [リージョンとゾーンの可用性の選択] セクションで、[シングルゾーン] を選択します。
  7. [構成オプションを表示] セクションを開きます。
  8. [マシンタイプ] プルダウン リストで [カスタム] を選択します。
  9. [インスタンスを作成] をクリックし、インスタンスが初期化されて起動するまで待ちます。

パブリック IP アドレスを持つインスタンスを作成する

gcloud sql instances create コマンドを実行する前に、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 create quickstart-instance --database-version=MYSQL_8_0 --cpu=1 --memory=4GB --region=us-central1 --root-password=DB_ROOT_PASSWORD

コンソールgcloud

IP アドレス範囲を割り振り、プライベート接続を作成して Cloud SQL の限定公開サービス アクセスを構成する

  1. Google Cloud コンソールの [VPC ネットワーク] ページに移動します。

    [VPC ネットワーク] に移動

  2. default VPC ネットワークを選択します。
  3. [プライベート サービス接続] タブを選択します。
  4. [サービスに割り当てられた IP 範囲] を選択します。
  5. [IP 範囲の割り当て] をクリックします。
  6. 割り振られた範囲の [名前] には google-managed-services-default を指定します。
  7. IP 範囲の [自動] オプションを選択し、接頭辞の長さを 16 として指定します。
  8. [割り当て] をクリックして、割り振る範囲を作成します。
  9. default VPC ネットワークの [サービスへのプライベート接続] タブを選択します。
  10. ネットワークとサービス プロデューサーとの間にプライベート接続を作成するには、[接続の作成] をクリックします。
  11. [割り当て] で [google-managed-services-default] を選択します。
  12. [接続] をクリックして接続を作成します。

プライベート IP アドレスと SSL を有効にしてインスタンスを作成する

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

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

  2. [インスタンスを作成] をクリックします。
  3. [MySQL] をクリックします。
  4. [インスタンス ID] に「quickstart-instance」と入力します。
  5. root ユーザーのパスワードを入力してこのパスワードはこの後で使用できるように保存してください。
  6. [リージョンとゾーンの可用性の選択] で [シングルゾーン] オプションをクリックします。
  7. [構成オプションを表示] をクリックして開きます。
  8. [マシンタイプ] で [軽量] を選択します。
  9. [接続] で、[プライベート IP] を選択します。
  10. [ネットワーク] プルダウン メニューから [デフォルト] を選択します。
  11. プライベート IP のみを使用するインスタンスを作成するには、[パブリック IP] チェックボックスをオフにします。
  12. [インスタンスを作成] をクリックし、インスタンスが初期化されて起動するまで待ちます。
  13. [接続] をクリックします。
  14. [セキュリティ] で [SSL 接続のみ許可] を選択し、SSL 接続を有効にします。
  15. [Enable SSL] ダイアログで、[有効にして再起動] をクリックし、インスタンスが再起動するのを待ちます。

IP アドレス範囲を割り振り、プライベート接続を作成して Cloud SQL の限定公開サービス アクセスを構成する

  1. 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
  2. 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 を有効にしてインスタンスを作成する

  1. 次のコマンドを実行する前に、DB_ROOT_PASSWORD をデータベース ユーザーのパスワードに置き換えます。

  2. 必要に応じて、次のパラメータの値を変更します。

    • --database_version: データベース エンジンのタイプとバージョン。指定しない場合は、API のデフォルトが使用されます。現在利用可能なバージョンを確認するには、gcloud database versions ドキュメントをご覧ください。
    • --cpu: マシン内のコア数。
    • --memory: マシンに搭載するメモリ量を示す整数。サイズの単位を指定できます(例: 3,072 MB、9 GB)。単位を指定しない場合、GB が使用されます。
    • --region: インスタンスのリージョンのロケーション(例: asia-east1、us-east1)。指定しない場合は、デフォルトで us-central1 が使用されます。リージョンの一覧をご覧ください。

    gcloud sql instances create コマンドを実行して、プライベート IP アドレスを持つ Cloud SQL インスタンスを作成します。

    gcloud beta sql instances create quickstart-instance --database-version=MYSQL_8_0 --cpu=1 --memory=4GB --region=us-central1 --root-password=DB_ROOT_PASSWORD --no-assign-ip --network=default
  3. gcloud sql instances patch コマンドを実行して、インスタンスで SSL 接続のみ許可します。

  4. gcloud sql instances patch quickstart-instance --require-ssl

データベースの作成

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

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

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

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

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

ユーザーを作成する

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

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

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

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

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

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

  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 秒以上かかる場合があります。
コンソールgcloud

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

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

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

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

  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 インスタンスを作成します。

Linux VM インスタンスを作成する

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

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

  2. [インスタンスを作成] ボタンをクリックします。
  3. VM インスタンス名として [名前] に「quickstart-vm-instance」と入力します。
  4. [サービス アカウント] で quickstart-service-account を選択します。
  5. [ファイアウォール] で、[HTTP トラフィックを許可する] オプションを選択します。
  6. [作成] をクリックして VM インスタンスを作成します。

次のコマンドを実行する前に、YOUR_PROJECT_ID をプロジェクト ID に置き換えます。

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

gcloud compute instances create quickstart-vm-instance --image-family=debian-10 --image-project=debian-cloud  --machine-type=e2-medium --service-account=quickstart-service-account@YOUR_PROJECT_ID.iam.gserviceaccount.com --scopes=https://www.googleapis.com/auth/cloud-platform --tags=http-server --zone=us-central1-a
コンソールgcloud
  1. Google Cloud コンソールで、[VM インスタンス] ページに移動します。

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

  2. [インスタンスを作成] ボタンをクリックします。
  3. VM インスタンス名として [名前] に「quickstart-vm-instance」と入力します。
  4. [ブートディスク] で [変更] ボタンをクリックします。
    1. [OS] で [Windows Server] を選択します。
    2. [バージョン] で [Windows Server 2022 Datacenter] を選択します。
    3. [選択] ボタンをクリックします。
  5. [サービス アカウント] で quickstart-service-account を選択します。
  6. [ファイアウォール] で、[HTTP トラフィックを許可する] オプションを選択します。
  7. [作成] をクリックして VM インスタンスを作成します。
  8. 2~3 分後に VM インスタンスが起動したら、VM インスタンスの詳細ページで [Windows パスワードを設定] ボタンをクリックします。
  9. このクイックスタートの次のステップで VM インスタンスにアクセスする際に使用するため、このパスワードを安全な場所にコピーして保存します。

次のコマンドを実行する前に、YOUR_PROJECT_ID をプロジェクト ID に置き換えます。

ターミナル ウィンドウで、次の gcloud compute instances create コマンドを実行します。

gcloud compute instances create quickstart-vm-instance --image-project=windows-cloud --image-family=windows-2022 --machine-type=e2-medium --service-account=quickstart-service-account@YOUR_PROJECT_ID.iam.gserviceaccount.com --scopes=https://www.googleapis.com/auth/cloud-platform --tags=http-server --zone=us-central1-a

2~3 分後に VM インスタンスが起動したら、次のコマンドを実行して VM インスタンスに Windows パスワードを設定します。

gcloud compute reset-windows-password quickstart-vm-instance

このクイックスタートの次のステップで VM インスタンスにアクセスする際に使用するため、このパスワードを安全な場所にコピーして保存します。

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

Linux VM インスタンスにアクセスする

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

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

  • 仮想マシン インスタンスのリストで、接続するインスタンスの行にある [SSH] をクリックします。

    インスタンス名の横にある SSH ボタン。

  • 注: Google Cloud コンソールから VM に接続すると、Compute Engine によって一時的な SSH 認証鍵が自動的に作成されます。SSH 認証鍵の詳細については、Linux VM への SSH 接続をご覧ください。

    gcloud compute ssh コマンドを使用して、Linux VM インスタンスに接続します。YOUR_PROJECT_ID は、実際のプロジェクト ID で置き換えます。

    gcloud compute ssh --project=YOUR_PROJECT_ID --zone=us-central1-a quickstart-vm-instance

    Chrome RDP for Google Cloud はサードパーティ製のプラグインで、Chrome ブラウザから Windows インスタンスに接続できます。このプラグインは Google Cloud コンソールと統合されています。プラグインをインストールしたら、Google Cloud コンソールで [RDP] ボタンを使用して Windows Server インスタンスに接続します。

    Chrome RDP プラグインを使用して接続するには、次の操作を行います。

    1. Google Cloud 拡張機能用の Chrome RDP をインストールします。
    2. Google Cloud コンソールで [VM インスタンス] ページに移動し、接続する Windows インスタンスを見つけます。
    3. [VM インスタンス] ページに移動

    4. 接続したいインスタンスの [RDP] ボタンをクリックします。Chrome RDP 拡張機能が開きます。
    5. VM インスタンスにはドメインが構成されていないため、[ドメイン] フィールドは空白のままでかまいません。
    6. ユーザー名とパスワードを入力し、[OK] をクリックして接続します。
    7. プロンプトが表示されたら、[続行] を押して証明書を受け入れます。

    Compute Engine Windows VM インスタンスにアクセスするための他のオプションについては、RDP を使用して Windows VM に接続するをご覧ください。

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

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

    Linux VM インスタンスの開発環境を設定する

    GoJavaNode.jsPython

    Go サンプルアプリを実行するように Compute Engine VM インスタンスの開発環境を設定するには、次の手順を行います。

    1. Go 開発環境の設定ガイドに移動します。
    2. Go のインストール セクションの手順を完了します。

    Java サンプルアプリを実行するように Compute Engine VM インスタンスの開発環境を設定するには、次の手順を行います。

    1. Java 開発環境の設定ガイドに移動します。
    2. JDK(Java Development Kit)をインストールするセクションの手順を完了します。
    3. ビルド自動化ツールをインストールするの手順を完了して、Apache Maven を設定します。

    Node.js サンプルアプリを実行するように Compute Engine VM インスタンスの開発環境を設定するには、次の手順を行います。

    1. Node.js 開発環境の設定ガイドに移動します。
    2. Node.js と npm のインストールの手順を完了します。

    Python サンプルアプリを実行するように Compute Engine VM インスタンスの開発環境を設定するには、次の操作を行います。

    1. Python 開発環境の設定ガイドに移動します。
    2. Python のインストールの手順を完了します。
    GoJavaNode.jsPython

    Go サンプルアプリを実行するように Compute Engine VM インスタンスの開発環境を設定するには、次の手順を行います。

    1. Go 開発環境の設定ガイドに移動します。
    2. Go のインストール セクションの手順を完了します。

    Java サンプルアプリを実行するように Compute Engine VM インスタンスの開発環境を設定するには、次の手順を行います。

    1. Java 開発環境の設定ガイドに移動します。
    2. JDK(Java Development Kit)をインストールするセクションの手順を完了します。
    3. ビルド自動化ツールをインストールするセクションの手順を完了して、Apache Maven を設定します。

    Node.js サンプルアプリを実行するように Compute Engine VM インスタンスの開発環境を設定するには、次の手順を行います。

    1. Node.js 開発環境の設定ガイドに移動します。
    2. Node.js と npm のインストールの手順を完了します。

    Python サンプルアプリを実行するように Compute Engine VM インスタンスの開発環境を設定するには、次の操作を行います。

    1. Python と Python 用の PIP パッケージ マネージャーをインストールします。
      1. Python 開発環境の設定ガイドに移動します。
      2. Python のインストールの手順を完了します。
        1. 上記の手順では、Windows 用 Python リリースのダウンロード ページに移動します。そのページで、[Latest Python 3 Release] リンクをクリックします。
        2. Python 3.X.X ページで、[Windows Installer 64-bit] リンクをクリックして、インストーラ ファイルを Windows Compute Engine VM インスタンスにダウンロードします。
        3. Python インストーラを VM インスタンスにダウンロードしたら、ダウンロードしたファイルがあるフォルダを開きます。次に、インストーラ ファイルを右クリックして、[Run as administrator] を選択します。
        4. 表示された [Install Python] ダイアログで、[Add Python 3.X.X to PATH] を選択して、[→ Install Now] をクリックします。
    2. PIP を使用して virtualenv をインストールします。
      1. Windows Compute Engine VM インスタンスで Powershell を開き、次の pip install コマンドを実行します。
      2. pip install virtualenv

    Git をインストールする

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

    Compute Engine Linux VM インスタンス

    Compute Engine Linux VM インスタンスで、Linux 用 Git のインストールに関する公式ドキュメントに沿って操作します。

    • sudo コマンド接頭辞を使用し、管理者として推奨の Debian / Ubuntu install git コマンドを実行します。ターミナルで実行する完全なインストール コマンドは、次の形になります。
    • sudo apt-get install git

    Compute Engine Windows VM インスタンスで、Windows 用の公式 Git インストール ドキュメントに沿って 64 ビット スタンドアロン インストーラを実行し Git をインストールします。

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

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

    GoJavaNode.jsPython

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

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

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

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

    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

    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 インスタンスに接続できるようになりました。

    パブリック IP Cloud SQL インスタンスと Linux ベースの Compute Engine VM

    GoJavaNode.jsPython

    開いているターミナルの Compute Engine VM インスタンスで次のコマンドを実行し、サンプルアプリの実行に必要な環境変数を初期化します。コマンドを実行する前に、次のように置き換えます。

    • INSTANCE_CONNECTION_NAME は、Google Cloud コンソールの [Cloud SQL インスタンス] ページに表示されるインスタンスの接続名に置き換えます。
    • YOUR_DB_PASSWORD は、前のユーザーの作成クイックスタートの手順で作成した quickstart-user のパスワードに置き換えます。
    export INSTANCE_CONNECTION_NAME='INSTANCE_CONNECTION_NAME'
    export DB_PORT='3306'
    export DB_NAME='quickstart_db'
    export DB_USER='quickstart-user'
    export DB_PASS='YOUR_DB_PASSWORD'

    開いているターミナルの Compute Engine VM インスタンスで次のコマンドを実行し、Compute Engine VM インスタンスへの Go サンプルアプリの依存関係を取得して、サンプルアプリを実行します。

    1. サンプルアプリの実行に必要な依存関係を取得します。
      go get ./...
    2. サンプルアプリを実行します。
      go run cmd/app/main.go

    ローカル コンピュータで、サンプルアプリが実行されている Compute Engine VM インスタンスの外部 IP アドレスを取得し、ブラウザで表示します。

    1. ターミナルまたはローカル コンピュータの Powershell で、次の gcloud compute instances describe コマンドを実行して Compute Engine VM インスタンスの外部 IP アドレスを取得します。
    2. gcloud compute instances describe quickstart-vm-instance --format="value(networkInterfaces[0].accessConfigs[].natIP)"
    3. 実行中のサンプルアプリを表示します。ローカル コンピュータでブラウザを開き、Compute Engine VM インスタンスの外部 IP アドレス(ポート :8080)に移動します。
      http://COMPUTE_ENGINE_VM_EXTERNAL_IP_ADDRESS:8080

      デプロイされたサンプルアプリを表示する

    サンプルアプリを停止するには、サンプルアプリを起動した Compute Engine VM インスタンスのターミナルで Ctrl+C キーを押します。

    開いているターミナルの Compute Engine VM インスタンスで次のコマンドを実行し、サンプルアプリの実行に必要な環境変数を初期化します。コマンドを実行する前に、次のように置き換えます。

    • INSTANCE_CONNECTION_NAME は、Google Cloud コンソールの [Cloud SQL インスタンス] ページに表示されるインスタンスの接続名に置き換えます。
    • YOUR_DB_PASSWORD は、前のユーザーの作成クイックスタートの手順で作成した quickstart-user のパスワードに置き換えます。
    export INSTANCE_CONNECTION_NAME='INSTANCE_CONNECTION_NAME'
    export DB_PORT='3306'
    export DB_NAME='quickstart_db'
    export DB_USER='quickstart-user'
    export DB_PASS='YOUR_DB_PASSWORD'

    開いているターミナルの Compute Engine VM インスタンスで次のコマンドを実行し、Compute Engine VM インスタンスへの Java サンプルアプリの依存関係を取得して、サンプルアプリを実行します。

    mvn jetty:run

    ローカル コンピュータで、サンプルアプリが実行されている Compute Engine VM インスタンスの外部 IP アドレスを取得し、ブラウザで表示します。

    1. ターミナルまたはローカル コンピュータの Powershell で、次の gcloud compute instances describe コマンドを実行して Compute Engine VM インスタンスの外部 IP アドレスを取得します。
    2. gcloud compute instances describe quickstart-vm-instance --format="value(networkInterfaces[0].accessConfigs[].natIP)"
    3. 実行中のサンプルアプリを表示します。ローカル コンピュータでブラウザを開き、Compute Engine VM インスタンスの外部 IP アドレス(ポート :8080)に移動します。
      http://COMPUTE_ENGINE_VM_EXTERNAL_IP_ADDRESS:8080

      デプロイされたサンプルアプリを表示する

    サンプルアプリを停止するには、サンプルアプリを起動した Compute Engine VM インスタンスのターミナルで Ctrl+C キーを押します。

    1. 開いているターミナルの Compute Engine VM インスタンスで次のコマンドを実行し、サンプルアプリの実行に必要な環境変数を初期化します。コマンドを実行する前に、次のように置き換えます。

      • YOUR_DB_PASSWORD は、前のユーザーの作成クイックスタートの手順で作成した quickstart-user のパスワードに置き換えます。
      export INSTANCE_HOST='127.0.0.1'
      export DB_PORT='3306'
      export DB_NAME='quickstart_db'
      export DB_USER='quickstart-user'
      export DB_PASS='YOUR_DB_PASSWORD'
    2. Cloud SQL Auth Proxy をダウンロードします。
      curl -o cloud-sql-proxy \
      https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.0.0/cloud-sql-proxy.linux.amd64
    3. Cloud SQL Auth Proxy ファイルを実行可能にする権限を設定します。
      chmod +x cloud-sql-proxy
    4. Cloud SQL Auth Proxy をバックグラウンド プロセスとして実行します。INSTANCE_CONNECTION_NAME は、Google Cloud コンソールの [Cloud SQL インスタンス] ページに表示されるインスタンスの接続名に置き換えます。
      ./cloud-sql-proxy INSTANCE_CONNECTION_NAME &

    開いているターミナルの Compute Engine VM インスタンス上で次のコマンドを実行し、必要な Node.js パッケージを Compute Engine VM インスタンスへ取り込み、サンプルアプリを実行します。

    1. アプリをローカルで実行するために必要な Node.js パッケージをインストールします。
      npm install
    2. サンプルアプリを実行します。
      npm start

    ローカル コンピュータで、サンプルアプリが実行されている Compute Engine VM インスタンスの外部 IP アドレスを取得し、ブラウザで表示します。

    1. ターミナルまたはローカル コンピュータの Powershell で、次の gcloud compute instances describe コマンドを実行して Compute Engine VM インスタンスの外部 IP アドレスを取得します。
    2. gcloud compute instances describe quickstart-vm-instance --format="value(networkInterfaces[0].accessConfigs[].natIP)"
    3. 実行中のサンプルアプリを表示します。ローカル コンピュータでブラウザを開き、Compute Engine VM インスタンスの外部 IP アドレス(ポート :8080)に移動します。
      http://COMPUTE_ENGINE_VM_EXTERNAL_IP_ADDRESS:8080

      デプロイされたサンプルアプリを表示する

    サンプルアプリを停止するには、サンプルアプリを起動した Compute Engine VM インスタンスのターミナルで Ctrl+C キーを押します。

    開いているターミナルの Compute Engine VM インスタンスで次のコマンドを実行し、サンプルアプリの実行に必要な環境変数を初期化します。コマンドを実行する前に、次のように置き換えます。

    • INSTANCE_CONNECTION_NAME は、Google Cloud コンソールの [Cloud SQL インスタンス] ページに表示されるインスタンスの接続名に置き換えます。
    • YOUR_DB_PASSWORD は、前のユーザーの作成クイックスタートの手順で作成した quickstart-user のパスワードに置き換えます。
    export INSTANCE_CONNECTION_NAME='INSTANCE_CONNECTION_NAME'
    export DB_PORT='3306'
    export DB_NAME='quickstart_db'
    export DB_USER='quickstart-user'
    export DB_PASS='YOUR_DB_PASSWORD'

    開いているターミナルの Compute Engine VM インスタンスで次のコマンドを実行し、Compute Engine VM インスタンスへの Python サンプルアプリの要件を取得して、サンプルアプリを実行します。

    1. 仮想環境を初期化し、サンプルアプリの実行要件をインストールします。
      python3 -m venv env
      source env/bin/activate
      pip install -r requirements.txt
    2. サンプルアプリを実行します。
      python app.py

    ローカル コンピュータで、次のクイックスタートの手順に沿って SSH によるポート転送を設定します。これにより、ローカル コンピュータのブラウザを使用して、Compute Engine VM インスタンスで実行されているアプリを表示できます。

    1. ターミナルまたはローカル コンピュータの PowerShell で、次の gcloud compute ssh コマンドを実行して SSH によるポート転送を設定します。コマンドを実行する前に、YOUR_PROJECT_ID はプロジェクト ID に置き換えます。
    2. gcloud compute ssh quickstart-vm-instance --project=YOUR_PROJECT_ID --zone=us-central1-a --ssh-flag='-L 8000:127.0.0.1:8080'
    3. 実行中のサンプルアプリを表示します。ポート転送が有効な状態で、ローカル コンピュータでブラウザを開き、ブラウザのアドレスバーに「http://127.0.0.1:8000」と入力します。

      デプロイされたサンプルアプリを表示する

    サンプルアプリを停止するには、サンプルアプリを起動した Compute Engine VM インスタンスのターミナルで Ctrl+C キーを押します。

    GoJavaNode.jsPython

    開いている Powershell ウィンドウの Compute Engine VM インスタンスで次のコマンドを実行し、サンプルアプリの実行に必要な環境変数を初期化します。コマンドを実行する前に、次のように置き換えます。

    • INSTANCE_CONNECTION_NAME は、Google Cloud コンソールの [Cloud SQL インスタンス] ページに表示されるインスタンスの接続名に置き換えます。
    • YOUR_DB_PASSWORD は、前のユーザーの作成クイックスタートの手順で作成した quickstart-user のパスワードに置き換えます。
    $env:INSTANCE_CONNECTION_NAME="INSTANCE_CONNECTION_NAME"
    $env:DB_PORT="3306"
    $env:DB_NAME="quickstart_db"
    $env:DB_USER="quickstart-user"
    $env:DB_PASS="YOUR_DB_PASSWORD"

    開いている Powershell ウィンドウの Compute Engine VM インスタンスで次のコマンドを実行し、Compute Engine VM インスタンスへの Go サンプルアプリの依存関係を取得して、サンプルアプリを実行します。

    1. サンプルアプリの実行に必要な依存関係を取得します。
      go get ./...
    2. サンプルアプリを実行します。
      go run cmd\app\main.go
    3. 実行中のサンプルアプリを表示します。Compute Engine VM インスタンスでブラウザを開き、http://127.0.0.1:8080 に移動します。

      デプロイされたサンプルアプリを表示する

    サンプルアプリを停止するには、サンプルアプリを起動した Compute Engine VM インスタンスの Powershell ウィンドウで Ctrl+C キーを押します。

    開いている Powershell ウィンドウの Compute Engine VM インスタンスで次のコマンドを実行し、サンプルアプリの実行に必要な環境変数を初期化します。コマンドを実行する前に、次のように置き換えます。

    • INSTANCE_CONNECTION_NAME は、Google Cloud コンソールの [Cloud SQL インスタンス] ページに表示されるインスタンスの接続名に置き換えます。
    • YOUR_DB_PASSWORD は、前のユーザーの作成クイックスタートの手順で作成した quickstart-user のパスワードに置き換えます。
    $env:INSTANCE_CONNECTION_NAME="INSTANCE_CONNECTION_NAME"
    $env:DB_PORT="3306"
    $env:DB_NAME="quickstart_db"
    $env:DB_USER="quickstart-user"
    $env:DB_PASS="YOUR_DB_PASSWORD"
    1. 開いている Powershell ウィンドウの Compute Engine VM インスタンスで次のコマンドを実行し、Compute Engine VM インスタンスへの Java サンプルアプリの依存関係を取得して、サンプルアプリを実行します。

      mvn jetty:run
    2. 実行中のサンプルアプリを表示します。Compute Engine VM インスタンスでブラウザを開き、http://127.0.0.1:8080 に移動します。

      デプロイされたサンプルアプリを表示する

    サンプルアプリを停止するには、サンプルアプリを起動した Compute Engine VM インスタンスの Powershell ウィンドウで Ctrl+C キーを押します。

    1. 開いている Powershell ウィンドウの Compute Engine VM インスタンスで次のコマンドを実行し、サンプルアプリの実行に必要な環境変数を初期化します。コマンドを実行する前に、次のように置き換えます。

      • YOUR_DB_PASSWORD は、前のユーザーの作成クイックスタートの手順で作成した quickstart-user のパスワードに置き換えます。
      $env:INSTANCE_HOST="127.0.0.1"
      $env:DB_PORT="3306"
      $env:DB_NAME="quickstart_db"
      $env:DB_USER="quickstart-user"
      $env:DB_PASS="YOUR_DB_PASSWORD"
    2. Cloud SQL Auth Proxy をダウンロードします。
      wget https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.0.0/cloud-sql-proxy.x64.exe `
      -O cloud-sql-proxy.exe
    3. Cloud SQL Auth Proxy をバックグラウンド プロセスとして実行します。INSTANCE_CONNECTION_NAME は、Google Cloud コンソールの [Cloud SQL インスタンス] ページに表示されるインスタンスの接続名に置き換えます。
      Start-Process -filepath  ".\cloud-sql-proxy.exe" -ArgumentList `
      "INSTANCE_CONNECTION_NAME"

    開いている Powershell ウィンドウの Compute Engine VM インスタンス上で次のコマンドを実行し、必要な Node.js パッケージを Compute Engine VM インスタンスへ取り込み、サンプルアプリを実行します。

    1. アプリをローカルで実行するために必要な Node.js パッケージをインストールします。
      npm install
    2. サンプルアプリを実行します。
      npm start
    3. 実行中のサンプルアプリを表示します。Compute Engine VM インスタンスでブラウザを開き、http://127.0.0.1:8080 に移動します。

      デプロイされたサンプルアプリを表示する

    サンプルアプリを停止するには、サンプルアプリを起動した Compute Engine VM インスタンスの Powershell ウィンドウで Ctrl+C キーを押します。

    開いている Powershell ウィンドウの Compute Engine VM インスタンスで次のコマンドを実行し、サンプルアプリの実行に必要な環境変数を初期化します。コマンドを実行する前に、次のように置き換えます。

    • INSTANCE_CONNECTION_NAME は、Google Cloud コンソールの [Cloud SQL インスタンス] ページに表示されるインスタンスの接続名に置き換えます。
    • YOUR_DB_PASSWORD は、前のユーザーの作成クイックスタートの手順で作成した quickstart-user のパスワードに置き換えます。
    $env:INSTANCE_CONNECTION_NAME="INSTANCE_CONNECTION_NAME"
    $env:DB_PORT="3306"
    $env:DB_NAME="quickstart_db"
    $env:DB_USER="quickstart-user"
    $env:DB_PASS="YOUR_DB_PASSWORD"

    開いている Powershell ウィンドウの Compute Engine VM インスタンスで次のコマンドを実行して、Compute Engine VM インスタンスに Python サンプルアプリの要件を取得し、サンプルアプリを実行します。

    1. 仮想環境を初期化し、サンプルアプリの実行要件をインストールします。
      virtualenv --python python3 env
      .\env\Scripts\activate
      pip install -r requirements.txt
    2. サンプルアプリを実行します。
      python app.py
    3. 実行中のサンプルアプリを表示します。Compute Engine VM インスタンスでブラウザを開き、http://127.0.0.1:8080 に移動します。

      デプロイされたサンプルアプリを表示する

    サンプルアプリを停止するには、サンプルアプリを起動した Compute Engine VM インスタンスの Powershell ウィンドウで Ctrl+C キーを押します。

    SSL サーバーとクライアント証明書を作成してローカル コンピュータにダウンロードする

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

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

    2. quickstart-instance をクリックして、[概要] ページを表示します。
    3. [接続] タブをクリックします。
    4. [セキュリティ] で [クライアント証明書を作成] をクリックします。
    5. [クライアント証明書を作成] ダイアログで、名前として「quickstart-key」と入力し、[作成] をクリックします。
    6. [新しい SSL 証明書を作成しました] ダイアログで、各ダウンロード リンクをクリックして証明書をダウンロードします。[閉じる] をクリックします。

    SSL 証明書を Cloud Storage バケットにアップロードする

    コンソールgcloud

    ローカル コンピュータのブラウザで、Cloud Storage バケットを作成し、Compute Engine VM インスタンスからアクセスできる SSL 証明書をバケットにアップロードします。

    1. Cloud Storage バケットを作成します
      1. バケットの名前として次の名前を入力します。YOUR_PROJECT_ID は実際のプロジェクト ID で置き換えます。
        YOUR_PROJECT_ID-quickstart-certs
      2. [作成] ボタンをクリックし、バケットを作成します。
    2. [ファイルをアップロード] ボタンをクリックして、新しく作成した Cloud Storage バケットにファイルをアップロードします。
    3. ローカル コンピュータから Cloud Storage にアップロードする次のファイルを選択します。
      • server-ca.pem
      • client-cert.pem
      • client-key.pem

    ローカル コンピュータのターミナルまたは Powershell ウィンドウで、SSL 証明書をダウンロードしたディレクトリを開きます。これで、Cloud Storage バケットを作成し、Compute Engine VM インスタンスからアクセスできる SSL 証明書をバケットにアップロードできるようになります。gcloud CLI を使用してファイルをアップロードします。

    1. 次の gcloud storage buckets create コマンドを実行して、新しい Cloud Storage バケットを作成します。
    2. gcloud storage buckets create gs://YOUR_PROJECT_ID-quickstart-certs --location=us-central1
    3. 証明書をダウンロードしたローカル コンピュータのディレクトリから、次の gcloud storage cp コマンドを実行して、新しく作成した Cloud Storage バケットに SSL 証明書をコピーします。
    4. gcloud storage cp server-ca.pem gs://YOUR_PROJECT_ID-quickstart-certs/
      gcloud storage cp client-cert.pem gs://YOUR_PROJECT_ID-quickstart-certs/
      gcloud storage cp client-key.pem gs://YOUR_PROJECT_ID-quickstart-certs/
    GoJavaNode.jsPython

    Compute Engine VM インスタンスで gcloud CLI を使用して SSL 証明書をダウンロードする

    ターミナルの Compute Engine VM インスタンスで、golang-samples/cloudsql/mysql/database-sql ディレクトリを開いて、次の gcloud storage cp コマンドを実行して SSL 証明書を Cloud Storage から certs ディレクトリにダウンロードします。

    gcloud storage cp gs://YOUR_PROJECT_ID-quickstart-certs/server-ca.pem certs/.
    gcloud storage cp gs://YOUR_PROJECT_ID-quickstart-certs/client-cert.pem certs/.
    gcloud storage cp gs://YOUR_PROJECT_ID-quickstart-certs/client-key.pem certs/.

    Compute Engine VM インスタンスの環境変数を設定する

    開いているターミナルの Compute Engine VM インスタンスで次のコマンドを実行し、サンプルアプリの実行に必要な環境変数を初期化します。コマンドを実行する前に、次のように置き換えます。

    • INSTANCE_HOST は、Google Cloud コンソールの [Cloud SQL インスタンス] ページに表示されるインスタンスのプライベート IP アドレスに設定します。
    • YOUR_DB_PASSWORD は、前のユーザーの作成クイックスタートの手順で作成した quickstart-user のパスワードに置き換えます。
    export INSTANCE_HOST='INSTANCE_HOST'
    export DB_PORT='3306'
    export DB_NAME='quickstart_db'
    export DB_USER='quickstart-user'
    export DB_PASS='YOUR_DB_PASSWORD'
    export DB_ROOT_CERT='certs/server-ca.pem'
    export DB_CERT='certs/client-cert.pem'
    export DB_KEY='certs/client-key.pem'
    export PRIVATE_IP='TRUE'

    開いているターミナルの Compute Engine VM インスタンスで次のコマンドを実行し、Compute Engine VM インスタンスへの Go サンプルアプリの依存関係を取得して、サンプルアプリを実行します。

    1. サンプルアプリの実行に必要な依存関係を取得します。
      go get ./...
    2. サンプルアプリを実行します。
      go run cmd/app/main.go

    ローカル コンピュータで、サンプルアプリが実行されている Compute Engine VM インスタンスの外部 IP アドレスを取得し、ブラウザで表示します。

    1. ターミナルまたはローカル コンピュータの Powershell で、次の gcloud compute instances describe コマンドを実行して Compute Engine VM インスタンスの外部 IP アドレスを取得します。
    2. gcloud compute instances describe quickstart-vm-instance --format="value(networkInterfaces[0].accessConfigs[].natIP)"
    3. 実行中のサンプルアプリを表示します。ローカル コンピュータでブラウザを開き、Compute Engine VM インスタンスの外部 IP アドレス(ポート :8080)に移動します。
      http://COMPUTE_ENGINE_VM_EXTERNAL_IP_ADDRESS:8080

      デプロイされたサンプルアプリを表示する

    サンプルアプリを停止するには、サンプルアプリを起動した Compute Engine VM インスタンスのターミナルで Ctrl+C キーを押します。

    Compute Engine VM インスタンスで gcloud CLI を使用して SSL 証明書をダウンロードする

    ターミナルの Compute Engine VM インスタンスで、java-docs-samples/cloud-sql/mysql/servlet ディレクトリを開いて、次の gcloud storage cp コマンドを実行して SSL 証明書を Cloud Storage から現在のディレクトリにダウンロードします。

    gcloud storage cp gs://YOUR_PROJECT_ID-quickstart-certs/server-ca.pem .
    gcloud storage cp gs://YOUR_PROJECT_ID-quickstart-certs/client-cert.pem .
    gcloud storage cp gs://YOUR_PROJECT_ID-quickstart-certs/client-key.pem .

    Java で使用する SSL 証明書を Compute Engine VM インスタンスで構成する

    1. Compute Engine VM インスタンスのターミナルで次のコマンドを実行し、keytool を使用してサーバー証明書をカスタム Java トラストストアにインポートします。次のコマンドを実行する前に、TRUST_CERT_KEYSTORE_PASSWD を Java トラストストアの作成に使用される独自のカスタム キーストア パスワードに置き換えてください。
    2. keytool -importcert -alias MySQLCACert -file server-ca.pem \
      -keystore quickstart-truststore -storepass TRUST_CERT_KEYSTORE_PASSWD
    3. Compute Engine VM インスタンスのターミナルで次のコマンドを実行し、openssl と keytool を使用してクライアント証明書と鍵をカスタム Java キーストアにインポートします。次のコマンドを実行する前に、CLIENT_CERT_KEYSTORE_PASSWD を Java クライアント キーストアの作成に使用される独自のカスタム クライアント キーストア パスワードに置き換えてください。
    4. クライアント鍵と証明書ファイルを PKCS #12 アーカイブに変換します。

      openssl pkcs12 -export -in client-cert.pem -inkey client-key.pem \
      -name "mysqlclient" -passout pass:CLIENT_CERT_KEYSTORE_PASSWD \
      -out client-keystore.p12

      クライアント鍵と証明書を Java キーストアにインポートします。

      keytool -importkeystore -srckeystore client-keystore.p12 -srcstoretype pkcs12 \
      -srcstorepass CLIENT_CERT_KEYSTORE_PASSWD -destkeystore quickstart-keystore \
      -deststoretype JKS -deststorepass CLIENT_CERT_KEYSTORE_PASSWD

    Compute Engine VM インスタンスの環境変数を設定する

    開いているターミナルの Compute Engine VM インスタンスで次のコマンドを実行し、サンプルアプリの実行に必要な環境変数を初期化します。コマンドを実行する前に、次のように置き換えます。

    • INSTANCE_HOST は、Google Cloud コンソールの [Cloud SQL インスタンス] ページに表示されるインスタンスのプライベート IP アドレスに設定します。
    • YOUR_DB_PASSWORD は、前のユーザーの作成クイックスタートの手順で作成した quickstart-user のパスワードに置き換えます。
    export INSTANCE_HOST='INSTANCE_HOST'
    export DB_PORT='3306'
    export DB_NAME='quickstart_db'
    export DB_USER='quickstart-user'
    export DB_PASS='YOUR_DB_PASSWORD'
    export TRUST_CERT_KEYSTORE_PATH='quickstart-truststore'
    export TRUST_CERT_KEYSTORE_PASSWD='TRUST_CERT_KEYSTORE_PASSWD'
    export CLIENT_CERT_KEYSTORE_PATH='quickstart-keystore'
    export CLIENT_CERT_KEYSTORE_PASSWD='CLIENT_CERT_KEYSTORE_PASSWD'
    export PRIVATE_IP='TRUE'

    開いているターミナルの Compute Engine VM インスタンスで次のコマンドを実行し、Compute Engine VM インスタンスへの Java サンプルアプリの依存関係を取得して、サンプルアプリを実行します。

    mvn jetty:run

    ローカル コンピュータで、サンプルアプリが実行されている Compute Engine VM インスタンスの外部 IP アドレスを取得し、ブラウザで表示します。

    1. ターミナルまたはローカル コンピュータの Powershell で、次の gcloud compute instances describe コマンドを実行して Compute Engine VM インスタンスの外部 IP アドレスを取得します。
    2. gcloud compute instances describe quickstart-vm-instance --format="value(networkInterfaces[0].accessConfigs[].natIP)"
    3. 実行中のサンプルアプリを表示します。ローカル コンピュータでブラウザを開き、Compute Engine VM インスタンスの外部 IP アドレス(ポート :8080)に移動します。
      http://COMPUTE_ENGINE_VM_EXTERNAL_IP_ADDRESS:8080

      デプロイされたサンプルアプリを表示する

    サンプルアプリを停止するには、サンプルアプリを起動した Compute Engine VM インスタンスのターミナルで Ctrl+C キーを押します。

    Compute Engine VM インスタンスで gcloud CLI を使用して SSL 証明書をダウンロードする

    ターミナルの Compute Engine VM インスタンスで、nodejs-docs-samples/cloud-sql/mysql/mysql ディレクトリを開いて、次の gcloud storage cp コマンドを実行して SSL 証明書を Cloud Storage から certs ディレクトリにダウンロードします。

    gcloud storage cp gs://YOUR_PROJECT_ID-quickstart-certs/server-ca.pem certs/.
    gcloud storage cp gs://YOUR_PROJECT_ID-quickstart-certs/client-cert.pem certs/.
    gcloud storage cp gs://YOUR_PROJECT_ID-quickstart-certs/client-key.pem certs/.

    Compute Engine VM インスタンスの環境変数を設定する

    開いているターミナルの Compute Engine VM インスタンスで次のコマンドを実行し、サンプルアプリの実行に必要な環境変数を初期化します。コマンドを実行する前に、次のように置き換えます。

    • INSTANCE_HOST は、Google Cloud コンソールの [Cloud SQL インスタンス] ページに表示されるインスタンスのプライベート IP アドレスに設定します。
    • YOUR_DB_PASSWORD は、前のユーザーの作成クイックスタートの手順で作成した quickstart-user のパスワードに置き換えます。
    export INSTANCE_HOST='INSTANCE_HOST'
    export DB_PORT='3306'
    export DB_NAME='quickstart_db'
    export DB_USER='quickstart-user'
    export DB_PASS='YOUR_DB_PASSWORD'
    export DB_ROOT_CERT='certs/server-ca.pem'
    export DB_CERT='certs/client-cert.pem'
    export DB_KEY='certs/client-key.pem'
    export PRIVATE_IP='TRUE'

    開いているターミナルの Compute Engine VM インスタンス上で次のコマンドを実行し、必要な Node.js パッケージを Compute Engine VM インスタンスへ取り込み、サンプルアプリを実行します。

    1. アプリをローカルで実行するために必要な Node.js パッケージをインストールします。
      npm install
    2. サンプルアプリを実行します。
      npm start

    ローカル コンピュータで、サンプルアプリが実行されている Compute Engine VM インスタンスの外部 IP アドレスを取得し、ブラウザで表示します。

    1. ターミナルまたはローカル コンピュータの Powershell で、次の gcloud compute instances describe コマンドを実行して Compute Engine VM インスタンスの外部 IP アドレスを取得します。
    2. gcloud compute instances describe quickstart-vm-instance --format="value(networkInterfaces[0].accessConfigs[].natIP)"
    3. 実行中のサンプルアプリを表示します。ローカル コンピュータでブラウザを開き、Compute Engine VM インスタンスの外部 IP アドレス(ポート :8080)に移動します。
      http://COMPUTE_ENGINE_VM_EXTERNAL_IP_ADDRESS:8080

      デプロイされたサンプルアプリを表示する

    サンプルアプリを停止するには、サンプルアプリを起動した Compute Engine VM インスタンスのターミナルで Ctrl+C キーを押します。

    Compute Engine VM インスタンスで gcloud CLI を使用して SSL 証明書をダウンロードする

    ターミナルの Compute Engine VM インスタンスで、python-docs-samples/cloud-sql/mysql/sqlalchemy ディレクトリを開いて、次の gcloud storage cp コマンドを実行して SSL 証明書を Cloud Storage から certs ディレクトリにダウンロードします。

    gcloud storage cp gs://YOUR_PROJECT_ID-quickstart-certs/server-ca.pem certs/.
    gcloud storage cp gs://YOUR_PROJECT_ID-quickstart-certs/client-cert.pem certs/.
    gcloud storage cp gs://YOUR_PROJECT_ID-quickstart-certs/client-key.pem certs/.

    Compute Engine VM インスタンスの環境変数を設定する

    開いているターミナルの Compute Engine VM インスタンスで次のコマンドを実行し、サンプルアプリの実行に必要な環境変数を初期化します。コマンドを実行する前に、次のように置き換えます。

    • INSTANCE_HOST は、Google Cloud コンソールの [Cloud SQL インスタンス] ページに表示されるインスタンスのプライベート IP アドレスに設定します。
    • YOUR_DB_PASSWORD は、前のユーザーの作成クイックスタートの手順で作成した quickstart-user のパスワードに置き換えます。
    export INSTANCE_HOST='INSTANCE_HOST'
    export DB_PORT='3306'
    export DB_NAME='quickstart_db'
    export DB_USER='quickstart-user'
    export DB_PASS='YOUR_DB_PASSWORD'
    export DB_ROOT_CERT='certs/server-ca.pem'
    export DB_CERT='certs/client-cert.pem'
    export DB_KEY='certs/client-key.pem'
    export PRIVATE_IP='TRUE'

    開いているターミナルの Compute Engine VM インスタンスで次のコマンドを実行し、Compute Engine VM インスタンスへの Python サンプルアプリの要件を取得して、サンプルアプリを実行します。

    1. 仮想環境を初期化し、サンプルアプリの実行要件をインストールします。
      python3 -m venv env
      source env/bin/activate
      pip install -r requirements.txt
    2. サンプルアプリを実行します。
      python app.py

    ローカル コンピュータで、次のクイックスタートの手順に沿って SSH によるポート転送を設定します。これにより、ローカル コンピュータのブラウザを使用して、Compute Engine VM インスタンスで実行されているアプリを表示できます。

    1. ターミナルまたはローカル コンピュータの PowerShell で、次の gcloud compute ssh コマンドを実行して SSH によるポート転送を設定します。コマンドを実行する前に、YOUR_PROJECT_ID はプロジェクト ID に置き換えます。
    2. gcloud compute ssh quickstart-vm-instance --project=YOUR_PROJECT_ID --zone=us-central1-a --ssh-flag='-L 8000:127.0.0.1:8080'
    3. 実行中のサンプルアプリを表示します。ポート転送が有効な状態で、ローカル コンピュータでブラウザを開き、ブラウザのアドレスバーに「http://127.0.0.1:8000」と入力します。

      デプロイされたサンプルアプリを表示する

    サンプルアプリを停止するには、サンプルアプリを起動した Compute Engine VM インスタンスのターミナルで Ctrl+C キーを押します。

    SSL サーバーとクライアント証明書を作成してローカル コンピュータにダウンロードする

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

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

    2. quickstart-instance をクリックして、[概要] ページを表示します。
    3. [接続] タブをクリックします。
    4. [セキュリティ] で [クライアント証明書を作成] をクリックします。
    5. [クライアント証明書を作成] ダイアログで、名前として「quickstart-key」と入力し、[作成] をクリックします。
    6. [新しい SSL 証明書を作成しました] ダイアログで、各ダウンロード リンクをクリックして証明書をダウンロードします。[閉じる] をクリックします。

    SSL 証明書を Cloud Storage バケットにアップロードする

    コンソールgcloud

    ローカル コンピュータのブラウザで、Cloud Storage バケットを作成し、Compute Engine VM インスタンスからアクセスできる SSL 証明書をバケットにアップロードします。

    1. Cloud Storage バケットを作成します
      1. バケットの名前として次の名前を入力します。YOUR_PROJECT_ID は実際のプロジェクト ID で置き換えます。
        YOUR_PROJECT_ID-quickstart-certs
      2. [作成] ボタンをクリックし、バケットを作成します。
    2. [ファイルをアップロード] ボタンをクリックして、新しく作成した Cloud Storage バケットにファイルをアップロードします。
    3. ローカル コンピュータから Cloud Storage にアップロードする次のファイルを選択します。
      • server-ca.pem
      • client-cert.pem
      • client-key.pem

    ローカル コンピュータのターミナルまたは Powershell ウィンドウで、SSL 証明書をダウンロードしたディレクトリを開きます。これで、Cloud Storage バケットを作成し、Compute Engine VM インスタンスからアクセスできる SSL 証明書をバケットにアップロードできるようになります。gcloud CLI を使用してファイルをアップロードします。

    1. 次の gcloud storage buckets create コマンドを実行して、新しい Cloud Storage バケットを作成します。
    2. gcloud storage buckets create gs://YOUR_PROJECT_ID-quickstart-certs --location=us-central1
    3. 証明書をダウンロードしたローカル コンピュータのディレクトリから、次の gcloud storage cp コマンドを実行して、新しく作成した Cloud Storage バケットに SSL 証明書をコピーします。
    4. gcloud storage cp server-ca.pem gs://YOUR_PROJECT_ID-quickstart-certs/
      gcloud storage cp client-cert.pem gs://YOUR_PROJECT_ID-quickstart-certs/
      gcloud storage cp client-key.pem gs://YOUR_PROJECT_ID-quickstart-certs/
    GoJavaNode.jsPython

    Compute Engine VM インスタンスで gcloud CLI を使用して SSL 証明書をダウンロードする

    PowerShell ウィンドウの Compute Engine VM インスタンスで、golang-samples/cloudsql/mysql/database-sql ディレクトリを開いて次の gcloud storage cp コマンドを実行し、SSL 証明書を Cloud Storage から certs ディレクトリにダウンロードします。

    gcloud storage cp gs://YOUR_PROJECT_ID-quickstart-certs/server-ca.pem certs/.
    gcloud storage cp gs://YOUR_PROJECT_ID-quickstart-certs/client-cert.pem certs/.
    gcloud storage cp gs://YOUR_PROJECT_ID-quickstart-certs/client-key.pem certs/.

    Compute Engine VM インスタンスの環境変数を設定する

    PowerShell ウィンドウの Compute Engine VM インスタンスで次のコマンドを実行し、サンプルアプリの実行に必要な環境変数を初期化します。コマンドを実行する前に、次のように置き換えます。

    • INSTANCE_HOST は、Google Cloud コンソールの [Cloud SQL インスタンス] ページに表示されるインスタンスのプライベート IP アドレスに設定します。
    • YOUR_DB_PASSWORD は、前のユーザーの作成クイックスタートの手順で作成した quickstart-user のパスワードに置き換えます。
    $env:INSTANCE_HOST="INSTANCE_HOST"
    $env:DB_PORT="3306"
    $env:DB_NAME="quickstart_db"
    $env:DB_USER="quickstart-user"
    $env:DB_PASS="YOUR_DB_PASSWORD"
    $env:DB_ROOT_CERT="certs/server-ca.pem"
    $env:DB_CERT="certs/client-cert.pem"
    $env:DB_KEY="certs/client-key.pem"
    $env:PRIVATE_IP="TRUE"

    開いている Powershell ウィンドウの Compute Engine VM インスタンスで次のコマンドを実行し、Compute Engine VM インスタンスへの Go サンプルアプリの依存関係を取得して、サンプルアプリを実行します。

    1. サンプルアプリの実行に必要な依存関係を取得します。
      go get ./...
    2. サンプルアプリを実行します。
      go run cmd\app\main.go
    3. 実行中のサンプルアプリを表示します。Compute Engine VM インスタンスでブラウザを開き、http://127.0.0.1:8080 に移動します。

      デプロイされたサンプルアプリを表示する

    サンプルアプリを停止するには、サンプルアプリを起動した Compute Engine VM インスタンスの Powershell ウィンドウで Ctrl+C キーを押します。

    Compute Engine VM インスタンスで gcloud CLI を使用して SSL 証明書をダウンロードする

    PowerShell ウィンドウの Compute Engine VM インスタンスで、java-docs-samples/cloud-sql/mysql/servlet ディレクトリを開いて次の gcloud storage cp コマンドを実行し、SSL 証明書を Cloud Storage から現在のディレクトリにダウンロードします。

    gcloud storage cp gs://YOUR_PROJECT_ID-quickstart-certs/server-ca.pem .
    gcloud storage cp gs://YOUR_PROJECT_ID-quickstart-certs/client-cert.pem .
    gcloud storage cp gs://YOUR_PROJECT_ID-quickstart-certs/client-key.pem .

    Java で使用する SSL 証明書を Compute Engine VM インスタンスで構成する

    1. Compute Engine VM インスタンスの Powershell で次のコマンドを実行し、keytool を使用してサーバー証明書をカスタム Java トラストストアにインポートします。次のコマンドを実行する前に、TRUST_CERT_KEYSTORE_PASSWD を Java トラストストアの作成に使用される独自のカスタム キーストア パスワードに置き換えてください。
    2. keytool -importcert -alias MySQLCACert -file server-ca.pem `
      -keystore quickstart-truststore -storepass TRUST_CERT_KEYSTORE_PASSWD
    3. Compute Engine VM インスタンスの Powershell ウィンドウで次のコマンドを実行し、openssl と keytool を使用してクライアント証明書と鍵をカスタム Java キーストアにインポートします。次のコマンドを実行する前に、CLIENT_CERT_KEYSTORE_PASSWD を Java クライアント キーストアの作成に使用される独自のカスタム クライアント キーストア パスワードに置き換えてください。
    4. クライアント鍵と証明書ファイルを PKCS #12 アーカイブに変換します。

      openssl pkcs12 -export -in client-cert.pem -inkey client-key.pem `
      -name "mysqlclient" -passout pass:CLIENT_CERT_KEYSTORE_PASSWD `
      -out client-keystore.p12

      クライアント鍵と証明書を Java キーストアにインポートします。

      keytool -importkeystore -srckeystore client-keystore.p12 -srcstoretype pkcs12 `
      -srcstorepass CLIENT_CERT_KEYSTORE_PASSWD -destkeystore quickstart-keystore `
      -deststoretype JKS -deststorepass CLIENT_CERT_KEYSTORE_PASSWD

    Compute Engine VM インスタンスの環境変数を設定する

    PowerShell ウィンドウの Compute Engine VM インスタンスで次のコマンドを実行し、サンプルアプリの実行に必要な環境変数を初期化します。コマンドを実行する前に、次のように置き換えます。

    • INSTANCE_HOST は、Google Cloud コンソールの [Cloud SQL インスタンス] ページに表示されるインスタンスのプライベート IP アドレスに設定します。
    • YOUR_DB_PASSWORD は、前のユーザーの作成クイックスタートの手順で作成した quickstart-user のパスワードに置き換えます。
    $env:INSTANCE_HOST="INSTANCE_HOST"
    $env:DB_PORT="3306"
    $env:DB_NAME="quickstart_db"
    $env:DB_USER="quickstart-user"
    $env:DB_PASS="YOUR_DB_PASSWORD"
    $env:TRUST_CERT_KEYSTORE_PATH="quickstart-truststore"
    $env:TRUST_CERT_KEYSTORE_PASSWD="TRUST_CERT_KEYSTORE_PASSWD"
    $env:CLIENT_CERT_KEYSTORE_PATH="quickstart-keystore"
    $env:CLIENT_CERT_KEYSTORE_PASSWD="CLIENT_CERT_KEYSTORE_PASSWD"
    $env:PRIVATE_IP="TRUE"
    1. 開いている Powershell ウィンドウの Compute Engine VM インスタンスで次のコマンドを実行し、Compute Engine VM インスタンスへの Java サンプルアプリの依存関係を取得して、サンプルアプリを実行します。

      mvn jetty:run
    2. 実行中のサンプルアプリを表示します。Compute Engine VM インスタンスでブラウザを開き、http://127.0.0.1:8080 に移動します。

      デプロイされたサンプルアプリを表示する

    サンプルアプリを停止するには、サンプルアプリを起動した Compute Engine VM インスタンスの Powershell ウィンドウで Ctrl+C キーを押します。

    Compute Engine VM インスタンスで gcloud CLI を使用して SSL 証明書をダウンロードする

    PowerShell ウィンドウの Compute Engine VM インスタンスで、nodejs-docs-samples/cloud-sql/mysql/mysql ディレクトリを開いて次の gcloud storage cp コマンドを実行し、SSL 証明書を Cloud Storage から certs ディレクトリにダウンロードします。

    gcloud storage cp gs://YOUR_PROJECT_ID-quickstart-certs/server-ca.pem certs/.
    gcloud storage cp gs://YOUR_PROJECT_ID-quickstart-certs/client-cert.pem certs/.
    gcloud storage cp gs://YOUR_PROJECT_ID-quickstart-certs/client-key.pem certs/.

    Compute Engine VM インスタンスの環境変数を設定する

    PowerShell ウィンドウの Compute Engine VM インスタンスで次のコマンドを実行し、サンプルアプリの実行に必要な環境変数を初期化します。コマンドを実行する前に、次のように置き換えます。

    • INSTANCE_HOST は、Google Cloud コンソールの [Cloud SQL インスタンス] ページに表示されるインスタンスのプライベート IP アドレスに設定します。
    • YOUR_DB_PASSWORD は、前のユーザーの作成クイックスタートの手順で作成した quickstart-user のパスワードに置き換えます。
    $env:INSTANCE_HOST="INSTANCE_HOST"
    $env:DB_PORT="3306"
    $env:DB_NAME="quickstart_db"
    $env:DB_USER="quickstart-user"
    $env:DB_PASS="YOUR_DB_PASSWORD"
    $env:DB_ROOT_CERT="certs/server-ca.pem"
    $env:DB_CERT="certs/client-cert.pem"
    $env:DB_KEY="certs/client-key.pem"
    $env:PRIVATE_IP="TRUE"

    開いている Powershell ウィンドウの Compute Engine VM インスタンス上で次のコマンドを実行し、必要な Node.js パッケージを Compute Engine VM インスタンスへ取り込み、サンプルアプリを実行します。

    1. アプリをローカルで実行するために必要な Node.js パッケージをインストールします。
      npm install
    2. サンプルアプリを実行します。
      npm start
    3. 実行中のサンプルアプリを表示します。Compute Engine VM インスタンスでブラウザを開き、http://127.0.0.1:8080 に移動します。

      デプロイされたサンプルアプリを表示する

    サンプルアプリを停止するには、サンプルアプリを起動した Compute Engine VM インスタンスの Powershell ウィンドウで Ctrl+C キーを押します。

    Compute Engine VM インスタンスで gcloud CLI を使用して SSL 証明書をダウンロードする

    PowerShell ウィンドウの Compute Engine VM インスタンスで、python-docs-samples/cloud-sql/mysql/sqlalchemy ディレクトリを開いて次の gcloud storage cp コマンドを実行し、SSL 証明書を Cloud Storage から certs ディレクトリにダウンロードします。

    gcloud storage cp gs://YOUR_PROJECT_ID-quickstart-certs/server-ca.pem certs/.
    gcloud storage cp gs://YOUR_PROJECT_ID-quickstart-certs/client-cert.pem certs/.
    gcloud storage cp gs://YOUR_PROJECT_ID-quickstart-certs/client-key.pem certs/.

    Compute Engine VM インスタンスの環境変数を設定する

    PowerShell ウィンドウの Compute Engine VM インスタンスで次のコマンドを実行し、サンプルアプリの実行に必要な環境変数を初期化します。コマンドを実行する前に、次のように置き換えます。

    • INSTANCE_HOST は、Google Cloud コンソールの [Cloud SQL インスタンス] ページに表示されるインスタンスのプライベート IP アドレスに設定します。
    • YOUR_DB_PASSWORD は、前のユーザーの作成クイックスタートの手順で作成した quickstart-user のパスワードに置き換えます。
    $env:INSTANCE_HOST="INSTANCE_HOST"
    $env:DB_PORT="3306"
    $env:DB_NAME="quickstart_db"
    $env:DB_USER="quickstart-user"
    $env:DB_PASS="YOUR_DB_PASSWORD"
    $env:DB_ROOT_CERT="certs/server-ca.pem"
    $env:DB_CERT="certs/client-cert.pem"
    $env:DB_KEY="certs/client-key.pem"
    $env:PRIVATE_IP="TRUE"

    開いている Powershell ウィンドウの Compute Engine VM インスタンスで次のコマンドを実行して、Compute Engine VM インスタンスに Python サンプルアプリの要件を取得し、サンプルアプリを実行します。

    1. 仮想環境を初期化し、サンプルアプリの実行要件をインストールします。
      virtualenv --python python3 env
      .\env\Scripts\activate
      pip install -r requirements.txt
    2. サンプルアプリを実行します。
      python app.py
    3. 実行中のサンプルアプリを表示します。Compute Engine VM インスタンスでブラウザを開き、http://127.0.0.1:8080 に移動します。

      デプロイされたサンプルアプリを表示する

    サンプルアプリを停止するには、サンプルアプリを起動した Compute Engine VM インスタンスの Powershell ウィンドウで Ctrl+C キーを押します。

    クリーンアップ

    このページで使用したリソースについて、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 コンソールの [API] ページに移動します。

      [API] に移動

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

    次のステップ

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

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

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

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

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