前提条件
開始する前に、環境が以下の要件を満たしていることを確認してください。計画フェーズにおいて、 このチェックリストを DuoKey 担当者と一緒に確認することをお勧めします。
プラットフォーム
| 要件 | 推奨 |
|---|---|
| OpenShift | 現在サポートされている 4.x リリース (同等の OKD もサポート) |
| クラスタートポロジー | 3 コントロールプレーンノード + 3 つ以上の障害ドメインにまたがる 3 つ以上のワーカーノード |
| コンテナランタイム | CRI-O (OpenShift のデフォルト) |
| ストレージ | OpenShift Data Foundation (ODF) または ReadWriteOnce ブロックボリュームとスナップショットサポートを提供する CSI ドライバー |
| Ingress | ワイルドカード DNS + TLS 証明書を備えた OpenShift Ingress Router (組み込み) |
| オブジェクトストレージ | バックアップ用の S3 互換バケット (ODF NooBaa、MinIO、または外部) |
コンピューティングサイジング (出発点)
これらは本番 HA 展開のベースライン値です。最終的なサイジングは、鍵、クライアント、および リクエスト量の数に依存します。
OpenShift ワーカーノード
| プロファイル | vCPU | RAM | 備考 |
|---|---|---|---|
| ワーカーあたり (最小 3) | 8 | 32 GB | フロントエンド、バックエンド、オブザーバビリティ Pod をホスト |
専用 VM 層
| VM | 数 | vCPU | RAM | ディスク |
|---|---|---|---|---|
| OpenBao | 3 (HA / Raft) | 2 | 4 GB | 50 GB SSD |
| PostgreSQL | 3 (プライマリ 1 + レプリカ 2) | 4 | 16 GB | 200 GB SSD |
| GitLab | 1 | 4 | 8 GB | 100 GB |
VM 層は既存のハイパーバイザー (VMware、Proxmox、KVM/OpenStack) 上で仮想化できます。 単一障害点を避けるため、可能な限り OpenBao と PostgreSQL を別々の物理ホストに 配置してください。
DKE オンプレミスサイジング
Double Key Encryption (DKE) 展開では、主要なワークロードは鍵のラップ/アンラップ リクエストであり、軽量ですがバースト性があります。ユーザーが保護されたドキュメントを開いたり 保存したりするとスパイクします。総ユーザー数だけでなく、ピーク時の同時実行数に合わせて サイジングしてください。
コンポーネントごとのリソース (HA ベースライン)
これらは DuoKey コンポーネントのレプリカあたりのリクエストサイズであり、高可用性展開のための 最小レプリカ数を示しています。イメージは Harbor レジストリから 取得されます。
| コンポーネント | vCPU / レプリカ | RAM / レプリカ | ストレージ | 最小レプリカ数 (HA) |
|---|---|---|---|---|
| Cockpit (フロントエンド) | 2 | 4 GB | 20 GB | 2 |
| Cockpit API (バックエンド) | 4 | 8 GB | 20 GB | 3 |
| KMS API (DKE 鍵エンドポイント) | 2 | 4 GB | 20 GB | 2 |
| MPC / TSM ノード | 4 | 8 GB | 20 GB | 3 |
| PostgreSQL (MPC + Cockpit) | 4 | 16 GB | 100 GB | 3 |
| Redis キャッシュ | 4 | 8 GB | 50 GB | 3 |
| メッセージブローカー (RabbitMQ/Kafka) | 4 | 8 GB | 50 GB | 3 |
| OpenBao (VM 層) | 2 | 4 GB | 50 GB | 3 |
| 監視スタック | 8 | 16 GB | 200 GB | 1 |
| ロギングスタック | 8 | 16 GB | 600〜1000 GB | 1 |
ユーザー数によるサイジング階層
上記のコンポーネントごとのリソースは、DuoKey のリファレンスサイジングから導き出されて います。以下のユーザー数階層は、計画を容易にするための目安となる出発点であり、 契約上のマッピングではありません。実際のサイジングはドキュメントのアクティビティと ピーク時の同時実行数に依存し、お客様の展開について DuoKey と共に検証されます。
以下の表は、OpenShift アプリケーションワーカーノード (上記の Pod) をサイジングします。 3 つのコントロールプレーンノードと、専用のデータ/VM 層 (PostgreSQL、OpenBao) は除外 されており、それらは上記のコンポーネントごとの表に従ってスケールします。
| 階層 | ユーザー | アプリワーカーノード | ノードあたり | 備考 |
|---|---|---|---|---|
| パイロット / PoC | 1,000 以下 | 3 | 8 vCPU / 32 GB | 最小 HA、レプリカ削減 |
| 標準 | 10,000 以下 | 3〜4 | 8 vCPU / 32 GB | リファレンス HA アーキテクチャ |
| 大規模 | 50,000 以下 | 6 | 16 vCPU / 64 GB | スケールアウトレプリカ + HPA |
| エンタープライズ | 100,000 以上 | 8 以上 | 16 vCPU / 64 GB | カスタム、通常はマルチサイト |
- MPC ノードは鍵操作中に CPU バウンドになります。高負荷の DKE 下ではこれを最初に スケールしてください。
- PostgreSQL はシンプルなデータストアとして使用されます (重いクエリはありません) ので、 CPU バウンドよりも RAM/IO バウンドになります。
- Redis とブローカーはパススルー/キャッシュであり、CPU は控えめです。
- リクエストのスパイクを吸収するため、Cockpit API と MPC ノードで HorizontalPodAutoscaler を有効にしてください。
これらの値は安全な出発点です。DuoKey 担当者が、実際のユーザー数、ドキュメントの アクティビティ、ピーク時の同時実行数、および可用性目標 (単一サイト対マルチデータセンター) に対してこれらを精緻化します。
ソフトウェアとオペレーター
展開前に、以下の OpenShift オペレーターを (OperatorHub 経由で) インストールしてください:
- OpenShift GitOps (ArgoCD)
- External Secrets Operator (ESO)
- PostgreSQL オペレーター — CloudNativePG または Patroni (VM 上ではなくクラスター内で PostgreSQL を実行する場合)
- OpenShift Data Foundation (ストレージに ODF を使用する場合)
- Velero / OADP (OpenShift API for Data Protection) — バックアップ用
外部ソフトウェア:
- OpenBao ≥ 最新の安定版、Raft 統合ストレージで構成
- GitLab (セルフホスト) または GitLab SaaS へのアクセス
- Redis ≥ 7 (シャード化クラスター) — クラスター内 StatefulSet または VM 上
ネットワーク
| フロー | ソース | 宛先 | ポート |
|---|---|---|---|
| ユーザー → アプリ | クライアント | Ingress Router | 443/TCP |
| アプリ → シークレット | ワーカーノード | OpenBao VM | 8200/TCP |
| アプリ → データベース | ワーカーノード | PostgreSQL プライマリ/レプリカ | 5432/TCP |
| GitOps → ソース | ArgoCD | GitLab | 443/TCP、22/TCP |
| バックアップ | クラスター / Velero | オブジェクトストレージ | 443/TCP |
| OpenBao → HSM (オプション) | OpenBao VM | HSM | HSM ベンダーごと |
要件:
- Ingress Router VIP を指すワイルドカード DNS レコード
(例:
*.duokey.example.local)。 - アプリケーションホスト名の TLS 証明書 — エアギャップサイトでは内部 CA で問題ありません。
- 推奨されるネットワークセグメンテーション: アプリケーション、セキュア (HSM)、 バックエンド/ストレージトラフィック用に別々の VLAN。
- エアギャップインストールの場合: OpenShift リリースおよびオペレーターイメージ用の ミラーレジストリ (例: Quay / mirror.registry)。
鍵の保管: DuoKey MPC および/または HSM
DuoKey の主要なトラストルートは独自の Multi-Party Computation (MPC) です。鍵マテリアルは シェアに分割され、単一のノードや管理者が完全な鍵を保持することはありません。専用の HSM ハードウェアは不要です。
ハードウェアトラストルートも必要とする展開の場合、DuoKey は Securosys HSM (PKCS#11 / KMIP) と統合します。以下を用意してください:
- OpenBao VM から Securosys HSM (または Securosys Cloud HSM / CloudsJMS エンドポイント) への ネットワーク到達性。理想的には専用のハードニング済み VLAN 上。
- OpenBao 用に構成された HSM クライアント資格情報 / パーティション。
アクセスとスキル
- OpenShift クラスターへのクラスター管理者アクセス。
- VM ハイパーバイザーと DNS への管理アクセス。
oc/kubectl、GitOps の概念、および OpenBao 運用に関する知識。
これらが整ったら、インストールに進んでください。