戻る

ブログ

Cloud CIRCUSがClickHouseを使用してログ分析をシンプルかつ高速化

ClickHouse Team
Jun 17, 2025 - 1 分で読める

Cloud CIRCUSは東京を拠点とするSaaS企業であり、マーケターの「働くに楽を」をミッションに、日本中でビジネスマーケティングを合理化するためのデジタルツールを提供しています。その一つが、高品質なウェブサイトを誰でも簡単に制作、運営できるCMSプラットフォーム、BlueMonkeyです。

現在、BlueMonkeyはAWS上で2,000を超える顧客のウェブサイトをホスティングしています。各サイトにはCloudFrontディストリビューションを使用し、コンテンツを高速に配信すると同時に、1日に数千万レコードのアクセスログを生成しています。これらのログはエラーを追跡し、ユーザー行動を理解するために重要ですが、Amazon Athenaによるクエリには時間がかかり、また拡張も難しいという問題がありました。そのため、クエリを数千回実行しなくても、あるいはコストを心配しなくても、すべてのログを効率良く分析できる方法を探す必要がありました。

この問題について、Cloud CIRCUSのインフラエンジニアである朱 九霖氏は、2025年1月のClickHouse東京ミートアップで、ClickHouseに切り替えたことで解決したと説明しました。最初はClickHouseをテストするつもりだったが、セルフマネージドのパワフルな分析パイプラインであり、高速かつ自動化が容易であることや、コスト効果が大幅に高まることがわかったと、朱氏は話しています。

AthenaからClickHouseへ

Cloud CIRCUSは以前、S3に格納したCloudFrontログを、Athenaを使用して分析していました。しかし、顧客の各サイトでは1日に数千万という新しいレコードが、CloudFrontディストリビューションにより生成されていたため、BlueMonkeyの顧客が増えるにつれ、パフォーマンスの低下が見られるようになりました。「すべてのログをAthenaで分析するのは大変でした」と朱氏は言います。「CloudFrontとレコードの数が多すぎて、時間とコストがかかりすぎてしまうという問題がありました」

その大きな悩みの種となったのがAthenaの構成でした。AthenaではCloudFrontディストリビューションごとにテーブルを用意する必要があり、すべてのサイトにクエリを実行すると、負荷が非常に高くなりました。新しいログを取り込むのに数時間もかかることがあり、簡単なクエリでさえ結果が戻るまでに時間を要しました。そのうえ、Athenaではクエリごとにスキャンしたデータ量から費用が計算されるため、コストが高くなり、また金額の予測もできませんでした。

朱氏はチームで別の方法の検討を始めました。「自分たちで構築したClickHouseの環境上でCloudFrontのログを分析できればと思いました」と朱氏は言います。ClickHouseは高速かつ大規模な集計処理で評価の高いオープンソースモデルのシステムです。また、すべてのログデータを1つのテーブルに集約できることや、クエリベースの価格モデルではないことも重要なポイントでした。

彼らはさらに調査を続けました。「速度とコストの問題がある程度解決できるのではないかと考えました」(朱氏)「もちろん、ClickHouseの性能を試してみたいという技術検証の目的もありました」そこで、EC2で概念実証を立ち上げてベンチマークを実行し、その結果、自信をもってClickHouseへの移行を決断することができました。

新しいシステムの構築

まずはシンプルな構成で使用を始めました。1つのEC2インスタンスを作成し、4つのvCPUと32GBのメモリを使用してAmazon Linux 2023を走らせてから、公式ドキュメントにあるRPMパッケージを使用してClickHouseをインストールしました。「技術検証と当初のコスト削減を目的として、小さいサーバーを使用しました」(朱氏)ClickHouseのサーバーとクライアントを同じマシンで実行したことで、テストの初期段階の管理が容易になりました。

次はスキーマデザインです。一貫性を保つため、AthenaがCloudFrontのログ取り込みに使用していたテーブル構成をミラーリングしました。「これは、Athenaが実際に実行したクエリの結果と同じような結果を得られるようにするためです」(朱氏)これにより、2つのシステムを簡単に比較することもできました。ただし、細かい変更点が一つあり、AthenaではHTTPコードが整数型でしたが、CloudFrontのログに「000」という値が存在するため、ClickHouseではこの列を文字列型にする必要がありました。テーブルエンジンにはMergeTreeを使用し、日ごとのパーティションを作成して、host_headerとdateで並べ替えることで、集計クエリに非常に適した設定にしました。

