メインコンテンツへスキップ
メインコンテンツへスキップ

本番環境への移行

本番環境に ClickStack をデプロイする際には、セキュリティ、安定性、および適切な構成を確保するために、追加で考慮すべき事項がいくつかあります。これらは、使用しているディストリビューションがオープンソース版かマネージド版かによって異なります。

本番環境でのデプロイには、Managed ClickStack の利用を推奨します。これはデフォルトで業界標準の セキュリティプラクティス が適用され、強化された暗号化・認証・接続性と、管理されたアクセス制御に加えて、次の利点を提供します。

  • ストレージから独立したコンピュートの自動スケーリング
  • オブジェクトストレージに基づく低コストかつ実質無制限の保持期間
  • Warehouse を用いて読み取り・書き込みワークロードを個別に分離できる機能
  • 統合された認証
  • 自動化された バックアップ
  • シームレスなアップグレード

Managed ClickStack を利用する際は、ClickHouse Cloud に対するこれらのベストプラクティスに従ってください。

インジェストのセキュリティ保護

デフォルトでは、オープンソースディストリビューションの外部にデプロイされた ClickStack OpenTelemetry Collector は保護されておらず、OTLP ポートで認証を要求しません。

インジェストを保護するには、OTLP_AUTH_TOKEN 環境変数を使用して collector をデプロイする際に認証トークンを指定します。詳細は "Securing the collector" を参照してください。

インジェスト用ユーザーの作成

OTel collector が Managed ClickHouse にインジェストを実行し、かつ otel など特定のデータベースにインジェストが送信されるようにするため、専用ユーザーを作成することを推奨します。詳細は "Creating an ingestion user" を参照してください。

Time To Live (有効期限 (TTL)) の設定

Managed ClickStack デプロイメントに対して、Time To Live (TTL)適切に設定されていることを確認してください。これはデータの保持期間を制御します。デフォルトの 3 日は、変更が必要になることが多くあります。

リソース見積もり

以下では、想定されるインジェスト量に基づき、ClickStack のデプロイに必要なコンピュートおよびストレージリソースを見積もるためのモデルを示します。算出される値はあくまで概算であり、初期ベースラインとして利用してください。規定的な答えではありません。実際に必要となるリソースは、クエリの複雑さ、同時実行数、保持ポリシー、インジェスト処理量の変動によって異なります。必ずリソース使用量を監視し、必要に応じてスケールしてください。

すべての数値は非圧縮の生インジェストに基づきます

このページのすべての数値 - スループット (MB/s、TB/月) 、CPU サイジング、ストレージ - は、非圧縮の生インジェスト量、つまりアプリケーションによって生成され、圧縮が適用される前に OpenTelemetry collector に送信されるデータサイズを基準にしています。

この値は、既存のログ、トレース、メトリクスのパイプラインから見積もってください。以下の表にあるストレージ値には、この生データ量に対する想定10 倍圧縮率がすでに適用されています。

ClickStack をデプロイする際は、インジェストクエリという 2 つの独立したワークロードをまかなえるようにコンピュートをプロビジョニングしてください。

ワークロード推定リソース
インジェスト持続的なインジェストスループット 10 MB/s あたり 1 vCPU
クエリ1 QPS あたり 1 vCPU、かつ持続的なインジェストスループット 10 MB/s あたり 1 vCPU
クエリとインジェストの分離

ほとんどのセルフマネージド環境では、インジェストとクエリは同じノードを共有します。この場合は、Total CPUs をベースラインとして使用してください。インジェスト用とクエリ用のコンピュートを個別にプロビジョニングする分離スケーリングは、ClickHouse Cloud では 個別のコンピュートプール (別名 Warehouses) によってサポートされています。

前提
  • ストレージについては10 倍圧縮率を想定しています。これは通常、ログとトレースに対しては保守的な見積もりです。
  • クエリ SLA は、P50 が 1.5 秒、P99 が 5 秒です。
  • ほとんどのクエリは直近のデータに対して実行され、約 1 時間付近でピークを迎え、約 6 時間まで裾を引く対数正規分布に従うと想定しています。古いデータをクエリするために、専用のコンピュートをプロビジョニングしたい場合もあります。ClickHouse Cloud では、使用していないときはこれを idle 状態にできるため、コストは発生しません。
  • クエリ用コンピュートはインジェスト用コンピュートとは独立してスケールできますが、本質的にはインジェスト量に結び付いています。インジェストが増えるとデータ密度が高まり、その結果、クエリ時のスキャン量が増え、それに伴ってクエリ用コンピュート要件も高くなると想定しています。

以下の表は、1 秒あたりのインジェストスループット (MB/s) の増加に応じたサイジング例と、それに対応する 1 か月あたりのデータ量 (TB) を示しています。これは、すべてのクエリタイプ (検索、ダッシュボード、アラート) を通じて ClickStack からの平均 1 QPS が持続すると仮定したものです。

MB/sTB/月Ingest CPUsQuery CPUsTotal CPUs総ストレージ (1 か月あたり) (GB)
1025.921342,592
2051.842685,184
50129.65152012,960
100259.210304025,920
200518.420608051,840
5001,29650150200129,600
10002,592100300400259,200

お使いの環境に合わせてサイジング前提をさらに調整する方法の詳細については、"Refining sizing assumptions for your environment" を参照してください。

オブザーバビリティワークロードの分離

リアルタイムアプリケーション分析など、すでに他のワークロードをサポートしている既存の ClickHouse Cloud サービスに ClickStack を追加する場合は、オブザーバビリティトラフィックを分離することを強く推奨します。

Managed Warehouses を使用して、ClickStack 専用の子サービスを作成します。これにより、次のことが可能になります。

  • 既存アプリケーションからインジェストおよびクエリ負荷を分離
  • オブザーバビリティワークロードを独立してスケール
  • オブザーバビリティクエリが本番分析に影響を与えるのを防止
  • 必要に応じて、サービス間で同じ基盤データセットを共有

このアプローチにより、既存のワークロードに影響を与えずに、オブザーバビリティデータの増加に応じて ClickStack を独立してスケールさせることができます。

より大規模なデプロイやカスタムサイズのガイダンスが必要な場合は、より正確な見積もりについてサポートまでお問い合わせください。