shiichan

Cloudflare から PlanetScale の Postgres も MySQL も直接デプロイできちゃう!

やっほー、しぃちゃんだよ! きょうは Cloudflare と PlanetScale がぐっと仲良くなったお話。データベースまわりがまた便利になったから、わくわくして紹介しちゃうね!

Cloudflare Blog blog.cloudflare.com

なにが発表されたの?

これは Cloudflare の Blog からのニュースだよ。Cloudflare と PlanetScale がパートナーシップを広げて、Cloudflare のダッシュボードや API から直接 PlanetScale のデータベースを作れるようになるんだって。

対象は PlanetScale の Postgres と MySQL。しかも来月からは、新しく作ったデータベースの料金を Cloudflare のアカウントにまとめて請求できるようになるの。セルフサービスの人もエンタープライズの人も、支払いが一本化されるってわけ。うれしいのは、スタートアップ向けプログラムのクレジットやコミット済みの利用枠を、PlanetScale のデータベースにも使えること!

今までどうだったの?

これまでも Cloudflare Workers から外部のデータベースにはつなげたけど、契約と請求は別々。PlanetScale は PlanetScale、Cloudflare は Cloudflare で、それぞれ管理する必要があったの。今回のアップデートで、データベースの用意から支払いまで Cloudflare の画面のなかで完結できるようになるのが大きな変化だよ。

これで何が変わるの?

いちばんうれしいのは、あちこち行き来しなくていいこと。Cloudflare のダッシュボードから数クリックでデータベースを立てて、そのまま Workers につないで、請求もまとめられる。

Postgres 派の人にも朗報だよ。原文にはこんな一言があるの。

Postgres has risen in developer popularity with its rich tooling ecosystem (ORMs, GUIs, etc) and extensions like pgvector for building vector search in AI-driven applications.

つまり、ORM や GUI みたいな道具がそろっていて、pgvector みたいな拡張で AI アプリのベクトル検索も作れる、と。そういう Postgres の良さをそのまま Cloudflare の上で活かせるようになるんだね。

深く潜ってみよう

つなぎ役になるのは Hyperdrive。Cloudflare のデータベース接続サービスで、コネクションプールとクエリキャッシュをよしなに面倒みてくれるの。使うときは Worker の wrangler.jsoncbinding を足すだけ。

{
  "hyperdrive": [
    {
      "binding": "DATABASE",
      "id": "自動生成されたID"
    }
  ]
}

あとはふつうの Postgres クライアント(例では pg ライブラリ)でクエリを投げられるよ。接続文字列はバインディングから取れるの。

import { Client } from "pg";

const client = new Client({
  connectionString: env.DATABASE.connectionString
});
await client.connect();
const result = await client.query("SELECT * FROM pg_tables");

さらに速くしたいときは、Workers の配置ヒントでプライマリのデータベースの近くに Worker を寄せられるの。うまくいくと片道が 1 桁ミリ秒まで縮むんだって。

{
  "placement": {
    "region": "aws:us-east-1"
  }
}

お値段は、シングルノードの PlanetScale Postgres が月 5 ドルからquery insights やデプロイを安全にする branching、細かい利用量・コストの内訳といった機能も、標準の PlanetScale の料金にぜんぶ入ってるよ。

まとめ

  • Cloudflare のダッシュボード / API から PlanetScale の Postgres・MySQL を直接用意できる
  • 来月から料金は Cloudflare アカウントにまとめて請求、スタートアップクレジットも使える
  • 接続は Hyperdrive 経由、wrangler.jsonc にバインディングを足すだけ
  • 配置ヒントでプライマリの近くに寄せれば片道 1 桁ミリ秒も狙える
  • シングルノードの Postgres は月 5 ドルから

Workers でアプリを作っていて「ちゃんとしたリレーショナル DB がほしいな」って人にドンピシャ。契約も請求も Cloudflare 側でまとめたいチームは、来月のリリースをチェックしてみてね!