diff --git a/src/content/docs/ja/guides/upgrade-to/v6.mdx b/src/content/docs/ja/guides/upgrade-to/v6.mdx
index 2cea10c2722bd..deb98b18061dc 100644
--- a/src/content/docs/ja/guides/upgrade-to/v6.mdx
+++ b/src/content/docs/ja/guides/upgrade-to/v6.mdx
@@ -388,7 +388,7 @@ export default defineConfig({
})
```
-[利用可能なセッションドライバー](/ja/reference/session-driver-reference/#building-a-session-driver)の詳細を確認してください。
+[利用可能なセッションドライバー](/ja/reference/session-driver-reference/#セッションドライバーの構築)の詳細を確認してください。
### 非推奨: `astro/app/node`の`NodeApp`(アダプターAPI)
diff --git a/src/content/docs/ja/reference/session-driver-reference.mdx b/src/content/docs/ja/reference/session-driver-reference.mdx
new file mode 100644
index 0000000000000..7e4b5f70c7f79
--- /dev/null
+++ b/src/content/docs/ja/reference/session-driver-reference.mdx
@@ -0,0 +1,196 @@
+---
+title: Astro Session Driver API
+sidebar:
+ label: セッションドライバー API
+i18nReady: true
+tableOfContents:
+ minHeadingLevel: 2
+ maxHeadingLevel: 4
+---
+import Since from '~/components/Since.astro';
+
+Astroの[セッション](/ja/guides/sessions/)を使用すると、オンデマンドでレンダリングされるページの型間でデータを共有できます。これには、セッションデータを保存するためのAstroセッションドライバーが必要です。
+
+## ビルトインドライバー
+
+Astroは、`astro/config`からビルトインのセッションドライバーをエクスポートしています。
+
+```js
+import { sessionDrivers } from 'astro/config'
+```
+
+任意の[unstorageドライバー](https://unstorage.unjs.io/drivers)を使用できます。例:
+
+```js title="astro.config.mjs" ins={5-7} ins=" sessionDrivers "
+import { defineConfig, sessionDrivers } from 'astro/config'
+
+export default defineConfig({
+ session: {
+ driver: sessionDrivers.redis({
+ url: process.env.REDIS_URL
+ }),
+ }
+})
+```
+
+:::note
+一部のドライバーでは、追加のパッケージのインストールが必要になる場合があります。また、環境変数や認証情報の設定が必要なドライバーもあります。詳細は[Unstorageのドキュメント](https://unstorage.unjs.io/drivers)を参照してください。
+:::
+
+## セッションドライバーの構築
+
+セッションドライバーは、次の2つの要素で構成されます。
+
+ - **[ドライバー設定](#セッションドライバーの構築)**:実行時にどの実装を使用するか、およびどの設定を転送するかをAstroに伝えます。
+ - **[ドライバーの実装](#セッションドライバーの実装)**:実行時のストレージロジックを処理します。
+
+### セッションドライバーの設定
+
+`SessionDriverConfig`は、必須の実行時[`entrypoint`](#entrypoint)(エントリポイント)と、オプションの[`config`](#config)を含むオブジェクトです。推奨される実装方法は、オプションのパラメータとして設定を受け取り、このオブジェクトを返す関数をエクスポートすることです。
+
+以下の例では、メモリドライバーの設定を定義しています。
+
+```ts title="driver/config.ts"
+import type { SessionDriverConfig } from 'astro'
+
+export interface Config {
+ max?: number;
+}
+
+export function memoryDriver(config: Config = {}): SessionDriverConfig {
+ return {
+ entrypoint: new URL('./runtime.js', import.meta.url),
+ config,
+ }
+}
+```
+
+その後、Astroの設定ファイルを登録します。
+
+```ts title="astro.config.ts"
+import { defineConfig } from 'astro/config'
+import { memoryDriver } from './driver/config'
+
+export default defineConfig({
+ session: {
+ driver: memoryDriver({
+ max: 500
+ })
+ }
+})
+```
+
+#### `entrypoint`
+
+
+
+**型:** `string | URL`
+
+
+
+
+[ドライバーの実装](#セッションドライバーの実装)のためのエントリポイントを定義します。
+
+#### `config`
+
+
+
+**型:** `Record | undefined`
+
+
+
+
+実行時に[ドライバーの実装](#セッションドライバーの実装)に渡される、シリアライズ可能な設定を定義します。
+
+### セッションドライバーの実装
+
+`SessionDriver`は、[実行時にセッションを使用する](/ja/reference/api-reference/#session)際(例:`context.session.set()`)に、データの[保存](#setitem)、[取得](#getitem)、[削除](#removeitem)を担当するオブジェクトです。セッションドライバーモジュールで、[ドライバー設定](#config)をパラメータとして受け取るデフォルト関数をエクスポートすることで実装できます。
+
+以下の例では、メモリドライバーを実装しています。
+
+```ts title="driver/runtime.ts"
+import type { SessionDriver } from 'astro'
+import type { Config } from './config'
+import { LRUCache } from 'lru-cache'
+
+export default function(config: Config): SessionDriver {
+ const cache = new LRUCache({ max: config.max })
+ return {
+ setItem: async (key, value) => {
+ cache.set(key, value)
+ },
+ getItem: async (key) => {
+ return cache.get(key)
+ },
+ removeItem: async (key) => {
+ cache.delete(key)
+ },
+ }
+}
+```
+
+#### `setItem()`
+
+
+
+**型:** `(key: string, value: any) => Promise`
+
+
+
+
+キーによってセッションデータを設定する関数を定義します。
+
+#### `getitem()`
+
+
+
+**型:** `(key: string) => Promise`
+
+
+
+
+キーによってセッションデータを取得する関数を定義します。
+
+#### `removeItem()`
+
+
+
+**型:** `(key: string) => Promise`
+
+
+
+
+キーによってセッションデータを削除する関数を定義します。
+
+## Unstorageとの互換性
+
+Unstorageのドライバー型は、Astroの`SessionDriver`型と互換性があります。
+
+つまり、Unstorageパッケージのエクスポートを[エントリポイント](#entrypoint)として使用できます。例:
+
+```ts title="driver/config.ts" {5}
+import type { SessionDriverConfig } from 'astro'
+
+export function configuredRedisDriver(): SessionDriverConfig {
+ return {
+ entrypoint: 'unstorage/drivers/redis',
+ config: {
+ tls: true
+ }
+ }
+}
+```
+
+あるいは、実装の中でUnstorageドライバーを直接インポートして使用することも可能です。例:
+
+```ts title="driver/runtime.ts" {2}
+import type { SessionDriver } from 'astro'
+import redisDriver from "unstorage/drivers/redis";
+
+export default function(config): SessionDriver {
+ return redisDriver({
+ ...config,
+ tls: true
+ })
+}
+```