プライベート IP を使用して Cloud SQL for MySQL インスタンスに接続する

ここでは、MySQL インスタンスを作成し、プライベート IP を使用してそのインスタンスに接続する方法を説明します。このクイックスタートで作成されるリソースにかかる費用は、クリーンアップを含む手順を適切なタイミングで完了した場合、通常 1 ドル未満です。


このタスクを Google Cloud コンソールで直接行う際の順を追ったガイダンスについては、「ガイドを表示」をクリックしてください。

ガイドを表示


始める前に

  1. Google Cloud アカウントにログインします。Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
  2. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

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

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

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

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

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

  6. 必要な Google Cloud APIs を有効にします。

    Console

    Google Cloud Console の [API] ページに移動します。

    [API] に移動

    Cloud SQL Admin API を有効にします。この API を有効にすると、Cloud SQL Auth Proxy を実行できます。

    gcloud

    次のボタンをクリックして Cloud Shell を開きます。これにより、ブラウザから Google Cloud リソースにコマンドラインで直接アクセスできます。Cloud Shell を使用して、このクイックスタートで紹介する gcloud コマンドを実行できます。

    Cloud Shell を開く

    Cloud Shell を使用して、次のように gcloud services enable コマンドを実行し、このクイックスタートに必要な API を有効にします。

    gcloud services enable sqladmin.googleapis.com

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

    • Cloud SQL Admin APIこの API を有効にすると、Cloud SQL Auth Proxy を実行できます。

概要

プライベート IP アドレスを使用して Cloud SQL インスタンスに接続する際には、ソースが配置されている場所に応じて多くの方法が存在します。重要な要素は、ソースマシンが Cloud SQL インスタンスと同じ VPC ネットワーク内に存在する必要があることです。ソースが Google Cloud に存在しない場合、または同じ Google Cloud プロジェクトに存在しない場合は、ここで示すのとは異なる接続を構成する必要があります。

このクイックスタートでは、最も直接的な方法で接続を構成します。ソースとターゲットは同じ Google Cloud プロジェクトに属し、同じ VPC ネットワーク上に存在します。プライベート IP アドレス(ターゲット)と Compute Engine VM(ソース)を使用して、Cloud SQL インスタンスを作成します。VM から Cloud SQL インスタンスに接続するために必要なツールをインストールして使用します。

次の操作を行います。

  1. プライベート IP アドレスを使用して Cloud SQL インスタンスを作成します

    後で使用するため、インスタンスの connection name を見つけて保存します。

  2. Compute Engine VM を作成します
  3. Compute Engine VM に対して 2 つの SSH 接続を開きます

    最初のウィンドウで mysql をインストールし、Cloud SQL Auth Proxy をインストールして起動します。2 つ目のウィンドウで Cloud SQL Auth Proxy に接続し、Cloud SQL インスタンスに接続します。

  4. SSH ウィンドウ #1 で、次の操作を行います。
    1. mysql クライアントをインストールします
    2. Cloud SQL Auth Proxy をインストールします

      Cloud SQL Auth Proxy は、mysql クライアントと Cloud SQL インスタンスの間のコネクタとして機能します。

    3. Cloud SQL Auth Proxy を起動します

      成功すると、Cloud SQL Auth Proxy が接続リクエストをリッスンします。

  5. SSH ウィンドウ #2 で、mysql クライアントから Cloud SQL Auth Proxy に接続して、Cloud SQL インスタンスに接続します。

    成功すると、このウィンドウには mysql プロンプトが表示されます。SSH ウィンドウ #1 には、Cloud SQL Auth Proxy が実行されていることを示す接続成功メッセージが表示されます。

  6. クリーンアップします。

プライベート IP アドレスを使用して Cloud SQL インスタンスを作成する

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

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

  2. [インスタンスを作成] をクリックします。
  3. [MySQL を選択] をクリックします。
  4. Compute API を有効にするように求められたら、[API を有効にする] ボタンをクリックします。
  5. [インスタンスの情報] セクションにインスタンス ID の名前を入力します。
  6. root ユーザーのパスワードを入力します。後で必要になるため、このパスワードをメモしておきます。
  7. [リージョンとゾーンの可用性の選択] セクションで、[シングルゾーン] オプションを選択します。
  8. [構成オプションを表示] を開きます。
  9. [接続] を開きます。
  10. [パブリック IP] をクリアします。
  11. [プライベート IP] を選択します。
  12. [ネットワーク] プルダウンで [デフォルト] を選択します。
  13. 新しいプロジェクトを使用している場合は、「Private service connection required」というメッセージが表示されます。次に、以下の手順を行います。
    1. [接続の設定] をクリックします。
    2. [Service Networking API の有効化] をクリックします。
    3. [IP 範囲を割り振る] セクションで、[自動的に割り振られた IP 範囲を使用する] を選択します。
    4. [続行] をクリックします。
    5. [接続を作成] をクリックし、接続の作成が完了するまで待ちます。
  14. [インスタンスを作成] をクリックします。

