プライベート IP を使用して Cloud SQL for MySQL インスタンスに接続する
ここでは、MySQL インスタンスを作成し、プライベート IP を使用してそのインスタンスに接続する方法を説明します。このクイックスタートで作成されるリソースにかかる費用は、クリーンアップを含む手順を適切なタイミングで完了した場合、通常 1 ドル未満です。
このタスクを Google Cloud コンソールで直接行う際の順を追ったガイダンスについては、「ガイドを表示」をクリックしてください。
始める前に
- アカウントにログインします Google Cloud を初めて使用する場合は、 アカウントを作成して、実際のシナリオで Google プロダクトのパフォーマンスを評価してください。 Google Cloud新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
- このクイックスタートを完了するために必要な権限があることを 確認します。
-
必要な Google Cloud API を有効にします。
コンソール
Google Cloud コンソールで、[API] ページに移動します。
Cloud SQL Admin API を有効にします。この API を有効にすると、Cloud SQL Auth Proxy を実行できます。gcloud
次のボタンをクリックして Cloud Shell を開きます。これにより、ブラウザから Google Cloud リソースにコマンドラインで直接アクセスできます。Cloud Shell を使用することで、このクイックスタートで紹介する
gcloudコマンドを実行できます。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 を設定するために必要な権限を取得するには、設定して接続するプロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。
-
インスタンス、データベース、ユーザーの作成または削除:
Cloud SQL 管理者ロール(
roles/cloudsql.admin)。 -
IAM サービス アカウントの作成または削除:
IAM サービス アカウント管理者ロール(
roles/iam.serviceAccountAdmin)。 -
コンピューティング インスタンスの作成または削除:
-
Compute 管理者ロール (
roles/compute.admin) -
Compute インスタンス管理者のロール(
roles/compute.instanceAdmin.v1)。
-
Compute 管理者ロール (
-
接続を作成する:
-
Service Networking 管理者 (
roles/servicenetworking.networksAdmin)) -
Service Usage 管理者(
roles/serviceusage.serviceUsageAdmin)。
-
Service Networking 管理者 (
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
概要
プライベート IP アドレスを使用して Cloud SQL インスタンスに接続する際には、ソースが配置されている場所に応じて多くの方法が存在します。重要な要素は、ソースマシンが Cloud SQL インスタンスと同じ VPC ネットワーク内に存在する必要があることです。ソースが Google Cloud プロジェクトに存在しない場合、または同じ Google Cloud プロジェクトに存在しない場合は、ここで示すのとは異なる接続を構成する必要があります。
このクイックスタートでは、最も直接的な方法で接続を構成します。ソースとターゲットは同じ Google Cloud プロジェクトに属し、同じ VPC ネットワーク上に存在します。プライベート IP アドレス(ターゲット)と Compute Engine VM(ソース)を使用して、Cloud SQL インスタンスを作成します。VM から Cloud SQL インスタンスに接続するために必要なツールをインストールして使用します。
次の操作を行います。
- プライベート IP アドレスを使用して Cloud SQL インスタンスを作成します。
後で使用するため、インスタンスの
connection nameを見つけて保存します。 - Compute Engine VM を作成します。
- Compute Engine VM に対して 2 つの SSH 接続を開きます。
最初のウィンドウで mysql をインストールし、Cloud SQL Auth Proxy をインストールして起動します。2 つ目のウィンドウで Cloud SQL Auth Proxy に接続し、Cloud SQL インスタンスに接続します。
- SSH ウィンドウ #1 で、次の操作を行います。
- mysql クライアントをインストールします。
- Cloud SQL Auth Proxy をインストールします。
Cloud SQL Auth Proxy は、mysql クライアントと Cloud SQL インスタンスの間のコネクタとして機能します。
- Cloud SQL Auth Proxy を起動します。
成功すると、Cloud SQL Auth Proxy が接続リクエストをリッスンします。
- SSH ウィンドウ #2 で、mysql クライアントから Cloud SQL Auth Proxy に接続して、Cloud SQL インスタンスに接続します。
成功すると、このウィンドウには mysql プロンプトが表示されます。SSH ウィンドウ #1 には、Cloud SQL Auth Proxy が実行されていることを示す接続成功メッセージが表示されます。
- クリーンアップします。
プライベート IP アドレスを使用して Cloud SQL インスタンスを作成する
プライベート IP 接続を使用するインスタンスを作成するには、次の操作を行います。
-
コンソールで、[Cloud SQL のインスタンス] ページに移動します。 Google Cloud
- [MySQL] タブを選択し、[サンドボックス インスタンスを作成] を [サンドボックス] ボックスでクリックします。または、[**インスタンスを作成**] をクリックして、次の操作を行います。
- [MySQL を選択] をクリックします。
- [Enterprise] エディションを選択します。
- [サンドボックス] プリセットを選択します。
- [Compute API] を有効にするように求められたら、 [API を有効にする] ボタンをクリックします。
- [インスタンスの情報] セクションにインスタンス ID の名前を入力します。
- root ユーザーのパスワードを入力して後で必要になるため、作成したパスワード をメモしておきます。
- In the [Choose region and zonal availability] section, select the [Single zone] option.
- [構成オプションを表示] を開きます。
- [接続] を開きます。
- [パブリック IP] をクリアします。
- [プライベート IP] を選択します。
- [プライベート サービス アクセス(PSA)] を選択します。
- [VPC ネットワーク] プルダウンで [デフォルト] を選択します。
- 新しいプロジェクトを使用している場合は、 [ネットワーク接続が設定されていません] というメッセージが表示され、[ネットワーク 設定の確認が必要です] というボックスが表示されます。このボックスから、 [PSA の設定に関する VPC ドキュメント] に移動できます。
- コンソールで [**VPC ネットワーク**] ページに移動します。 Google Cloud
- デフォルト の VPC ネットワークを選択します。
- TCP ポート 22 へのアクセスを許可するファイアウォール ルールを設定します。
- [ファイアウォール] タブを選択します。
- [VPC ファイアウォール ルール] で、[VPC ファイアウォール ルールを作成] を選択します。
- ファイアウォール ルールに名前を付けます。
- [ターゲット] で、[ネットワーク上のすべてのインスタンス] を選択します。
- [送信元 IPv4 範囲] に
0.0.0.0/0と入力します。 - [プロトコルとポート] で、[TCP] をオンにして、
すぐ下の [ポート] ボックスに「
22」と入力します。 - [作成] を選択します。
- IP アドレス範囲を割り振ります。
- [プライベート サービス アクセス] タブを選択します。
- [**プライベート サービス アクセス**] タブで、[**サービスに割り当てられた IP 範囲**] タブを選択します。
- [IP 範囲の割り当て] をクリックします。
- 割り当て範囲の名前 と説明 (省略可)を入力します。
- 利用可能な範囲を Google に選択させるには、[自動] を選択します。
16~ 124 のプレフィックス長を入力します(割り振られるアドレスの数は 2 の(32 - プレフィックス長)乗になります)。- [割り当て] をクリックして、割り振る範囲を作成します。
- プライベート接続を作成します:
- [**プライベート サービス アクセス**] タブで、[**サービスへのプライベート接続**] タブに切り替えます。
- [接続を作成] ボタンをクリックします。
- [割り当て] プルダウンで、[プライベート接続を作成] ボックスの先ほど作成した IP アドレス範囲の名前を選択します。
- [接続] をクリックします。
- 接続が作成されたら、Cloud SQL インスタンスを作成していた場所に戻り、[接続を確認] をクリックします。
- PSA 接続が正常に作成されたら、 [インスタンスを作成] をクリックします。
新しいインスタンスが作成されると、インスタンスの概要ページが表示されます。
インスタンスの作成が完了したら、[このインスタンスに接続] セクションまでスクロールし、インスタンスの接続名 を保存します。connection name の形式は projectID:region:instanceID です。この connection name は、後で Cloud SQL Auth Proxy を起動するときに使用します。
Compute Engine VM を作成する
VM を作成する手順は次のとおりです。
-
コンソールで、[VM インスタンス] ページに移動します。 Google Cloud
- [インスタンスを作成] をクリックします。
- インスタンスの名前 を入力します。
- ナビゲーション パネルで [データ保護] を選択し、[バックアップなし] を選択します。
- ナビゲーション パネルで [セキュリティ] を選択し、[アクセス スコープ] で [すべての Cloud API に完全アクセス権を許可] を選択します。
- [作成] をクリックして、VM の作成が完了するまで待ちます。
Compute Engine VM への 2 つの SSH 接続を開く
VM で 2 つのウィンドウを使用します。最初のウィンドウは、mysql クライアントと Cloud SQL Auth Proxy のインストール、インスタンス接続名の取得とプロキシの起動に使用されます。2 つ目のウィンドウは、プロキシ経由で Cloud SQL インスタンスに接続するために使用されます。
- Compute Engine VM インスタンスの [接続] 列で [SSH] メニューを開きます。
- [ブラウザ ウィンドウで開く] を選択して、SSH ウィンドウ #1 を開きます。
ウィンドウ内に利用可能というプロンプトが表示されるまでに数秒かかる場合があります。
- プロンプトが表示されたら、「
pwd」と入力して/home/$USERディレクトリにいることを確認します。このウィンドウで、mysql クライアントと Cloud SQL Auth Proxy をインストールし、さらに Cloud SQL Auth Proxy を起動します。
- もう一度 [ブラウザ ウィンドウで開く] を選択して、SSH ウィンドウ #2 を開きます。
このウィンドウを使用して Cloud SQL インスタンスに接続します。
mysql クライアントをインストールする
この手順では SSH ウィンドウ #1 を使用します。
MySQL クライアントをパッケージ マネージャーからインストールし、mysqld サーバーを停止します。
sudo apt-get update sudo apt-get install default-mysql-client
Cloud SQL Auth Proxy をインストールする
この手順では SSH ウィンドウ #1 を使用します。
wgetをインストールします。sudo apt-get install wget
- 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
- 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 アカウントに課金されないようにするには、 次の手順を実施します。
-
Google Cloud コンソールで、Cloud SQL の [インスタンス] ページに移動します。
myinstanceインスタンスを選択して [インスタンスの詳細] ページを開きます。- ページ上部にあるアイコンバーで、[削除] をクリックします。
- インスタンスの削除ウィンドウでインスタンスの名前を入力し、[削除] をクリックします。
省略可能なクリーンアップ手順
このクイックスタートで有効にした API を使用しない場合は、無効にすることができます。
- このクイックスタートで有効にした API:
- Cloud SQL Admin API
Google Cloud コンソールで、[API] ページに移動します。
Cloud SQL Admin API を選択し、[API を無効にする] ボタンをクリックします。
Google Cloud コンソールで、[VM インスタンス] ページに移動します。
インスタンスの名前を選択します。
[その他の操作] メニューから [削除] を選択します。
次のステップ
必要に応じて、Cloud SQL インスタンスの作成で詳細をご確認ください。
Cloud SQL インスタンスの MySQL ユーザーとデータベースの作成についても学習できます。
また、他の Google Cloud アプリケーションから Cloud SQL インスタンスへの接続についても確認できます。