Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

よくある質問

最終更新 Markdown で表示Agent セットアップ

以下は、Hyperdrive についてよく寄せられる質問への回答です。

接続

Hyperdrive は特定の IP アドレスでデータベースに接続しますか?

Hyperdrive は Cloudflare の IP アドレス範囲 を使ってデータベースに接続します。この範囲は、すべての Hyperdrive 設定とほかの Cloudflare 製品で共有されます。

これを使って、データベースのファイアウォールで、アクセスを許可する IP アドレスを制限できます。

Hyperdrive は D1 データベースへの接続に対応していますか?

Hyperdrive は D1 に対応していません。D1 は、設計上 Workers からの高速な接続を提供するためです。

Hyperdrive は、PostgreSQL のような従来型のリージョン SQL データベースへの接続を高速化するために設計されています。こうしたデータベースは、通常、TCP/IP で通信するデータベースドライバー経由でアクセスします。 D1 と異なり、従来型 SQL データベースへの安全な接続を作るには、クライアント(Worker)とデータベースサーバーの間で複数回のラウンドトリップが必要です。 ラウンドトリップが必要な理由と、Hyperdrive がそれをどう解消するかは、Hyperdrive の仕組み を参照してください。

D1 は、データベース接続の作成にラウンドトリップを必要としません。D1 は、Hyperdrive なしでも Workers からのアクセスで性能が出るように設計されています。

Hyperdrive と Placement は併用すべきですか?

はい。リクエストあたり複数のクエリを発行する Worker では併用してください。Placement は Worker をデータベースの近くで実行し、クエリごとのレイテンシを 20〜30ms から 1〜3ms に下げます。Hyperdrive はコネクションプーリングと接続セットアップを担当します。Placement は、クエリ実行時のネットワーク距離を短縮します。

データベースが AWS、GCP、Azure で動いている場合は placement.region を使います。それ以外の場所でホストしている場合は placement.host を使います。

キャッシュ

データベースに書き込むと、Hyperdrive はキャッシュ済みの読み取りを無効化しますか?

しません。アプリケーションがデータベースに書き込んでも、Hyperdrive はキャッシュ済みの読み取りクエリ結果を無効化しません。一致する読み取りは、設定した max_age が切れるまでキャッシュ結果を返すことがあり、キャッシュを更新している間の stale_while_revalidate ウィンドウでも、その結果を返せます。

認証、セッション、権限、書き込み直後の読み取りなど、常に最新データが必要な読み取りには、キャッシュ無効の Hyperdrive 設定を使います。キャッシュ戦略の選び方は クエリキャッシュ を参照してください。

一部の読み取りで read-after-write 一貫性が必要な場合でも、Hyperdrive を使えますか?

使えます。同じデータベースに対して Hyperdrive バインディングを 2 つ設定します。短い鮮度の遅れを許容できる読み取りにはクエリキャッシュを有効にし、必ず最新が必要な読み取りにはクエリキャッシュを無効にします。キャッシュ無効のバインディングでも、Hyperdrive のコネクションプーリングと高速な接続セットアップは利用できます。

オブジェクトリレーショナルマッピング(ORM)ライブラリや認証ライブラリが SQL を管理している場合は、バインディングごとに別のデータベースクライアントを作り、最新の読み取りが必要なコードにはキャッシュ無効のクライアントを渡します。

料金

Hyperdrive はデータ転送 / エグレスに課金しますか?

しません。

Hyperdrive は Workers Free プランで使えますか?

使えます。料金 を参照してください。

Hyperdrive は追加のコンピュートに課金しますか?

Hyperdrive 自体は、コンピュート(CPU)や処理(ウォールクロック)時間には課金しません。Hyperdrive にクエリし、結果を計算する Workers(例: 結果を JSON にシリアライズする、クエリを発行する)は、Workers の料金 に従って課金されます。

制限

Hyperdrive に制限はありますか?

公開されている 制限 のドキュメントを参照してください。

役に立ちましたか?