代理店は「サブアカウント」を検索する。それは、1つの親ログインの下に多数のクライアントアカウントを保持する仕組みを指すのに、ほとんどのツールが使う言葉だからだ。何かを構築する前に、それがShifter上でどう対応するのかを正確に理解しておく価値がある。正しい構造はそこにかかっているからだ。
Shifterにはプラン内にサブユーザーという概念はない。サブアカウントの役割を果たす単位はworkspace(ワークスペース)であり、独自のプラン、ウォレット、請求書、チームを持つ自己完結した空間で、同じ人物が複数のワークスペースに属し、サイドバーから切り替えられる。使用量はプランごとに追跡される。この2つの事実を構造に組み込めば、あとはすべてそこから導かれる。
サブアカウントに求められること
用語を取り払うと、代理店がクライアントのサブアカウントに求めるものは4つある。
| 要件 | 意味 | Shifterでの提供方法 |
|---|---|---|
| 分離 | あるクライアントのトラフィックと予算が他のクライアントと混ざらないこと | プランはワークスペースをまたがない |
| 帰属 | 各クライアントにかかったコストを説明できること | 使用量はプランごとに報告される |
| アクセス制御 | 適切な人が適切な情報を見られること | ワークスペースごとのViewer、Billing、Adminロール |
| 円滑なオフボーディング | 他の誰にも影響を与えずクライアントが離脱できること | メンバーの削除、クライアントのプランの終了 |
このガイドの残りの部分は、この4つがすべて成り立つようにワークスペースとプランをどう配置するかを選ぶ内容である。
機能する2つの構造
クライアント所有のワークスペース
各クライアントが自分のワークスペースを所有する。クライアントがウォレットに資金を入れ、請求書を受け取る。代理店のアカウント担当者は各クライアントのワークスペースにAdminとして招待され、そこから収集業務を運用する。
クライアントが自分自身の請求関係を持つことを望む場合、これが最もすっきりした構成となる。分離は完全であり、各クライアントの請求書がそれぞれ独立しているため帰属の作業は不要で、オフボーディングはクライアントが代理店を自分のワークスペースから外すだけで済む。代理店側は1つのログインでワークスペース切り替えを通じてすべてのクライアントにアクセスできる。
代理店所有のワークスペース、クライアントごとに1プラン
代理店が1つのワークスペースを所有し、その中でクライアントごとに個別のプランを購入し、各プランの使用量からクライアントに請求する。
これは、収集業務をリテーナーの一部として再販する代理店に適している。ルールを厳格に守れば帰属は成立する。1クライアント、1プラン、決して共有しないというルールだ。この構成を選ぶ前に知っておくべき結果が2つある。
- ウォレットはワークスペース単位でスコープされており、どのプランの超過分もそのウォレットから賄われる。ワークスペース内のすべてのプランが同じ資金プールを使うため、あるクライアントの急増が別のクライアントが依存する余裕を消費してしまうことがある。プランごとの超過分を注意深く監視するか、大量利用のクライアントには独自のワークスペースを与えること。
- ワークスペース内のすべての情報はそのメンバーに見える。共有の代理店ワークスペースにクライアントの担当者を招待してはならない。Viewerであっても、他のすべてのクライアントのプランと請求書が見えてしまうためだ。
多くの代理店は結局ハイブリッド構成に落ち着く。自分の請求関係を望む大口クライアント向けにはクライアント所有のワークスペースを使い、リテーナーで請求する小規模クライアント向けには代理店のワークスペース1つにプランをまとめて保持する。
設定方法
仕組みはどちらの構造でも同じである。
- 管理したいワークスペースで、パネルのサイドバーからTeamページを開く。
- メールアドレスで招待し、ロールを選ぶ。 既存のShifterユーザーは次回サインイン時にワンクリックでJoinでき、自分自身のアカウントを保持し続ける。新規のメールアドレスは、マジックリンクによる短い登録手続きとなり、パスワードは不要である。
- サイドバーのドロップダウンからワークスペースを切り替える。 これは複数のワークスペースに属していると表示される。画面上のすべて、プラン、ウォレット、請求書、チームがそれに応じて切り替わる。
- 各クライアントのプランは、そのクライアントが属するワークスペースで購入する。 プランは後からワークスペース間を移動できないため、間違ったワークスペースで購入すると買い直すことになる。
各ワークスペースには10席のソフトキャップがある。大口クライアントのためにそれ以上必要な場合は、厳密な上限ではなくサポートとの相談事項となる。クライアント関係の形が変わった場合、依頼によりワークスペースの所有権を移転することも可能だ。
この機能自体はintroducing Team Workspacesで説明されている。
ロールの選び方
各人に必要な最小限のロールにとどめること。
| ロール | できること | 誰に与えるか |
|---|---|---|
| Viewer | プラン、トラフィック、請求書を見る、カタログを閲覧する | 使用状況を見たいクライアントの担当者、自分のワークスペース内のみ |
| Billing | Viewerができることすべてに加え、ウォレットへの入金、請求書の支払い、プランの購入やアップグレード | カードを保有している側、どちらの立場でも |
| Admin | Billingができることすべてに加え、プランとチームの管理 | 収集業務を運用する代理店のアカウント担当者 |
ロールはワークスペースごとであり、グローバルではない。同じ人物があるクライアントのワークスペースではAdminで、別のクライアントのワークスペースではViewerであることも可能で、常に適用されるのはアクティブなワークスペースでのロールである。
クライアントごとの使用量追跡
各プランには、パネル内、ダッシュボードの概要、プラン自体のページにリアルタイムの使用量ビューがあり、毎分更新される。サイクル内の残り帯域幅、日次消費トレンド、ホスト名別のトップトラフィック先が表示される。
この3つを組み合わせれば、クライアント帰属をうまく運用するのに十分である。
残り帯域幅は、クライアントが割り当て内でサイクルを終える見込みかどうかを教えてくれる。
日次トレンドは、消費が変化したタイミングを示す。通常は新しいジョブ、暴走したクローラー、あるいはクライアントが黙って大きな範囲を求めてきたことが原因である。
ホスト名別のトップ宛先は過小評価されがちだが有用だ。各クライアントのプランが実際にそのクライアントの対象にヒットしているかを確認できる。トップ宛先が別のクライアントの競合先に属しているプランは、どこかのジョブで間違った認証情報が使われているプランである。
使用量追跡ができないのは、事後にプランのトラフィックを分割することだ。セッションIDごとや、どのジョブが送信したかで使用量を分解することはできない。1つのプランを複数のクライアントで運用している場合、後から分離する方法はない。これこそが、1クライアント1プランというルールが重要である理由だ。
月次運用ルーチン
帰属は一度限りの報告ではなく、習慣として続けるべきものだ。
- 各サイクルの開始時に、各プランの開始時の割り当てとサイクルの日付をメモする。
- 毎週、各クライアントの消費量を想定される消費ペースと比較し、月末使用量を消費済み帯域幅を経過日数で割り、サイクル日数を掛けて再予測する。
- トレンドが急上昇したら、クライアントの範囲が拡大したと決めつける前にトップ宛先を確認する。
- 割り当てが尽きる前に、超過分をウォレットから流すべきか、ジョブを一時停止すべきかをクライアントごとに判断する。レジデンシャルプランの超過分は、プラン自体のGB単価でウォレットから請求される。
- クライアントが離脱したら、その担当者を削除し、そのプランの認証情報をすべてのジョブから撤去し、プランを終了する。
週次確認の背後にある予測方法はforecasting residential proxy bandwidthにある。
認証情報が分離のもう半分
ワークスペースはプランを分離しておく。認証情報を分離しておくのは自分のシステムの役目だ。
各プランには独自の認証情報がある。それをクライアントごとにシークレットマネージャーに保存し、各クライアントのジョブにはそのクライアントのプランのみを与え、急いで何かを片付けるためにあるクライアントの認証情報を別のクライアントのジョブにコピーすることは絶対にしないこと。それが帰属が静かに壊れる原因だからだ。プロキシ接続文字列の全体をログに記録しないこと。これはログ集約システムに認証情報が漏れる最も一般的な経路である。
セッションIDは好きなように命名してよい。クライアントコードを接頭辞にする、sid-acme-serp-01のようにするのはコストがかからず、パネルがそれで使用量を分解しないとしても、自分のログを読みやすくしてくれる。
FAQ
Shifterにはプラン内にサブユーザーがありますか?
いいえ。アクセスは3つのロールでワークスペースごとに管理され、クライアント間の分離は個別のプラン、必要に応じて個別のワークスペースによって実現される。
1つの代理店ログインで何社のクライアントを管理できますか?
1つのログインは必要な数だけのワークスペースに属することができ、サイドバーから切り替えられる。10席のソフトキャップはログインごとではなくワークスペースごとに適用される。
クライアントに他のクライアントが見えてしまうことはありますか?
ワークスペースをまたいでは見えない。1つのワークスペース内では、すべてのメンバーがすべてを見られるため、クライアントの担当者は必ず自分のワークスペースにのみ招待すべきである。
プランをあるクライアントから別のクライアントに移動できますか?
プランは購入されたワークスペースにとどまる。最初から各クライアントのプランをそのクライアントのワークスペースで購入すること。
まとめ
代理店が探しているサブアカウントは、Shifterではワークスペースであり、帰属の単位はプランである。例外なくすべてのクライアントに独自のプランを与え、クライアントが自分自身の請求を持つ場合はクライアント所有のワークスペースを、再販する場合は共有の代理店ワークスペースを選び、クライアントの担当者を共有ワークスペースに入れないようにし、請求時ではなく毎週プランごとに使用量を確認すること。
このように構造化すれば、分離、帰属、アクセス、オフボーディングはすべて自然に成り立つ。この製品はresidential proxies for agenciesページにあり、料金はpricing pageに掲載されている。