メインコンテンツにスキップ ナビゲーションにスキップ フッターにスキップ

サブスクリプションとライセンス

account、rdc、renetがマシンスロット、リポジトリライセンス、プラン制限をどのように処理するかを理解します。

サブスクリプションとライセンス

Rediaccのライセンス管理には3つの可動部品があります:

  • account は権利を署名し、使用状況を追跡します
  • rdc は認証し、ライセンスを要求し、マシンに配信し、実行時に適用します
  • renet(マシン上のランタイム)はアカウントサーバーを呼び出さずにインストール済みライセンスをローカルで検証します

このページでは、ローカルデプロイメントでこれらの要素がどのように連携するかを説明します。

ライセンス管理が行うこと

ライセンス管理は2つの異なる事項を制御します:

  • フローティングライセンスを通じたマシンアクセスの会計処理
  • リポジトリライセンスを通じたリポジトリランタイム認可

これらは関連していますが、同じアーティファクトではありません。

ライセンス管理の仕組み

account はプラン、契約上書き、マシンアクティベーション状態、月次リポジトリライセンス発行の信頼できる情報源です。

rdc はワークステーション上で実行されます。アカウントサーバーにログインし、必要なライセンスを要求し、SSH経由でリモートマシンにインストールします。リポジトリコマンドを実行すると、rdc は必要なライセンスが適切に配置されていることを確認し、実行時にマシン上でそれらを検証します。

通常のフローは次のようになります:

  1. rdc subscription login で認証します
  2. rdc repo createrdc repo uprdc repo down などのリポジトリコマンドを実行します
  3. 必要なライセンスが見つからないか期限切れの場合、rdcaccount にそれを要求します
  4. rdc は署名されたライセンスをマシンに書き込みます
  5. ライセンスはマシン上でローカルに検証され、操作が続行されます

ワークステーションとサーバーの分担については rdc vs renet を、リポジトリのライフサイクル自体については リポジトリ を参照してください。

自動化およびAIエージェントには、ブラウザログインの代わりにスコープ付きサブスクリプショントークンを使用します:

rdc subscription login --token "$REDIACC_SUBSCRIPTION_TOKEN"

環境を通じてトークンを直接注入することで、CLIが対話的なログインステップなしにリポジトリライセンスを発行・更新できるようにすることもできます:

export REDIACC_SUBSCRIPTION_TOKEN="rdt_..."
export REDIACC_ACCOUNT_SERVER="https://www.rediacc.com/account"

マシンライセンス vs. リポジトリライセンス

マシンアクティベーション

マシンアクティベーションはデュアルロールを担います:

  • サーバー側:フローティングマシンスロットの会計処理、マシンレベルのアクティベーションチェック、アカウントバックアップされたリポジトリ発行を特定のマシンにブリッジング
  • ディスク上rdc はアクティベーション中に署名されたサブスクリプションブロブを /var/lib/rediacc/license/machine.json に書き込みます。このブロブはプロビジョニング操作(rdc repo createrdc repo fork)のためにローカルで検証されます。マシンライセンスは最後のアクティベーションから1時間有効です。

リポジトリライセンス

リポジトリライセンスは、1台のマシン上の1つのリポジトリに対する署名付きライセンスです。

以下のために使用されます:

  • rdc repo resize および rdc repo expand — 有効期限を含む完全な検証
  • rdc repo uprdc repo downrdc repo delete有効期限をスキップして検証
  • rdc repo pushrdc repo pullrdc repo sync有効期限をスキップして検証
  • マシン再起動時のリポジトリ自動起動 — 有効期限をスキップして検証

リポジトリライセンスはマシンとターゲットリポジトリに紐付けられており、Rediaccはリポジトリアイデンティティメタデータでその紐付けを強化します。暗号化されたリポジトリの場合、これには基盤となるボリュームのLUKSアイデンティティが含まれます。

実際には:

  • マシンアクティベーションは「このマシンは新しいリポジトリをプロビジョニングできるか?」に答えます
  • リポジトリライセンスは「この特定のリポジトリはこの特定のマシンで実行できるか?」に答えます

デフォルト制限

リポジトリサイズは権利レベルによって異なります:

  • Community:最大 10 GB
  • 有料プラン:プランまたは契約の制限

有料プランのデフォルト制限:

プランフローティングライセンスリポジトリサイズ月次リポジトリライセンス発行数
Community210 GB500
Professional5100 GB5,000
Business20500 GB20,000
Enterprise502048 GB100,000

契約固有の制限により、特定のお客様に対してこれらの値を上げたり下げたりすることができます。

リポジトリの作成、起動、停止、再起動時の動作

リポジトリの作成とフォーク

リポジトリを作成またはフォークする場合:

  1. rdc はサブスクリプショントークンが利用可能であることを確認します(必要に応じてデバイスコード認証をトリガー)
  2. rdc はマシンをアクティベートし、署名されたサブスクリプションブロブをリモートマシンに書き込みます
  3. マシンライセンスはローカルで検証されます(アクティベーションから1時間以内である必要があります)
  4. 作成が成功した後、rdc は新しいリポジトリのリポジトリライセンスを発行します

このアカウントバックアップされた発行は、月次のリポジトリライセンス発行使用量にカウントされます。

リポジトリの起動、停止、削除

