GCP Cloud SQLにCloud SQL Proxyで接続しよう。Systemd化してデーモン化!

ホーム > 業務日誌 > スタッフ別 > > GCP Cloud SQLにCloud SQL Proxyで接続しよう。Systemd化してデーモン化!

GCP

今回はGoogle Cloud SQLを作成してみましょう。

 

データベースのマネージドサービスで、AWSでいうRDS/Auroraが相当します。GoogleのマネージドDBのGoogle Cloud SQLはIPベースでのホワイトリスト化で接続できます。しかし、少し手間にはなりますが認証キーによるAPIで接続するのが推奨されています、その理由としては、オートスケールを想定するとIPベースでの対応は難しいですが、ファイル認証のAPI形式は共通化できる為簡単に要件を満たせスマートになるのですね。

 

Cloud SQL v2 気になる性能

Googleでは公式ブログで、「Amazon Web Services(AWS)」で提供されているリレーショナルデータベースサービス「Aurora」との「sysbench」による比較を掲載。Cloud SQLのトランザクションあたりの待ち時間はAuroraの約半分で、1秒あたりのトランザクションを2倍にできるとしている。また、エンドツーエンドのレイテンシーについても半分以下とのことだ。

@see INTERNET Watch

AWS Auroraと比較しても性能が良いことがわかりますね。

 

 

 

 

Google Cloud SQLを作成しよう!

サイドバーから【SQL】を選んでね。

 

【インスタンスを作成】をクリックするよ。

 

 

 

MySQLを選択するよ。Cloud SQLのPostgreSQLはベータの品質だから、本番利用では気をつけてね。

 

 

もちろん、【第2世代を選択】をクリックしよう。過去は振り返らないよ。

 

Google Cloud SQL

インスタンスIDに任意の名前を。パスワードは好きなものを設定してね。

日本での利用ならリージョンは”asia-northeast1″で決まり。ゾーンは好きなのを選んでね。

【設定オプションを表示】するをクリックしよう。

 

 

 

Google Cloud SQL

お財布は痛いけど、【フェイルオーバーレプリカの作成】はおすすめです。マスターのDBが落ちたら、状況把握してすかさずマスターになるような頼れるやつ。ぜひチェックしていこう。

 

 

好きな時刻に設定してね。アクセスの少ない日曜の朝がおすすめだよ。

 

【作成】をクリックしよう。

 

Google Cloud SQL

疲れたね。

作成には数分かかるから、紅茶でも飲もうね。

 

 

データベースが仲良くならんでるね。これでオーケー。

 

 

APIでGCEから接続できるようにしよう!

Google Cloud SQL

下記のリンクにアクセスすると上の画面になるよ。

https://console.cloud.google.com/flows/enableapi?apiid=sqladmin&hl=ja

 

設定したいプロジェクトを選んで続行をクリックしよう。

 

 

これでGoogle Cloud SQL APIが有効になったよ。APIを利用するユーザを作成するよ。【認証情報に進む】をクリックしようね。

 

Google Cloud SQL

Google Compute Engineから接続するから、【はい、1つまたは両方を使用しています】にチェックを入れて、【必要な認証情報】をクリックしよう。

 

Google Cloud SQL

【サービスアカウント】をクリックしよう

 

 

 

Google Cloud SQL

【サービスアカウントを作成】をクリックしよう。

 

Google Cloud SQL

サービスアカウント名は好きなものを入力しよう。

役割の選択をしよう、【Project】>> 【編集者】を選択するよ。

 

 

 

Google Cloud SQL

【新しい秘密鍵の提供】にチェック、キーのタイプは【JSON】にチェックを入れて、【作成】をクリックしようね。

 

 

 

 

JSONファイルが自動的にダウンロードされるよ。この後使うから大事にもっておこう。

【閉じる】をクリックしてね。

 

 

 

Google Cloud SQL

ここのインスタンス接続名も重要だよ、メモ帳などにコピペしておこう。

 

 

 

 

Cloud SQL Proxyをインストールしよう

 

 

ダウンロードしてあった鍵ファイルを貼り付けよう。

これが認証キーになるよ。

 

ソケットになるディレクトリを作るよ。

 

 

 

“-instances=インスタンス接続名”にはメモした接続名を入れてね。

これでCloud SQL Proxyが起動することが出来たよ。

 

違うコンソールを開いて接続できるか確認してね。

 

 

Google Cloud SQL

接続できたね。

でも、これだとサーバを再起動をしたりしたらCloud SQL Proxyは立ち上がらないね。困ったね。Systemd化すれば再起動しても自動で起動することも簡単になるよ。

 

 

 

 

Systemd化しよう

ExecStartの-instances=の後はGoogle Cloud SQLの接続インスタンス名を環境に合わせてそれぞれ変更してね。

 

自動起動設定を行おうね。

 

再起動しよう

再起動してCloud SQL Proxyが起動していたら大丈夫。

お疲れ様です。

 

金広 優(エンジニア)

この記事を書いた人:金広 優(エンジニア)

システムガーディアン爆弾処理班。アクセス負荷対策やNginxへの移行案件が多いこの頃。GCP, AWS, IBM BlueMix Infrastructureなどクラウド案件が多くなってきました。

この記事に関してのお問い合わせ
御連絡・ご返信は原則2営業日以内を予定しております。
お急ぎの場合は、お手数ですが下記電話でもご対応をしております。

システムガーディアン株式会社
受付時間:平日9:00~18:00
受付担当:坪郷(つぼごう)・加藤
電話:03-6758-9166