GCP CLI(RDS)

 

Cloud SQL

https://cloud.google.com/sql/docs/mysql?hl=ja
https://cloud.google.com/sql/docs/postgres?hl=ja
https://cloud.google.com/sql/docs/sqlserver?hl=ja


前作業

gcloud init
gcloud auth list

gcloud --version

gcloud projects create project01-9999999 \
--name="project01"

gcloud config list
gcloud config set project project01-9999999
gcloud config set compute/region asia-northeast1
gcloud config set compute/zone asia-northeast1-a

 

gcloud beta billing accounts list
gcloud beta billing projects link project01-9999999 --billing-account=111111-111111-111111

gcloud services enable compute.googleapis.com --project project01-9999999


---------------------------------------------
---------------------------------------------

[1] MySQL

インスタンスの作成
vCPU : 1
メモリ : 614.4 MB
HDD ストレージ : 10 GB


gcloud sql tiers list


gcloud sql instances create mysql01 \
--assign-ip \
--availability-type=zonal \
--database-version=MYSQL_8_0_30 \
--enable-bin-log \
--no-deletion-protection \
--retained-backups-count=1 \
--root-password='password' \
--no-storage-auto-increase \
--storage-size=10 \
--storage-type=HDD \
--tier=db-f1-micro \
--region=asia-northeast1


gcloud sql instances list
gcloud sql instances describe mysql01


インスタンスの削除

gcloud sql instances delete mysql01 --quiet

 

 

承認済みアドレスの設定

gcloud sql instances patch mysql01 \
--authorized-networks=192.0.2.1/32

インスタンスのクローンを作成する

gcloud sql instances clone mysql01 mysql02


---------------------------------------------


データベースの作成

gcloud sql databases create test \
--instance=mysql01

gcloud sql databases list --instance=mysql01

gcloud sql databases describe test --instance=mysql01

データベースの削除
gcloud sql databases delete test --instance=mysql01


---------------------------------------------

インスタンス接続

gcloud sql connect mysql01 --user=root


MYSQL_PWD='password' mysql -h 192.0.2.2 -P 3306 -u root


---------------------------------------------
インスタンスの起動停止

インスタンスの停止
gcloud sql instances patch mysql01 \
--activation-policy=NEVER

インスタンスの起動
gcloud sql instances patch mysql01 \
--activation-policy=ALWAYS


インスタンスの再起動

gcloud sql instances restart mysql01

 

---------------------------------------------

レプリカの作成

MySQL インスタンスレプリケーションを有効にするには、
最初に自動バックアップとポイントインタイム リカバリ(バイナリ ロギング)を有効にする必要があります。


gcloud sql instances create mysql11 \
--master-instance-name=mysql01 \
--region=asia-northeast1


レプリカの昇格
gcloud sql instances promote-replica mysql11


---------------------------------------------

オンデマンドバックアップ

gcloud sql backups create --instance=mysql01

gcloud sql backups list --instance=mysql01

gcloud sql backups describe 1111111111111 --instance=mysql01


バックアップの削除
gcloud sql backups delete 1111111111111 --instance=mysql01


---------------------------------------------

復元

gcloud sql backups restore 1111111111111 \
--restore-instance=mysql01

 

---------------------------------------------
---------------------------------------------
[2] PostgreSQL


インスタンスの作成
vCPU : 1
メモリ : 614.4 MB
HDD ストレージ : 10 GB


gcloud sql tiers list


gcloud sql instances create postgres01 \
--assign-ip \
--availability-type=zonal \
--database-version=POSTGRES_14 \
--enable-point-in-time-recovery \
--no-deletion-protection \
--retained-backups-count=1 \
--root-password='password' \
--no-storage-auto-increase \
--storage-size=10 \
--storage-type=HDD \
--tier=db-f1-micro \
--region=asia-northeast1


gcloud sql instances list
gcloud sql instances describe postgres01


インスタンスの削除

gcloud sql instances delete postgres01 --quiet

 

 

承認済みアドレスの設定