rdc はマシン上にインストールされたリポジトリライセンスを検証しますが、有効期限チェックをスキップします。署名、マシンID、リポジトリGUID、アイデンティティは引き続き検証されます。サブスクリプションが期限切れでも、ユーザーが自分のリポジトリの操作をブロックされることはありません。

リポジトリのリサイズと拡張

rdc は有効期限とサイズ制限を含む完全なリポジトリライセンス検証を実行します。

マシン再起動と自動起動

自動起動は rdc repo up と同じルールを使用します — 有効期限はスキップされるため、リポジトリは常に自由に再起動します。

リポジトリライセンスは長期有効期間モデルを使用します:

  • refreshRecommendedAt はソフト更新ポイントです
  • hardExpiresAt はブロッキングポイントです

リポジトリライセンスが古くなっているがハード有効期限前であれば、ランタイムは続行できます。ハード有効期限に達すると、rdc はリサイズ/拡張操作のためにそれを更新する必要があります。

その他のリポジトリ操作

リポジトリの一覧表示、リポジトリ情報の検査、マウントなどの操作にはライセンス検証は不要です。

ステータスの確認とライセンスの更新

人間によるログイン:

rdc subscription login

自動化またはAIエージェントによるログイン:

rdc subscription login --token "$REDIACC_SUBSCRIPTION_TOKEN"

非対話型環境では、REDIACC_SUBSCRIPTION_TOKEN を設定するのが最もシンプルな選択肢です。トークンはエージェントが必要とするサブスクリプションとリポジトリライセンス操作のみにスコープを限定する必要があります。

アカウントバックアップされたサブスクリプションステータスを表示:

rdc subscription status

1台のマシンのマシンアクティベーション詳細を表示:

rdc subscription activation status -m hostinger

1台のマシンにインストールされたリポジトリライセンス詳細を表示:

rdc subscription repo status -m hostinger

マシンアクティベーションを更新し、リポジトリライセンスをバッチ更新:

rdc subscription refresh -m hostinger

マシン上で発見されたがローカルの rdc 設定にないリポジトリはバッチ更新中に拒否されます。失敗として報告され、自動分類はされません。

既存のリポジトリのリポジトリライセンスを強制更新:

rdc subscription refresh repo my-app -m hostinger

初回使用時、使用可能なリポジトリライセンスが見つからないライセンス済みリポジトリまたはバックアップ操作は、アカウント認可ハンドオフを自動的にトリガーする場合があります。CLIは認可URLを表示し、対話型ターミナルではブラウザを開こうとし、認可と発行が成功した後に一度操作を再試行します。

非対話型環境では、CLIはブラウザの承認を待ちません。代わりに、rdc subscription login --token ... または REDIACC_SUBSCRIPTION_TOKEN でスコープ付きトークンを提供するよう指示します。

マシンの初回セットアップについては、マシンセットアップ を参照してください。

オフライン動作と有効期限

ライセンス検証はマシン上でローカルに行われます — アカウントサーバーへのライブ接続は必要ありません。

つまり:

  • 実行中の環境はすべてのコマンドでアカウントへのライブ接続は不要です
  • すべてのリポジトリは有効期限切れのライセンスがあっても常に起動、停止、削除できます — ユーザーが自分のリポジトリの操作をブロックされることはありません
  • プロビジョニング操作(createfork)には有効なマシンライセンスが必要で、成長操作(resizeexpand)には有効なリポジトリライセンスが必要です
  • 真に期限切れのリポジトリライセンスはリサイズ/拡張の前に rdc を通じて更新する必要があります

マシンアクティベーションとリポジトリランタイムライセンスは別々のサーフェスです。マシンがアカウント状態で非アクティブであっても、一部のリポジトリにはまだ有効なインストール済みリポジトリライセンスがある場合があります。その場合、両方のサーフェスを同じ意味だと仮定せず、別々に検査してください。

回復動作

自動回復は意図的に限定的です:

  • missingrdc は必要に応じてアカウントアクセスを認可し、リポジトリライセンスをバッチ更新し、一度再試行する場合があります
  • expiredrdc はリポジトリライセンスをバッチ更新し、一度再試行する場合があります
  • machine_mismatch:即時失敗し、現在のマシンコンテキストから再発行するよう指示します
  • repository_mismatch:即時失敗し、リポジトリライセンスを明示的に更新するよう指示します
  • sequence_regression:リポジトリライセンスの整合性/状態の問題として即時失敗します
  • invalid_signature:リポジトリライセンスの整合性/状態の問題として即時失敗します
  • identity_mismatch:即時失敗 — リポジトリのアイデンティティがインストール済みライセンスと一致しません

これらの即時失敗ケースは、アカウントバックアップされた更新または発行呼び出しを自動的に消費しません。

月次リポジトリライセンス発行数

このメトリクスは、現在のUTCカレンダー月における成功したアカウントバックアップされたリポジトリライセンス発行アクティビティをカウントします。

含まれるもの:

  • リポジトリライセンスの初回発行
  • 新しく署名されたライセンスを返す成功したリポジトリライセンス更新

含まれないもの:

  • 変更されていないバッチエントリ
  • 失敗した発行試行
  • 発行前に拒否された未追跡リポジトリ

使用状況と最近のリポジトリライセンス発行履歴の顧客向けビューが必要な場合は、アカウントポータルを使用してください。マシン側の検査が必要な場合は、rdc subscription activation status -mrdc subscription repo status -m を使用してください。