QuickSight
QuickSight は、公式の MySQL データソースと Direct Query モードを使用することで、MySQL インターフェイス経由でオンプレミス環境の ClickHouse(23.11 以降)に接続できます。
オンプレミス ClickHouse サーバーのセットアップ
MySQL インターフェイスを有効にした ClickHouse サーバーのセットアップ方法については、公式ドキュメント を参照してください。
サーバーの config.xml に設定項目を追加することに加えて
MySQL インターフェイスを利用するユーザーには、Double SHA1 password encryption の使用も必須です。
シェルから Double SHA1 で暗号化されたランダムなパスワードを生成するには、次のようにします。
出力は以下のようになります。
1 行目が生成されたパスワードで、2 行目が ClickHouse の設定に使用できるハッシュです。
以下は、生成されたハッシュを使用する mysql_user の設定例です。
/etc/clickhouse-server/users.d/mysql_user.xml
password_double_sha1_hex エントリを、生成した Double SHA1 ハッシュ値に置き換えてください。
QuickSight では、MySQL ユーザーのプロファイルにいくつかの追加設定が必要です。
/etc/clickhouse-server/users.d/mysql_user.xml
ただし、デフォルトのプロファイルではなく、その MySQL ユーザーが使用できる別のプロファイルを割り当てることを推奨します。
最後に、ClickHouse Server が目的の IP アドレスで待ち受けるように設定します。
config.xml で、すべてのアドレスで待ち受けるようにするには、次の設定のコメントを解除します:
mysql バイナリが利用可能な場合は、コマンドラインから接続をテストできます。
上記のサンプルのユーザー名(mysql_user)とパスワード(LZOQYnqQN4L/T6L0)を使用した場合、実行するコマンドは次のとおりです。
QuickSight を ClickHouse に接続する
まず https://quicksight.aws.amazon.com にアクセスし、Datasets セクションに移動して「New dataset」をクリックします。

QuickSight にバンドルされている公式の MySQL コネクタ(名前は MySQL のみ)を検索します。

接続情報を入力します。MySQL インターフェイスのポートはデフォルトで 9004 ですが、 サーバー構成によっては異なる場合がある点に注意してください。

ここで、ClickHouse からデータを取得する方法として 2 つの選択肢があります。1 つ目は、リストからテーブルを選択する方法です。

もう 1 つの方法は、カスタム SQL を指定してデータを取得することです。

「Edit/Preview data」をクリックすると、自動検出されたテーブル構造を確認したり、データへのアクセス方法としてカスタム SQL を選択した場合はその内容を調整したりできます。

UI の左下隅で「Direct Query」モードが選択されていることを確認してください。

これで、データセットを公開して新しいビジュアライゼーションを作成できます。
既知の制限事項
- SPICE インポートは期待どおりに動作しません。代わりに Direct Query モードを使用してください。#58553 を参照してください。