【告知】値の参照時の仕様変更のお知らせ
このたび2024年11月11日に値の参照に関する仕様変更を予定しておりますので詳細について報告いたします。
more
2023.07.07に公開 | 2023.07.12に更新
Querier運営
「Querier(クエリア)」は社内向け管理画面を圧倒的な速さで、かつビジネスのスケールに合わせて柔軟に構築することができるローコードツールです。
管理画面の構築もWeb上で完結
エンジニアのためのローコードツール
今回は、Cloud SQLの特徴や料金、使い方から、Terraformでの管理方法まで詳しく解説します。
Cloud SQLは、Google Cloud Platformのフルマネージド型リレーショナルデータベースサービスです。Cloud SQLを使用することで、MySQLやPostgreSQLのようなデータベースをクラウド上で容易に設定し、使用することができます。
Cloud SQLの主な特徴としては、以下のような点が挙げられます。
Cloud SQLを使用する主なメリットは以下の通りです。
一方で、Cloud SQLには以下のようなデメリットも存在します。
Cloud SQLの料金は、主に以下の3つの要素によって決まります。
また、Cloud SQLは無料枠を提供していません。ですので、テストや開発で利用する際も料金が発生する点には注意が必要です。
Google Cloud Platformの公式ドキュメントでは、Cloud SQLの料金について詳細な情報を提供しています。具体的な料金や料金計算の例などは、以下のリンクをご覧ください。
Cloud SQLの料金
Cloud SQLを初めて使用する場合、以下の手順で初期設定を行います。
これでCloud SQLインスタンスの作成が完了し、クラウドでデータベースを使用する準備が整います。
Cloud SQLにはいくつかの接続方法がありますが、ここでは主に2つの接続方法、標準の接続方法とCloud SQL Proxyを使用した接続方法について詳しく説明します。
MySQLやPostgreSQLなど、標準的なリレーショナルデータベースに対する接続方法と同様に、JDBCやODBCなどの一般的な接続手段を使ってCloud SQLに接続することができます。
以下に、Goでの接続のサンプルコードを示します。
package main
import (
"database/sql"
"fmt"
_ "github.com/go-sql-driver/mysql"
)
func main() {
// Set up the database connection.
db, err := sql.Open("mysql", "user:password@tcp(cloud_sql_instance_ip:3306)/dbname")
if err != nil {
fmt.Println(err)
} else {
fmt.Println("Database successfully connected!")
}
defer db.Close()
}
このコードでは、Goの標準ライブラリの一部であるdatabase/sql
パッケージと、MySQLのドライバであるgo-sql-driver/mysql
を使ってCloud SQLのMySQLインスタンスに接続しています。
また、Cloud SQL Proxy
を使用することで、Cloud SQLのインスタンスに対して、より安全に接続することが可能です。Cloud SQL ProxyはローカルのネットワークインターフェースをCloud SQLのインスタンスにマップする役割を果たします。
Goでのサンプルコードは以下の通りです。
package main
import (
"database/sql"
"cloud.google.com/go/cloudsqlconn"
"cloud.google.com/go/cloudsqlconn/mysql/mysql"
)
func main() {
cleanup, err := mysql.RegisterDriver("cloudsql-mysql", cloudsqlconn.WithCredentialsFile("key.json"))
if err != nil {
// ... handle error
}
// call cleanup when you're done with the database connection
defer cleanup()
db, err := sql.Open(
"cloudsql-mysql",
"myuser:mypass@cloudsql-mysql(project:region:instance)/mydb",
)
// ... etc
}
Cloud SQL Proxyを使用して接続する際は、先程のTCPを使用した接続とは異なり、UNIXドメインソケットを使用して接続します。
公式ドキュメントの接続方法について詳しく解説されていますので、詳細はこちらをご覧ください。
Cloud SQLへの接続方法
Cloud SQLインスタンスは、Infrastructure as Code(IaC)ツールであるTerraformを用いて管理することが可能です。
以下に、TerraformのCloud SQLリソースの設定例を示します。
resource "google_sql_database_instance" "instance" {
name = "my-instance"
project = "my-project"
region = "us-central1"
database_version = "MYSQL_5_7"
settings {
tier = "db-f1-micro"
}
}
詳しくは、Terraformの公式ドキュメントをご確認ください。
この記事では、Cloud SQLの特徴や料金、初期設定、接続方法から、Cloud SpannerやAmazon RDSとの比較、そしてTerraformを用いた管理方法まで詳しく解説しました。
この情報が、Cloud SQLをより効果的に使用する上での一助となれば幸いです。
Cloud SQLを使用することで、あなたのアプリケーションはスケーラビリティと可用性の高いデータベースバックエンドを手に入れることができます。
是非、Cloud SQLを活用して、より良いアプリケーションを作成しましょう。
Querier運営
「Querier(クエリア)」は社内向け管理画面を圧倒的な速さで、かつビジネスのスケールに合わせて柔軟に構築することができるローコードツールです。
このたび2024年11月11日に値の参照に関する仕様変更を予定しておりますので詳細について報告いたします。
more
データフローの通知設定機能・監査ログへのパラメータが追加されましたのでご紹介します。
more
データフローのアクションに永続化などに利用できるローカルストレージ機能を追加しました。
more
日本を健康に。多彩なフィットネスブランドを展開中。スタジオ付きの「JOYFIT」、24時間型の「JOYFIT24」、ヨガスタジオ「JOYFIT YOGA」、パーソナルジム「JOYFIT+」、家族向けの「FIT365」など、多彩なブランド展開で全国を席巻しているスポーツ事業。
more
管理画面の構築もWeb上で完結
エンジニアのためのローコードツール