Okta Privileged Accessゲートウェイの容量計画
ゲートウェイに割り当てるリソースは、ゲートウェイが実行するロールによって異なります。Okta Privileged Accessゲートウェイは、次のいずれかのロールを実行できます。
- サーバーアクセスプロキシ(Server access proxy):ゲートウェイは、SSHおよびRDPセッションとサーバーを仲介します。ゲートウェイは、処理する同時セッション数と保存するセッション記録に合わせてサイズを指定します。
- インフラストラクチャオーケストレーター(Infrastructure orchestrator)(データベース):ゲートウェイは、統合されたデータベースに対してアカウント検出とパスワードローテーションのタスクを実行します。サービスを行うデータベース全体のユーザー総数に合わせてゲートウェイのサイズを指定します。
以下の各セクションのガイダンスでは、1つのロールを実行するゲートウェイを想定しています。Oktaでは、両方のロールを実行するゲートウェイをテストしていないため、そのようなゲートウェイに必要なリソースについて推奨することはできません。
サーバーアクセスプロキシの容量計画
ゲートウェイがSSHおよびRDPセッションを仲介する場合、必要な処理とメモリは同時セッション数によって決まります。セッションキャプチャを有効にすると、必要なストレージは保持するセッション記録の量によって決まります。
処理とメモリ
Okta Privileged Accessゲートウェイのホスティングに使用するサーバーまたはインスタンスのタイプは、利用するプロバイダーによって異なります。
2つのvCPUと4 GBのRAMを備えたゲートウェイは、120の同時SSHセッションを処理します。CPUの使用はセッション数に応じて増減し、メモリの使用は低い状態で維持されます。
Amazon Web Services(AWS)(AWS)では、このサイズの現行世代のバースト可能なインスタンスがこの要件を満たしています。たとえば、EBSボリュームを持つt3.mediumやt4g.mediumインスタンスです。元のテストは、同じサイズの前世代である、t2.mediumインスタンスで実行されました。
ストレージ
Okta Privileged Accessゲートウェイを使ってSSHセッションキャプチャをデプロイする場合は、必要なストレージのタイプと容量の両方を慎重に検討してください。
最適なストレージソリューションはSSD(ソリッドステートドライブ)です。ゲートウェイに接続する専用SSDや、Amazon Elastic Block StoresなどのSSDベースのストレージとして使用できます。
必要なストレージの容量は、ユーザーのワークロードによって異なります。たとえば、ディレクトリリスティングを5秒おきに実行する30分間の対話型セッションをキャプチャすると、約150キロバイトのサイズのバイナリファイルが保存されます。
セッション中にscpコマンドでファイルをコピーすると、コピーしたファイルもセッションキャプチャの記録に含まれます。セッションキャプチャをご覧ください。
セッションの記録が有効に設定されていても、セッションログの保存に利用できるゲートウェイのストレージが不十分な場合、ゲートウェイはセキュリティ上の理由から接続を阻止します。この状況を回避するには、ログに利用できるストレージ容量が十分であるかを確認するために、ゲートウェイのストレージ使用率を監視することをお勧めします。
セッションログのストレージ容量を十分に確保する方法の1つとして、利用できるクラウドストレージを格納先として使用することが挙げられます。進行中のセッションが格納される一時ディレクトリ(ほとんどのシステムでは/tmp)に、予想されるセッションのログを保存するのに十分な容量があることを確認してください。
インフラストラクチャオーケストレーターの容量計画
オーケストレーターゲートウェイは、統合されたデータベースに対してアカウントの検出とパスワードのローテーションを実行します。必要な処理とメモリは、それらのデータベース全体での総ユーザー数によって決まります。
ゲートウェイがサービスを行うすべてのデータベースでユーザーを合計します。統合数はプライマリ要素ではないため、各100人のユーザーを持つ10個の統合には、1,000人のユーザーを持つ1個の統合とほぼ同じ容量が必要になります。
検出で返されるすべてのユーザー(管理していないユーザーおよびパスワードで認証しないユーザーも含む)をカウントします。それらすべてをカウントすると、推定値を控えめにできます。
総ユーザー数に一致する行を見つけます。開始点としてこれらのサイズを使用します。要件は、データベースのタイプ、統合数、ワークロードによって異なる可能性があります。
| 統合されたすべてのデータベースの総ユーザー数 | 最小vCPUとRAM | AWSバースト可能例 | AWS汎用例 |
|---|---|---|---|
| 最大1,500 | 2 vCPU、4 GB RAM | t4g.medium | m6a.large |
| 1,501~10,000 | 4 vCPU、16 GB RAM | t4g.xlarge | m6a.xlarge |
| 10,001~50,000 | 8 vCPU、32 GB RAM | t4g.2xlarge | m6a.2xlarge |
vCPUとRAMの値は要件として、インスタンス名はそれを満たす例として扱います。一部の例では、最小よりも多くのRAMを提供します。
オーケストレーターゲートウェイは、検出とローテーションの実行の間にCPUをほとんど使用せず、タスクの実行中に短時間のみ使用します。バースト可能なインスタンスは、低いベースラインで実行され、バースト中に累積されたクレジットを利用するため、このパターンに適しています。
ユーザーが1,500人を超える場合は、汎用インスタンスがより安全なデフォルトです。検出により、バースト可能なインスタンスが数秒の間CPU100%に達する可能性があるからです。ゲートウェイホストがCPUを消費する他のワークロードを実行していない場合でも、バースト可能なインスタンスが引き続き適しています。
独自の仮想マシンまたは物理ハードウェアでゲートウェイを実行する場合、バーストクレジットの動作が生じないため、テーブル内のvCPUとRAMを固定リソースとしてプロビジョニングします。汎用的な例では、同等のバースト可能でないサイズを示しています。
高可用性
Oktaでは、各オーケストレーショングループに2つのゲートウェイを推奨しています。1つのゲートウェイが利用不可になった場合でも検出とローテーションを維持し、タスクの負荷が共有されます。
オーケストレーショングループの全ユーザー数に合わせて、両方のゲートウェイのサイズを指定します。いずれかのゲートウェイが独自で負荷全体を処理できる必要があるため、それらの間で数を分割しないでください。
サイズ指定の例
次の例は、統合数ではなく、総ユーザー数が推奨事項を推進する仕組みを示しています。
| デプロイメント | 総ユーザー数 | 推奨 |
|---|---|---|
| 20個の統合データベースで、それぞれのユーザーは約50人 | 1,000 | 2個のゲートウェイで、それぞれに2つのvCPUと4 GBのRAM(t4g.mediumと同等) |
| 3個の統合データベースで、それぞれのユーザーは約400人 | 1,200 | 2個のゲートウェイで、それぞれに2つのvCPUと4 GBのRAM(t4g.mediumと同等) |
| 8個の統合データベースで、それぞれのユーザーは約1,000人 | 8,000 | 2個のゲートウェイで、それぞれに4つのvCPUと16 GBのRAM(t4g.xlargeと同等) |
検出パフォーマンス
検出は高速です。2つのvCPUと4 GBのRAMを備えたゲートウェイでは、検出は、最大1,500人までの各ユーザー数に対して1秒以内で完了します。
| 統合データベースのユーザー | 検出時刻 |
|---|---|
| 10 | 約0.5秒 |
| 100 | 約0.5秒 |
| 1,000 | 約0.7秒 |
| 1,500 | 約0.9秒 |
検出タスクは連続して実行され、スケジュールされた実行は統合全体でランダム化されているため、オーケストレーショングループ内の統合がすべて同時に検出を開始するわけではありません。手動で開始した検出は1回限りです。総ユーザー数が推奨範囲内にある場合は、複数の統合でオーケストレーショングループを共有することをおすすめします。
すでに負荷がかかるデータベースに対する検出には時間がかかる可能性があります。これは、必要なゲートウェイのサイズではなく、検出時間に影響します。
ローテーションパフォーマンス
ローテーションは検出よりも時間がかかりますが、使用するCPUは少ないです。ローテーションは連続して処理されるため、1つバッチの合計時間はローテーションするユーザー数に応じて増加します。
1つのユーザーローテーションは約4秒で完了します。より大きなバッチは、1秒あたり2.5~5人のユーザーの一定レートで処理します。そのレートでは、100人のユーザーをローテーションするのに約20~40秒かかり、1,000人のユーザーをローテーションするには約3~7分かかります。
パスワードの変更自体は、数秒以内で完了します。Admin Consoleに表示されるステータスまたはAPIによって返されるステータスは、ローテーションの完了を反映するまでに時間がかかる場合があります。進行中に見えるローテーションが、データベースですでに完了している場合があります。