注: ビデオで示しているポリシーは権限が広く、クイックスタート専用です。最小権限の IAM ガイダンスについては以下を参照してください。
前提条件
- ClickHouse Connector Sinkについて理解していること
- Amazon MSK および MSK Connectors について理解していること。Amazon MSK の Getting Started ガイド と MSK Connect ガイド を参照することを推奨します。
Amazon MSK向け ClickHouse 公式 Kafkaコネクタ
接続情報を確認する
ClickHouse Cloud サービスの詳細は、ClickHouse Cloud コンソールで確認できます。
サービスを選択し、Connect をクリックします。
HTTPS を選択します。接続情報は
curl コマンドの例として表示されます。
セルフマネージド ClickHouse を使用している場合、接続情報は ClickHouse 管理者によって設定されます。
手順
- ClickHouse Connector Sink をあらかじめ確認しておきます。
- MSK インスタンスを作成します。
- IAM ロールを作成して割り当てます。
- ClickHouse Connect Sink の Release page から
jarファイルをダウンロードします。 - ダウンロードした
jarファイルを、Amazon MSK コンソールの Custom plugin page からインストールします。 - コネクタがパブリックな ClickHouse インスタンスと通信する場合は、インターネットアクセスを有効にします。
- config で、トピック名、ClickHouse インスタンスのホスト名、パスワードを指定します。
推奨される IAM 権限 (最小権限)
- AWS Glue Schema Registry を使用する場合にのみ、Glue ブロックを使用してください。
- Secrets Manager から認証情報やトラストストアを取得する場合にのみ、Secrets Manager ブロックを使用してください。ARN は必要な範囲に限定してください。
- S3 からアーティファクト (例: トラストストア) を読み込む場合にのみ、S3 ブロックを使用してください。バケット/プレフィックスの範囲に限定してください。
パフォーマンスチューニング
MSK Connect のネットワークに関する注意事項
- プライベートサブネットを作成する: VPC 内に新しいサブネットを作成し、プライベートサブネットとして設定します。このサブネットはインターネットに直接アクセスできないようにする必要があります。
- NAT ゲートウェイを作成する: VPC のパブリックサブネット内に NAT ゲートウェイを作成します。NAT ゲートウェイにより、プライベートサブネット内のインスタンスはインターネットや他の AWS サービスに接続できますが、インターネット側からそれらのインスタンスへの接続開始は防止されます。
- ルートテーブルを更新する: インターネット宛てのトラフィックを NAT ゲートウェイに転送するルートを追加します
- セキュリティグループとネットワーク ACL の設定を確認する: 必要なトラフィックを許可するように、セキュリティグループ と ネットワーク ACL (アクセス制御リスト) を設定します。
- MSK Connect ワーカーの ENI から、TLS ポート (通常は 9094) の MSK ブローカーへの通信。
- MSK Connect ワーカーの ENI から、ClickHouse エンドポイント (9440 (native TLS) または 8443 (HTTPS) ) への通信。
- MSK Connect ワーカーの SG からブローカーの SG へのインバウンドを許可する。
- セルフホストの ClickHouse の場合は、サーバーで設定したポート (HTTP のデフォルトは 8123) を開放します。
- セキュリティグループを MSK に関連付ける: これらのセキュリティグループが MSK クラスターおよび MSK Connect ワーカーに関連付けられていることを確認します。
- ClickHouse Cloud への接続性:
- パブリックエンドポイント + IP 許可リスト: プライベートサブネットからの NAT 経由のアウトバウンド通信が必要です。
- 利用可能な場合はプライベート接続 (例: VPC peering/PrivateLink/VPN) 。VPC の DNS ホスト名と名前解決が有効になっており、DNS でプライベートエンドポイントを解決できることを確認してください。
- 接続性を検証する (クイックチェックリスト) :
- コネクタ環境から、MSK の bootstrap DNS を名前解決し、ブローカーのポートに TLS で接続する。
- ClickHouse の 9440 番ポート (HTTPS の場合は 8443) への TLS 接続を確立する。
- AWS サービス (Glue/Secrets Manager) を使用する場合は、それらのエンドポイントへのアウトバウンド通信を許可する。