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

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

始める前に

  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 接続を開きます

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

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

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

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

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

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

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

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

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

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

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

  2. [インスタンスを作成] をクリックします。
  3. [SQL Server を選択] をクリックします。
  4. Compute API を有効にするように求められたら、[API を有効にする] ボタンをクリックします。
  5. [インスタンスの情報] セクションにインスタンス ID の名前を入力します。
  6. SQL Server ユーザーのパスワードを入力します。後で必要になるため、このパスワードをメモしておきます。
  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 つのウィンドウを使用します。最初のウィンドウは、sqlcmd クライアントと Cloud SQL Auth プロキシのインストール、インスタンス接続名の取得とプロキシの起動に使用されます。2 つ目のウィンドウは、プロキシ経由で Cloud SQL インスタンスに接続するために使用されます。

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

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

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

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

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

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

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

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

こちらの手順を使用して、Ubuntu 用の SQL Server コマンドライン ツール(mssql-tools)をインストールします。

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:1433 for myInstance
Ready for new connections

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

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

次のコマンドを実行します。USER_NAME は SQL Server のユーザー名に置き換えます。

sqlcmd -S 127.0.0.1 -U USER_NAME

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 インスタンスの SQL Server ユーザーデータベースの作成についても確認できます。

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