管理者の追加
ユーザーのメールアドレスを SambaStack の設定に追加することで、そのユーザーに管理者権限を付与できます。ユーザーを管理者として追加するには、以下の手順を実行します。- SambaStack オンプレミス / エアギャップ
- SambaStack Hosted
ステップ 1: 管理者メールアドレスの追加
sambastack.yaml ファイルの auth-and-billing セクションに、対象ユーザーのメールアドレスを追加します。例:セキュリティを維持するため、認可された管理者のメールアドレスのみを追加してください。
gateway と同じ YAML レベル (sambastack.yaml のルートレベルキー) に配置する必要があります。完全な例については、SambaStack.yaml リファレンス をご覧ください。
ステップ 2: 設定の適用
.yaml ファイルを更新したら、以下のとおり設定を適用します。オンプレミス
エアギャップ
OCI レジストリパスの代わりに、ローカルにある Helm チャートのコピーを使用します。sambastack-<VERSION>.tgz は、アップグレードに使用する Helm チャートのローカルコピーです。さらにサポートが必要な場合は、SambaNova のサポート窓口までお問い合わせください。バージョン番号は、チャートの新しいリリースごとに変わります。SambaNova の担当者から提供されたバージョン番号を使用してください。
ステップ 3: 管理パネルへのアクセスの確認
ブラウザ (Chrome を推奨) を開き、管理者用 URL にアクセスします。
サービスティア
サービスティアは、ユーザーがアクセスできるモデル、使用制限、権限を定義します。主要な概念
サービスティアは、ユーザーアクセス、使用制限、権限をきめ細かく調整するための強力な制御手段を提供します。- アクセス制御: 各ユーザーまたはグループが使用できるモデルを決定します。
- 使用制限の設定: 一定期間内にユーザーが実行できるリクエスト数やトークン数を定義します。
inherits 属性を使用すると、ティアが別のベースティアの構成を拡張できます。継承時には overrides セクションで指定したフィールドのみが変更されるため、的確で保守しやすいカスタマイズが可能です。
設定フィールド
以下の表は、サービスティアを定義する際に使用される主要フィールドと、それぞれの説明・値の例を示しています。
具体的なフォーマットについては、SambaStack.yaml リファレンス をご覧ください。
出力トークンの上限
maxNewTokens と maxNewTokensHard は、ティア上の 1 回の生成が生成できる出力トークン数を制限します。これらの設定がない場合、max_tokens を省略したリクエストは、自然な停止に達するか、モデルのコンテキストウィンドウに達するまで生成を続けます。異常な生成 (たとえば同じトークンを繰り返すもの) は、この後者に行き着きます。
2 つのフィールドの役割は異なります。
maxNewTokensは、リクエストがmax_tokensを省略した場合にmax_tokensを補完します。自身のmax_tokensを送信したリクエストには影響しません。maxNewTokensHardは、クライアントがmax_tokensを送信したかどうかにかかわらず、ティア上のすべての生成に上限を課します。上限を超えそうな生成はそこで停止し、クライアント指定の上限と同じ finish reason をレポートします。
maxNewTokensHard より大きい maxNewTokens を設定しても、その値を超えることはできません。
いずれのフィールドも、Model リソース、サービスティア、ティア内の
contextGroups エントリの 3 つのレベルで設定できます。各フィールドは、それを設定している最も狭いレベル (コンテキストグループ、次にティア、次にモデルの順) から独立して解決されるため、ティアに広めの上限を持たせつつ、特定のコンテキストグループだけ引き締めることができます。
レベルは影響範囲に合わせて選択してください。
- モデル——そのモデルへのすべてのリクエストに、ティアを問わず、変更がクラスターに反映され次第適用されます。
- サービスティア——そのティアの、リストされたモデルへのリクエストに適用されます。制限付きティアへアカウントを移すのが、単一アカウントを封じ込める最速の方法です。
- コンテキストグループ——コンテキスト長がそのグループに該当するリクエストのみに適用されます。
いずれのフィールドも、トークナイザーを経由してルーティングされるモデルにのみ適用されます。音声専用モデルと Vision 専用モデルはこれらを無視し、それらのモデルでの生成は制限のないままです。
システム管理ティア
一部のティアは、事前構成されたシステム管理ティアです。これらのティアを削除または無効化しないでください。設定を誤ると、重要なワークフローが中断される恐れがあります。
ティアを
sambastack.yaml から削除すると、そのティアは SambaNova のデフォルト設定に戻ります。
設定例
- SambaStack オンプレミス / エアギャップ
- SambaStack Hosted
gateway と同じ YAML レベル (ルートレベルキー) に、serviceTiers セクションを追加します。完全な例については、SambaStack.yaml リファレンス をご覧ください。
オンプレミス
エアギャップ
OCI レジストリパスの代わりに、ローカルにある Helm チャートのコピーを使用します。sambastack-<VERSION>.tgz は、アップグレードに使用する Helm チャートのローカルコピーです。さらにサポートが必要な場合は、SambaNova のサポート窓口までお問い合わせください。バージョン番号は、チャートの新しいリリースごとに変わります。SambaNova の担当者から提供されたバージョン番号を使用してください。

