Cloud Shell から Cloud SQL for MySQL に接続する
このページでは、MySQL インスタンスを作成して接続し、 Google Cloud コンソールとクライアントを使用して基本的な SQL オペレーションを実行する方法を説明します。このクイックスタートで作成されるリソースにかかる費用は、クリーンアップを含む手順を適切なタイミングで完了した場合、通常 1 ドル未満です。
始める前に
-
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 APIs を有効にします。
コンソール
Google Cloud コンソールで、[API] ページに移動します。
Cloud SQL Admin API を有効にします。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
-
プロジェクトに次のロールがあることを確認します。 Cloud SQL 管理者(
roles/cloudsql.admin)ロールを確認する
-
Google Cloud コンソールで、[IAM] ページに移動します。
IAM に移動 - プロジェクトを選択します。
-
[プリンシパル] 列で、自分または自分が所属するグループの行をすべて確認します。所属するグループについては、管理者にお問い合わせください。
- 自分のメールアドレスを含む行の [ロール] 列で、ロールのリストに必要なロールが含まれているかどうか確認します。
ロールを付与する
-
Google Cloud コンソールで、[IAM] ページに移動します。
IAM に移動 - プロジェクトを選択します。
- [ アクセスを許可] をクリックします。
-
[新しいプリンシパル] フィールドに、ユーザー ID を入力します。 これは通常、Workforce Identity プール内のユーザーの ID です。詳細については、IAM ポリシーで Workforce プールユーザーを表すをご覧いただくか、管理者にお問い合わせください。
- [ロールを選択] をクリックし、ロールを検索します。
- 追加のロールを付与するには、 [別のロールを追加] をクリックして各ロ��ルを追加します。
- [保存] をクリックします。
-
Cloud SQL インスタンスを作成する
このクイックスタートでは、 Google Cloud コンソールを使用します。gcloud CLI、curl、PowerShell を使用するには、インスタンスの作成をご覧ください。
-
Google Cloud コンソールで、Cloud SQL の [インスタンス] ページに移動します。
- [インスタンスを作成] をクリックします。
- [インスタンスを作成] メニューから、[新しいインスタンス] を選択します。
- [MySQL を選択] をクリックします。
- [インスタンス ID] フィールドに「
myinstance」と入力します。 - [パスワード] フィールドに、
rootユーザーのパスワードを入力します。 [インスタンスを作成] をクリックします。
インスタンスのリストに戻ります。新しいインスタンスをすぐにクリックして詳細を表示できますが、初期化と起動が完了するまで他のオペレーションには使用できません。
インスタンスに接続する
このクイックスタートでは、Cloud Shell の MySQL クライアントを使用してインスタンスに接続します。Cloud Shell はリモートのサンドボックス化された環境です。
- オプション: MySQL のローカル インスタンスを実行している場合は、そのインスタンスを停止した後、Cloud SQL インスタンスに接続します。そうしない場合、
address already in useなどの��ラーが発生する可��������あ��ます。 Google Cloud コンソールで、右上隅の Cloud Shell アイコン(
)をクリックします。Cloud Shell の初期化が完了すると、次のようなメッセージが表示されます。
Welcome to Cloud Shell! Type "help" to get started. Your Cloud Platform project in this session is set to sample-project. Use "gcloud config set project [PROJECT_ID]" to change to a different project. username@sample-project:~ (sample-project)$
- 省略可: Google ユーザー認証情報を使用した Google Cloud Platform へのアクセスを gcloud CLI で承認していない場合は、
gcloud auth loginコマンドを使用します。 Cloud Shell プロンプトで、Cloud SQL インスタンスに接続します。次のように
gcloud sql connectコマンドを使用します。インスタンス名が異なる場合は、インスタンス名を置き換えてください。gcloud sql connect myinstance --user=root
- ダイアログで [承認] をクリックして、Cloud Shell で API 呼び出しを行うことを承認します。
次のメッセージが表示されます。
Allowlisting your IP for incoming connection for 5 minutes...done.
このメッセージは、Cloud SQL インスタンスのパブリック IP アドレスによる受信接続の確立が許可されていることを示しています。このメッセージの後、パスワードの入力を求めるメッセージが表示されます。
root パスワードを入力します。
mysqlプロンプトが表示されます。
データベースを作成してデータをアップロードする
- Cloud SQL インスタンスに SQL データベースを作成します。
CREATE DATABASE guestbook;
- guestbook データベースにサンプルデータを挿入します。
USE guestbook; CREATE TABLE entries (guestName VARCHAR(255), content VARCHAR(255), entryID INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(entryID)); INSERT INTO entries (guestName, content) values ("first guest", "I got here!"); INSERT INTO entries (guestName, content) values ("second guest", "Me too!");
- データを取得します。
結果:SELECT * FROM entries;
+--------------+-------------------+---------+ | guestName | content | entryID | +--------------+-------------------+---------+ | first guest | I got here! | 1 | | second guest | Me too! | 2 | +--------------+-------------------+---------+ 2 rows in set (0.00 sec) mysql>
クリーンアップ
このページで使用したリソースについて、 Google Cloud アカウントに課金されないようにするには、次の手順を実施します。
-
Google Cloud コンソールで、Cloud SQL の [インスタンス] ページに移動します。
myinstanceインスタンスを選択して [インスタンスの詳細] ページを開きます。- ページ上部にあるアイコンバーで、[削除] をクリックします。
- インスタンスの削除ウィンドウでインスタンスの名前を入力し、[削除] をクリックします。
省略可能なクリーンアップ手順
このクイックスタートで有効にした API を使用しない場合は、無効にすることができます。
- このクイックスタートで有効にした API:
- Cloud SQL Admin API
Google Cloud コンソールで、[API] ページに移動します。
Cloud SQL Admin API を選択し、[API を無効にする] ボタンをクリックします。
次のステップ
Cloud SQL インスタンスの作成について確認する。
Cloud SQL インスタンスの MySQL ユーザーとデータベースの作成について確認する。
Cloud SQL の料金情報を確認する。
このクイックスタートでは、Cloud Shell を使用してインスタンスに接続します。Cloud SQL のすべての接続オプションについて学習する。接続方法はネットワーク構成によって異なります。たとえば、Cloud SQL インスタンスの IP アドレスがパブリックかプライベートかによって異なります。パブリック IP アドレスまたはプライベート IP アドレスを使用して Cloud SQL インスタンスを構成する方法を確認する。
他の Google Cloud アプリケーションから Cloud SQL インスタンスに接続する方法を学習する。