MySQL ClickPipe は MariaDB をサポートしていますか?
MySQL ClickPipe は PlanetScale、Vitess、または TiDB をサポートしていますか?
レプリケーションはどのように管理されますか?
GTID と FilePos の両方のレプリケーションをサポートしています。Postgres とは異なり、オフセットを管理するためのスロットはありません。代わりに、MySQL サーバーで十分な binlog の保持期間を設定する必要があります。binlog 内のオフセットが無効になった場合 (たとえば、mirror が長時間 Paused のままだった場合や、FilePos レプリケーションの使用中にデータベースのフェイルオーバーが発生した場合) 、パイプを再同期する必要があります。非効率なクエリによってインジェストが遅れ、保持期間を超えてしまう可能性があるため、宛先テーブルに応じて materialized view を必ず最適化してください。
また、アクティビティのないデータベースでは、ClickPipes がより新しいオフセットに進めないままログファイルがローテーションされることもあります。定期的に更新される heartbeat table をセットアップする必要がある場合があります。
初期ロードの開始時に、開始位置となる binlog オフセットを記録します。CDC (変更データキャプチャ) を進めるには、初期ロードの完了時点でもこのオフセットが有効である必要があります。大量のデータを取り込む場合は、適切な binlog の保持期間を必ず設定してください。テーブルのセットアップ中は、高度な設定で大きなテーブルに対して Use a custom partitioning key for initial load を設定すると、1 つのテーブルを並列にロードできるため、初期ロードを高速化できます。
MySQL への接続時に TLS 証明書の検証エラーが発生するのはなぜですか?
x509: certificate is not valid for any names や x509: certificate signed by unknown authority のような証明書エラーが発生することがあります。これは、ClickPipes でデフォルトで TLS 暗号化が有効になっているためです。
これらの問題を解決するには、いくつかの方法があります。
- TLS Host フィールドを設定する - 接続先のホスト名が証明書と異なる場合 (Endpoint Service 経由の AWS PrivateLink でよくあります) は、証明書の Common Name (CN) または Subject Alternative Name (SAN) に一致するように「TLS Host (optional)」を設定してください。
- Root CA をアップロードする - 内部の認証局を使用している MySQL サーバーや、デフォルトのインスタンス単位 CA 構成を使用する Google Cloud SQL の場合に該当します。Google Cloud SQL 証明書へのアクセス方法の詳細については、このセクションを参照してください。
- サーバー証明書を設定する - すべての接続ホスト名を含むようにサーバーの SSL 証明書を更新し、信頼された認証局を使用してください。
- 証明書の検証をスキップする - セルフホストの MySQL または MariaDB では、デフォルト構成で自己署名証明書が作成されますが、ClickPipes ではこれを検証できません (MySQL、MariaDB) 。この証明書を使用すると通信中のデータは暗号化されますが、サーバーのなりすましリスクがあります。本番環境では適切に署名された証明書の使用を推奨しますが、この方法は一時的なインスタンスでのテストや、レガシーなインフラストラクチャへの接続には便利です。