テーブルの用意ができたので、ログのインポートに入りました。もともとCloudFrontのログはS3に送信され、そこでドメインごとにフォルダに分類されていましたが、ClickHouseのs3テーブル関数を使用すると、多くのファイルから日付範囲を指定してログを一度に取り込めるため、ファイルごとに手動でリスティングする必要がありません。インポート中にデータをクリーンアップするため、先頭から2つのヘッダ行をスキップし、プレースフォルダのダッシュをnull値として処理するようにClickHouseを設定しました。シンプルにセットアップしたことで、かなり高速になり、初期データを問題なく読み込むことができました。

さらに深刻なのが拡張性の課題でした。「すべてのサイトからログを収集するため、莫大なデータ量になります」と朱氏は言います。「一度に挿入すると時間がかなりかかってしまいます」この処理を自動化するため、Amazon EventBridgeとECSを使用してパイプラインを構築しました。S3のスキャンを実行するバッチタスクをスケジュール設定してリストされたドメインを取り込み、それらのログをClickHouseにドメインごとに読み込みました。「これですべてが自動化されました」(朱氏)

Cloud CIRCUSのログインポート自動化パイプライン:CloudFrontのログが、S3とECSを通ってEC2上のClickHouseに取り込まれる。

速度をさらに上げるために、AWS Fargateを使用してインポート処理を並列化しました。ログ挿入を20のタスクに分割し、それぞれが異なるドメイングループを処理するように設定しました。「これにより、一度に挿入すると数時間かかっていたインサート処理が30分以内で終わるようになりました」(朱氏)システムの負荷が急増しないよう、同時実行タスク数に上限を定めてメモリ使用率を80%に抑えたことで、処理を高速化としながら安定して稼働させることができました。

Cloud CIRCUSは新しいアーキテクチャを導入し、処理を自動化することで、効率的なセルフマネージドのログ分析パイプラインを実装し、トラフィック増加への対応を可能にしました。「このように、ログ挿入の工程を機械的にすることで、継続的かつ効率的にログを繰り返し導入することができました」(朱氏)

速度は上げて、コストは下げる

この新しいパイプラインを実装してから、Cloud CIRCUSのクエリパフォーマンスは大幅に向上しました。朱氏は東京ミートアップで日ごとのアクセス数を集計するクエリのデモを行い、Athenaで16秒かかっていた処理が、ClickHouseではわずか0.043秒になったと説明しました。

それだけではありません。すべてのドメインで集計を行った場合、ClickHouseでは4億7,000行をスキャンするクエリが9秒以内で完了しますが、Athenaでは同じ処理を行うために、クエリを2,000回以上も実行することから、完了まで数時間かかることもありました。

「クエリの速度はもちろん、利便性の面でもClickHouseの方が優れていると思います」(朱氏)

パフォーマンスだけでなく、費用面でも大きなメリットがあります。Athenaの場合、Cloud CIRCUSはクエリごとにスキャンしたデータ量から費用が請求されるため、大規模な分析ではコストが高くなり、また金額の予測もできませんでした。ClickHouseは一定のサイズのEC2インスタンスで実行されるため、月に約300ドルと比較的安定した価格になります。

Athenaの方が一見すると安上がりのように思えましたが(月に約100ドル程度)、「ClickHouseではクエリをいくら発行しても固定の料金です」(朱氏)「それに対して、Athenaではクエリの数に応じて値段が変わり、たとえば全サイトを集計するようなクエリを追加で何種類か走らせると、容易にClickHouseでの費用を超えてしまいます」

ログを1つのテーブルに集約し、インジェストを自動化して、クエリをClickHouseでローカルに実行することで、クエリごとに費用が発生する分断化されたシステムから一元化されたパイプラインへの移行を実現し、高速化と同時に管理面と拡張性も強化しました。

ClickHouseでログ分析の規模を拡張

ClickHouseを導入することで、Cloud CIRCUSの大規模なログ分析に対する考え方は変わりました。「ログ分析をAthenaからClickHouseに移行したことで、時間とコストの削減を実現できました」と朱氏は言います。「何よりも、クエリ実行のたびに費用を心配しなくて済むことはかなり大きいと思います」

クエリの高速化、費用の予測、完全に自動化されたパイプラインを実現したことで、BlueMonkeyの拡張に合わせてシステムを拡大し、数千もの顧客のウェブサイトを簡単にサポートできるようになりました。また、独自に作成したシンプルなデータワークフローにより、マーケター向けのサービス業務の効率化にも成功しました。

データワークフローを高速化し、拡張性を向上させるClickHouseの機能について詳しく知りたい方は、ClickHouse Cloudを30日間無料でお試しください。

この投稿を共有する

Subscribe to our newsletter

Stay informed on feature releases, product roadmap, support, and cloud offerings!
Loading form...
Follow us
X imageBluesky imageSlack image
GitHub imageTelegram imageMeetup image
Rss image
© 2025 ClickHouse, Inc. 本社はカリフォルニア州ベイエリアとオランダ領アムステルダムにあります。