gcloud sql instances patch postgres01 \
--authorized-networks=192.0.2.1/32

インスタンスのクローンを作成する

gcloud sql instances clone postgres01 postgres02


---------------------------------------------


データベースの作成

gcloud sql databases create test \
--instance=postgres01

gcloud sql databases list --instance=postgres01

gcloud sql databases describe test --instance=postgres01

データベースの削除
gcloud sql databases delete test --instance=postgres01


---------------------------------------------

インスタンス接続

gcloud sql connect postgres01 --user=postgres --database=test


PGPASSWORD='password' psql -h 192.0.2.3 -p 5432 -U postgres test

---------------------------------------------
インスタンスの起動停止

インスタンスの停止
gcloud sql instances patch postgres01 \
--activation-policy=NEVER

インスタンスの起動
gcloud sql instances patch postgres01 \
--activation-policy=ALWAYS


インスタンスの再起動

gcloud sql instances restart postgres01

 

---------------------------------------------

レプリカの作成

 

gcloud sql instances create postgres11 \
--master-instance-name=postgres01 \
--region=asia-northeast1

 

レプリカの昇格
gcloud sql instances promote-replica postgres11


---------------------------------------------

オンデマンドバックアップ

gcloud sql backups create --instance=postgres01

gcloud sql backups list --instance=postgres01

gcloud sql backups describe 1111111111111 --instance=postgres01


バックアップの削除
gcloud sql backups delete 1111111111111 --instance=postgres01


---------------------------------------------

復元

gcloud sql backups restore 1111111111111 \
--restore-instance=postgres01

 

---------------------------------------------
---------------------------------------------
[3] SQL Server

 

インスタンスの作成
vCPU : 1
メモリ : 3840 MB
SSD ストレージ : 10 GB


gcloud sql tiers list


gcloud sql instances create mssql01 \
--assign-ip \
--availability-type=zonal \
--database-version=SQLSERVER_2019_EXPRESS \
--enable-point-in-time-recovery \
--no-deletion-protection \
--retained-backups-count=1 \
--root-password='password' \
--no-storage-auto-increase \
--storage-size=10 \
--storage-type=SSD \
--cpu=1 \
--memory=3840MiB \
--region=asia-northeast1

 

 

gcloud sql instances list
gcloud sql instances describe mssql01


インスタンスの削除

gcloud sql instances delete mssql01 --quiet

 

 

承認済みアドレスの設定

gcloud sql instances patch mssql01 \
--authorized-networks=192.0.2.1/32

インスタンスのクローンを作成する

gcloud sql instances clone mssql01 mssql02


---------------------------------------------


データベースの作成

gcloud sql databases create test \
--instance=mssql01

gcloud sql databases list --instance=mssql01

gcloud sql databases describe test --instance=mssql01

データベースの削除
gcloud sql databases delete test --instance=mssql01

→ 原因不明のエラー発生
ERROR: (gcloud.sql.databases.delete) [INTERNAL_ERROR]

---------------------------------------------

インスタンス接続

 

sqlcmd -S 192.0.2.4 -U sqlserver -d test


---------------------------------------------
インスタンスの起動停止

インスタンスの停止
gcloud sql instances patch mssql01 \
--activation-policy=NEVER


インスタンスの起動
gcloud sql instances patch mssql01 \
--activation-policy=ALWAYS


インスタンスの再起動

gcloud sql instances restart mssql01

 

---------------------------------------------

レプリカの作成

→ 調査日時点で未対応


---------------------------------------------

オンデマンドバックアップ

gcloud sql backups create --instance=mssql01

gcloud sql backups list --instance=mssql01

gcloud sql backups describe 1111111111111 --instance=mssql01


バックアップの削除
gcloud sql backups delete 1111111111111 --instance=mssql01


---------------------------------------------

復元

gcloud sql backups restore 1111111111111 \
--restore-instance=mssql01


---------------------------------------------

 

クリーンアップ

gcloud projects list

gcloud projects delete project01-9999999 --quiet