インスタンスの概要ページが表示されます。新しいインスタンスをクリックして、プライベート IP アドレスを含む詳細を表示します。

[このインスタンスに接続] セクションで、インスタンスの接続名をコピーして保存します。connection name の形式は projectID:region:instanceID です。

後で Cloud SQL Auth Proxy を起動する際に、この connection name を使用します。

Compute Engine VM を作成する

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

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

  2. [インスタンスを作成] をクリックします。
  3. インスタンスの名前を入力します。
  4. [アクセス スコープ] では、[すべての Cloud APIs に完全アクセス権を許可] を選択します。
  5. [作成] をクリックして、VM の作成が完了するまで待ちます。

Compute Engine VM への 2 つの SSH 接続を開く

VM で 2 つのウィンドウを使用します。最初のウィンドウは、mysql クライアントと Cloud SQL Auth Proxy のインストール、インスタンス接続名の取得とプロキシの起動に使用されます。2 つ目のウィンドウは、プロキシ経由で Cloud SQL インスタンスに接続するために使用されます。

  1. Compute Engine VM インスタンスの [接続] 列で [SSH] メニューを開きます。
  2. [ブラウザ ウィンドウで開く] を選択して、SSH ウィンドウ #1 を開きます。

    ウィンドウ内に利用可能というプロンプトが表示されるまでに数秒かかる場合があります。

  3. プロンプトが表示されたら、「pwd」と入力して /home/$USER ディレクトリにいることを確認します。

    このウィンドウで、mysql クライアントと Cloud SQL Auth Proxy をインストールし、さらに Cloud SQL Auth Proxy を起動します。

  4. もう一度 [ブラウザ ウィンドウで開く] を選択して、SSH ウィンドウ #2 を開きます。

    このウィンドウを使用して Cloud SQL インスタンスに接続します。

mysql クライアントをインストールする

この手順では SSH ウィンドウ #1 を使用します。

MySQL クライアントをパッケージ管理システムからインストールし、mysqld サーバーを停止します。

sudo apt-get update
sudo apt-get install mariadb-client-10.6
  

Cloud SQL Auth Proxy をインストールする

この手順では SSH ウィンドウ #1 を使用します。

  1. wget をインストールします。
    sudo apt-get install wget
        
  2. Cloud SQL Auth Proxy をダウンロードします。
    wget https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.8.2/cloud-sql-proxy.linux.amd64 \
    -O cloud-sql-proxy
      
  3. Cloud SQL Auth Proxy を動作可能にします。
    chmod +x cloud-sql-proxy
      

Cloud SQL Auth Proxy を起動する

この手順では SSH ウィンドウ #1 を使用します。

Cloud SQL Auth Proxy を起動して、その出力をモニタリングします。INSTANCE_CONNECTION_NAME は、Cloud SQL インスタンスの作成時にコピーした connection name に置き換えます。

./cloud-sql-proxy --private-ip INSTANCE_CONNECTION_NAME

Cloud SQL Auth Proxy が正常に起動すると、SSH ウィンドウに次のようなメッセージが表示されます。

Listening on 127.0.0.1:3306 for myInstance
Ready for new connections

Cloud SQL インスタンスに接続する

この手順では SSH ウィンドウ #2 を使用します。

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

mysql -u root -p --host 127.0.0.1 --port 3306

Enter password: プロンプトで、MySQL root ユーザー アカウントのパスワードを入力します。

MySQL プロンプトが表示されていることを確認します。mysql クライアントを使用してデータベースに接続しています。

Cloud SQL Auth Proxy を起動したターミナル ウィンドウに戻ります。次のようなメッセージが表示されます。

New connection for myInstance

クリーンアップ

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

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

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

  2. myinstance インスタンスを選択して [インスタンスの詳細] ページを開きます。
  3. ページ上部にあるアイコンバーで、[削除] をクリックします。
  4. インスタンスの削除ウィンドウでインスタンスの名前を入力し、[削除] をクリックします。

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

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

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

    [API] に移動

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

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

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

  4. インスタンスの名前を選択します。

  5. [その他の操作] メニューから [削除] を選択します。

次のステップ

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

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

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