継承の使用
ベースティアを定義し、継承を利用して派生ティアを作成することで、再利用性と一貫性を確保できます。 ベースティアの例:- SambaStack オンプレミス / エアギャップ
- SambaStack Hosted
ベストプラクティス
サービスティアを作成・管理する際は、安定性・セキュリティ・柔軟性を確保するため、以下のベストプラクティスを考慮してください。 1. システム管理ティアとデフォルトティアを維持する 一部のティアは、事前構成されたシステム管理ティアであり、削除や無効化を行うべきではありません。これらのティアは基本的なアクセスを提供し、モデルのライフサイクル管理とアクセス制御を担っています。削除や誤設定を行うと、重要なワークフローが中断される恐れがあります。 対象は以下のとおりです。- free / web: デフォルトの基本アクセスティア。
- deprecated: 恒久的に削除されたモデル (HTTP 410)。
- maintenance: 一時的に利用できないモデル (HTTP 503)。
- restricted: アクセスが制限されたモデル (HTTP 403)。
free や web など) を継承してカスタムティアを作成すると、基盤となる構造を維持しながらアクセスを柔軟に調整できます。
完全な例
- SambaStack オンプレミス / エアギャップ
- SambaStack Hosted
sambastack.yaml におけるシステム管理ティア、必須ティア、カスタムティアの例です。gateway と同じ YAML レベル (sambastack.yaml のルートレベルキー) に配置する必要があります。レート制限
レート制限は、1 分あたりに受け付ける API または UI のリクエスト数を制御し、クラスターを過負荷や不正利用から保護します。 SambaStack オンプレミスでは、レート制限は次の 2 つのレイヤーで適用できます。アプリケーションレイヤーのレート制限は必須であり、サービスティアを通じて設定します。詳細は サービスティア をご覧ください。
概要
- Ingress レイヤーのレート制限は任意ですが、NGINX ingress コントローラーを使用しているお客様には推奨されます。
- Helm チャートには、デフォルトのレート制限アノテーションは含まれていません。お客様側で手動で有効化できます。
- アプリケーションレイヤーのレート制限は引き続き必須であり、
sambastack.yamlのserviceTiersブロックで設定します。 - 独自の Kubernetes クラスターと ingress コントローラーを使用する場合は、同等のアノテーションを使用することも、ingress レベルの制限を完全に省略することもできます。
Ingress レイヤーのレート制限 (任意、推奨)
クラスターで RKE2 組み込みの NGINX ingress コントローラーを使用している場合、クラスターレベルでグローバルなレート制限ゾーンを定義し、API および UI の ingress アノテーションから参照できます。 ステップ 1: グローバルレート制限ゾーンの定義 以下のHelmChartConfig を適用して、ingress コントローラーのグローバルレート制限ゾーンを設定します。
以下の内容を rke2-ingress-nginx.yaml として保存します。
_req_min_ipゾーンは UI に使用されます (IP ベースの制限)_req_min_headerゾーンは API/ゲートウェイ に使用されます (Authorization ヘッダーベースの制限)
レート制限の値は、クラスターの規模に合わせて調整してください。大規模なデプロイメント (例: 10 ノードのクラスター) では、毎分 5000 や 8000 リクエストなど、より高い制限値を検討してください。
sambastack.yaml の cloud-ui.ingress および gateway.ingress セクションで参照します。
完全な例については、SambaStack.yaml リファレンス をご覧ください。
- これらのスニペットは、適用するレート制限ゾーンを NGINX に指示します
burstとrateの値は必要に応じて調整できます- ingress ベースのレート制限は、クラスター全体ではなく ingress コントローラーの Pod ごとに適用されます
- 実効レートの合計 = 設定したレート × ingress Pod 数
オンプレミス
エアギャップ
OCI レジストリパスの代わりに、ローカルにある Helm チャートのコピーを使用します。sambastack-<VERSION>.tgz は、アップグレードに使用する Helm チャートのローカルコピーです。さらにサポートが必要な場合は、SambaNova のサポート窓口までお問い合わせください。SambaNova は、引き渡し時に完全なレジストリ URL とバージョン番号を提供します。アクセス用の認証情報については、SambaNova の担当者にお問い合わせください。
主な推奨事項
- インフラレベルの保護 (DDoS や不正なバーストの防止など) には、ingress レイヤーの制限を使用してください
- アプリケーションレベルのスロットリングやユーザー単位のレート制御には、サービスティアの制限を使用してください
- ingress の設定は任意ですが、RKE2 組み込みの NGINX ingress コントローラーを使用する場合は、有効化することを SambaNova は推奨します
- 他の ingress コントローラー (Istio、AWS ALB、NGINX Plus など) を使用しているお客様は、必要に応じて同等の設定を適用できます
- Helm チャートのデフォルト値にはレート制限アノテーションは含まれません。デプロイ時にお客様側で上書きできます
サービス品質 (QoS)
QoS (サービス品質) は、リソースが競合する際に、複数のデプロイメント間でリクエストをどのように処理するかを決定する優先度レベルを定義します。優先度の高いトラフィックが優先度の低いトラフィックよりも先に処理されることを保証し、リソース競合時のリソース割り当てを最適化します。QoS の仕組み
- 各サービスティアには
qosラベルが割り当てられます。 - デプロイメントは、その spec 内の
qosListで優先順位を定義します。 - リクエストは優先度順に処理されます。リストの先頭にある QoS レベルが最初に処理されます。
modelDeploymentSpecs[].name はバンドル名です。ModelDeployment の名前とその spec.bundle の両方に使用されるため、ModelBundle の名前と一致している必要があります。モデル ID を列挙する serviceTiers[].models[] とは異なる点に注意してください。完全な例については、SambaStack.yaml リファレンス をご覧ください。
web ティアのリクエストを最初に処理し、web のトラフィックがキューにない場合に free ティアのリクエストを処理します。
modelDeploymentSpecs への変更の適用: デプロイメント側の設定を編集した場合は、sambastack チャートではなく sambastack-models リリースを更新します。オンプレミスでは、モデルチャートの values ファイルを編集し、クイックスタート - オンプレミス に示すとおり helm upgrade --install sambastack-models を再実行します。Hosted では、クイックスタート - Hosted に示すとおり、インストーラー ConfigMap の models_values: ブロックを編集して再適用します。serviceTiers への変更は、引き続き上記のとおり sambastack.yaml を通じて適用します。パラメータのリファレンスについては、モデル構成 をご覧ください。
QoS の目的
QoS はリクエストに優先順位を付け、上位ティアのトラフィックが下位ティアのトラフィックよりも先に処理されるようにすることで、予測可能で公平なリソース共有を実現します。- 例:
qosList: ["free", "web"]を指定したデプロイメントは、free ティアのリクエストを最初に処理し、free のトラフィックがキューにない場合にのみ web ティアのリクエストを処理します。
QoS とサービスティアの違い
つまり、次のようになります。
- サービスティアは、誰が何にどれだけアクセスできるかを定義します。
- QoS は、優先度に基づいてリクエストがいつ処理されるかを定義します。
注意事項
freeティアは、すべての新規ユーザーに自動的に割り当てられます。- デプロイメントは複数の QoS レベルをサポートでき、異なる種類のトラフィックを同時に処理できます。
リクエスト処理のワークフロー
以下は、ユーザーリクエストが処理されるステップごとの流れです。サービスティアと QoS の優先度がどのように連携して、トラフィックを効率的に管理・ルーティングするかを示しています。- ユーザーが自身の認証情報を使用して API リクエストを送信します。
- SambaStack が、そのユーザーに割り当てられたサービスティア (Usage Plan) を特定します。
- リクエストが、そのティアで許可されたモデル、バッチサイズ、レート制限、および関連する QoS に適合しているかを確認します。
- デプロイメントが、
qosListの優先順位に従って処理するリクエストを選択します。 - リクエストがユーザーのレート制限を超えている場合、
429 Too Many Requestsレスポンスで拒否されます。 - リクエストの優先度レベルの QoS キューが満杯の場合、システムはビジー応答を返します。
- それ以外の場合、リクエストは QoS キューに登録され、処理を待ちます。

