【Cloud SQL】MySQLインスタンス・DB作成
2023.04.07
2023.04.07
Cloud SQLでDBを作成してみます。
ローカルから接続する方法はこちら
はじめる
メニューからSQLを選択。
![説明画像1](https://images.ctfassets.net/7w2194s67vda/5QQuu9YlTTpYJdj6h5JPSI/4ddc1556f57444f827a522d4acc199fe/cloudsql-mysql1.png)
Cloud SQL APIを有効化して、インスタンスを作成する。
インスタンスの作成
データベース エンジンの選択
DBエンジンを選択する。今回はMySQL。
![説明画像2](https://images.ctfassets.net/7w2194s67vda/5dibn2sQTh90hdz1XfJAYb/bb908fbbc0144a4c4efd22e3bdcb6f43/cloudsql-mysql2.png)
インスタンスの作成
公式リファレンスはこちら。
![説明画像3](https://images.ctfassets.net/7w2194s67vda/4nVbTrSTuWFs655Dt5Chi1/d995cce6d38eed7e0daebdf3d95e2c42/cloudsql-mysql3.png)
- インスタンスID:任意のインスタンスIDを入力します。
- パスワード:任意のパスワードを入力します。rootのパスワードになります。
- データベースのバージョン:任意のバージョンを選択します。
- リージョン:任意のリージョンを選択します。リージョンによって料金が変わる&一度選択すると後から変えられないので注意!
- ゾーンの可用性:個人用ならシングルゾーンでOKかと。複数のゾーン(高可用性)を選択すると、可用性が高くなる代わりにおよそ料金が二倍になります。
マシンタイプ
![説明画像4](https://images.ctfassets.net/7w2194s67vda/5evjLUx6wa8rinXRa2hwY/6d80980d78998faf789e1e1ffdeebb1e/cloudsql-mysql4.png)
プリセットは性能が低いものから順に共有コア、軽量、標準、ハイメモリ。また細かくカスタムすることも可能です。後から変更可能です。
ストレージ
![説明画像5](https://images.ctfassets.net/7w2194s67vda/5jI4eKq477eb1MHP0Qfife/b371f9e9170224b0d996aae0a6709daa/cloudsql-mysql5.png)
- ストレージの種類:まあ無難にSSDを選択。パフォーマンスをおいといて料金を安くしたいならHDDを選択してもいいが、まあオススメはしません。
- ストレージ容量:増加なら後から変更可能です。容量を減らす事はできません。
接続
![説明画像6](https://images.ctfassets.net/7w2194s67vda/5w3OFOHuiFPWbR3tvURkFK/a4bfea2eb7c1acb4a7de12b913682018/cloudsql-mysql6.png)
- プライベートIP:プライベートIPを使用します。一度有効にすると無効にでないので注意!
- パブリックIP:インスタンスにはパブリックIPv4アドレスが割り振られます。一度無効にして再有効化するとIPアドレス変わるので注意。デフォルトでアクセス制限されているので。アクセスを有効にするには、承認済みネットワークにIPを追加します。
- 承認済みネットワーク:デフォルトでアクセス制限されているので、アクセスを有効にするには承認済みネットワークにIPを追加します。ただ、Cloud SQL Proxyを使用しても接続できるので、ローカルから接続する場合などこちらの記事を参考にしてください。
バックアップ
![説明画像7](https://images.ctfassets.net/7w2194s67vda/7AjKxOSzDb5xT8eugdZVOG/732393c63696870c04d393886796e732/cloudsql-mysql7.png)
![説明画像8](https://images.ctfassets.net/7w2194s67vda/7d0lDWhIlKBAo8INxvB6J6/fc8c5f8c2a0802448e107e66725f76e3/cloudsql-mysql8.png)
自動バックアップの設定をします。バックアップ時間やリージョンの選択、ポイントタイムリカバリの設定をポチポチ。
メンテナンス・フラグ・ラベル
![説明画像9](https://images.ctfassets.net/7w2194s67vda/22cA3s9fvjoAtr9oDO8rD6/66457494d4820bbe7ae455cb0054725d/cloudsql-mysql9.png)
![説明画像10](https://images.ctfassets.net/7w2194s67vda/oVXVkhmzeaWjQwFHKZ8RU/3023ab873404e33038ad9245d7512791/cloudsql-mysql10.png)
とりあえず今回はそのままで割愛。
DBの作成
メニュー > SQL > データベース > データベースの作成を選択。必要項目を入力して作成。
![説明画像11](https://images.ctfassets.net/7w2194s67vda/1I1oRvSKBpJqYjDuFv66HE/8742851f09ab57fdf7870884c3b79ab3/cloudsql-mysql11.png)
![説明画像12](https://images.ctfassets.net/7w2194s67vda/6I4QMetNdXAi8YmmYrY7CF/291f84b843d5186ab10f18a54ca66798/cloudsql-mysql12.png)
DBに接続
・概要 > Cloud Shellを開く。
![説明画像13](https://images.ctfassets.net/7w2194s67vda/4ZY6biri3GSvUZcjrfM3Sn/167264dcfb89ed952e474535190745b4/cloudsql-mysql13.png)
・Cloud Shellが開いたら以下のコードが入力されてるのでEnterを押下。
gcloud sql connect chillemo-db --user=root --quiet
・Cloud SQL Admin APIが有効化されてないとエラーが出るので、エラーに書いてあるURLをクリック。
⇒Cloud SQL Admin API を有効化する。Cloud Shellで上記コマンドを再実行。
・インスタンス作成の際のパスワードを入力・ログイン!
あとはSQLでテーブル等作成してください。
USE DB名;
-- サンプルマスタ
CREATE TABLE `m_sample` (
`id` SMALLINT AUTO_INCREMENT NOT NULL COMMENT 'ID'
, `name` VARCHAR(255) NOT NULL COMMENT '名前'
, `delete_flg` TINYINT(1) COMMENT '削除フラグ:1:削除済み'
, `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL COMMENT '作成日'
, `update_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL COMMENT '更新日'
, CONSTRAINT `m_sample_PKC` PRIMARY KEY (`id`)
) COMMENT 'サンプルマスタ' ;
ALTER TABLE `m_sample` ADD UNIQUE `uq_m_sample_01` (`name`) ;