# 料金

## 概要

Sora Cloud は利用時間や転送量ではなく、月ごとの最大同時接続数と最大利用帯域で料金が決定します。

最大同時接続数や最大利用帯域とは、その月の総使用量ではなく、その月の中で最も多かった同時接続数および利用帯域を指します。

## 基本料金

**基本料金**: 月 5,000 円

1 ヶ月間まったく利用がなかった場合でも基本料金 5,000 円が発生します。

## 従量料金

最大同時接続数と最大利用帯域による従量料金モデルです。

**最大同時接続数**: 最大同時接続数 10 あたり 15,000 円からで、利用は 5,000 同時接続程度まで可能です

- 最大同時接続数が 10 増えるごとに + 15,000 円

**最大利用帯域**: 最大利用帯域 100 Mbps あたり 30,000 円からで、利用は 20 Gbps 程度まで可能です

- 最大利用帯域が 100 Mbps 増えるごとに + 30,000 円

> **注釈**
>
> - 同時接続数とは、認証に成功し、 WebRTC の確立に成功して接続している数です。
> - 利用帯域は上り (Ingress) と下り (Egress) の合計で計算されます。

### 料金例 1

その月の最大同時接続数が 18、最大利用帯域が 250 Mbps だった場合は ...

5,000 円 (基本料金) + 30,000 円 (最大同時接続数 20 の従量料金) + 90,000 円 (最大利用帯域 300 Mbps の従量料金) で 125,000 円の料金が発生します。

### 料金例 2

その月の最大同時接続数が 7、最大利用帯域が 145 Mbps だった場合は ...

5,000 円 (基本料金) + 15,000 円 (最大同時接続数 10 の従量料金) + 60,000 円 (最大利用帯域 200 Mbps の従量料金) で 80,000 円の料金が発生します。

## 料金表

**基本料金**: 5,000 円
**最大同時接続数の従量料金**: 10 同時接続ごとに + 15,000 円
**最大利用帯域の従量料金**: 100 Mbps ごとに + 30,000 円

* - 料金表
  - 最大利用帯域 100 Mbps
  - 最大利用帯域 200 Mbps
  - 最大利用帯域 300 Mbps
* - 最大同時接続数 10
  - ¥50,000
  - ¥80,000
  - ¥110,000
* - 最大同時接続数 20
  - ¥65,000
  - ¥95,000
  - ¥125,000
* - 最大同時接続数 30
  - ¥80,000
  - ¥110,000
  - ¥140,000
* - 最大同時接続数 40
  - ¥95,000
  - ¥125,000
  - ¥155,000
* - 最大同時接続数 50
  - ¥110,000
  - ¥140,000
  - ¥170,000
* - 最大同時接続数 100
  - ¥185,000
  - ¥215,000
  - ¥245,000

- 利用がなかった場合 (最大同時接続数 0 かつ最大利用帯域 0 bps) は、基本料金のみの 5,000 円となります
- 詳細な料金は [こちらの料金表 (PDF)](https://sora-cloud.shiguredo.jp/pdfs/price_list.pdf) を参照してください。

## 最大同時接続数 500 、または最大利用帯域 1 Gbps 以上の利用

もし、最大同時接続数が 500、または最大利用帯域が 1 Gbps 以上の接続が発生する可能性がある場合は、事前にチケットをオープンし、共有をお願いいたします。

## チャネル単位での同時接続数固定

JWT の [max_channel_connections](project_api_access_token.html#dd1c98) クレームを利用することで、チャネル単位での同時接続数を制限することが可能です。

## 上限固定

組織全体での同時接続数や利用帯域の上限を固定することはできません。注意してご利用ください。

## 注意

- API の呼び出しに制限はありませんが、想定よりも多くの API 呼び出しが発生した場合は個別にご連絡いたします
- ウェブフックの通知に制限はありませんが、想定よりも多くの通知が発生した場合は個別にご連絡いたします

## ログ保存期間の制限

- ログ保存は直近 30 日までです- 30 日経過したログは取得できません

## シーケンス図

### 同時接続数が +1 されるタイミング

```mermaid
sequenceDiagram
    autonumber
    participant client as クライアント
    participant sora as WebRTC SFU Sora
    participant cloud as Sora Cloud
    client->>sora: "type": "connect"
    sora->>+cloud: 認証ウェブフック
    note over cloud: アクセストークン検証成功
    cloud-->>-sora: 200 OK<br>"allowed": true
    note over cloud: この時点ではまだ同時接続数に + 1 はされない
    sora->>client: "type": "offer"
    client->>sora: "type": "answer"
    note over client,sora: WebRTC 確立
    sora-->>+cloud: イベントウェブフック<br>"type": "connection.created"
    note over cloud: この時点で同時接続数に +1 される
    cloud-->>-sora: 200 OK
```

### 同時接続数が -1 されるタイミング

#### クライアントの正常終了時

```mermaid
sequenceDiagram
    autonumber
    participant client as クライアント
    participant sora as WebRTC SFU Sora
    participant cloud as Sora Cloud
    note over client,sora: WebRTC 確立
    client->>+sora: "type": "disconnect"
    sora->>+cloud: イベントウェブフック<br>"type": "connection.destroyed"
    note over cloud: この時点で同時接続数が -1 される
    cloud-->>-sora: 200 OK
    sora->>-client: シグナリング切断
```

#### クライアントの異常終了時

```mermaid
sequenceDiagram
    autonumber
    participant client as クライアント
    participant sora as WebRTC SFU Sora
    participant cloud as Sora Cloud
    note over client,sora: WebRTC 確立
    sora->>client: 2.5 秒間隔で死活確認
    note left of sora: クライアントから応答なし
    sora->>client: 1 秒間隔で 5 秒間死活確認
    note left of sora: クライアントから応答なし
    sora->>client: 50 ミリ秒間隔で 10 秒間死活確認
    note left of sora: クライアントから応答なし
    note over sora: 切断済みと判断
    sora->>cloud: イベントウェブフック<br>"type": "connection.destroyed"
    note over cloud: この時点で同時接続数が -1 される
    cloud-->>sora: 200 OK
```
