データを Azure Database for MySQL にレプリケートする

適用対象: Azure Database for MySQL - シングル サーバー

重要

Azure Database for MySQL の単一サーバーは提供終了パスにあります。 Azure Database for MySQL フレキシブル サーバーにアップグレードすることを強くお勧めします。 Azure Database for MySQL フレキシブル サーバーへの移行の詳細については、「Azure Database for MySQL 単一サーバーの動作」を参照してください

データイン レプリケーションでは、外部の MySQL サーバーから Azure Database for MySQL サービスにデータを同期できます。 外部サーバーとして、オンプレミス、仮想マシン、または他のクラウド プロバイダーによってホストされるデータベース サービスを使用できます。 データイン レプリケーションは、MySQL ネイティブであるバイナリ ログ (binlog) ファイル位置ベースまたは GTID ベースのレプリケーションに基づきます。 binlog レプリケーションの詳細については、MySQL binlog レプリケーションの概要に関する記事を参照してください。

いつデータイン レプリケーションを使用するか

データイン レプリケーションの使用を検討する主なシナリオは次のとおりです。

  • ハイブリッド データ同期: データイン レプリケーションを使用して、オンプレミス サーバーと Azure Database for MySQL の間でデータの同期を維持できます。 この同期は、ハイブリッド アプリケーションを作成するのに役立ちます。 この方法は、既存のローカル データベース サーバーがあるが、エンドユーザーに近いリージョンにデータを移動する場合に魅力的です。
  • 複数のクラウドの同期: 複雑なクラウド ソリューションでは、データイン レプリケーションを使用して、Azure Database for MySQL と、別のクラウド プロバイダー 間でデータを同期します (これらのクラウドでホストされている仮想マシンとデータベース サービスが含まれます)。

移行シナリオについては、Azure Database Migration Service (DMS) を使用してください。

制限と考慮事項

レプリケートされないデータ

ソース サーバー上の "mysql システム データベース" はレプリケートされません。 さらに、ソース サーバーでのアカウントとアクセス許可の変更はレプリケートされません。 ソース サーバー上にアカウントを作成し、このアカウントでレプリカ サーバーにアクセスする必要がある場合は、レプリカ サーバー上に同じアカウントを手動で作成します。 システム データベースに含まれているテーブルの詳細については、MySQL のマニュアルを参照してください。

フィルター処理

(オンプレミス、仮想マシン、あるいは他のクラウド プロバイダーによってホストされているデータベース サービスでホストされている) ソース サーバーからのテーブル複製をスキップするために、replicate_wild_ignore_table パラメーターがサポートされています。 任意で、Azure portal または Azure CLI を使用し、Azure でホストされているレプリカ サーバー上でこのパラメーターを更新します。

このパラメーターの詳細については、MySQL のドキュメントを参照してください。

General Purpose または Memory Optimized (メモリ最適化) のレベルでのみサポートされる

データイン レプリケーションは、General Purpose と Memory Optimized (メモリ最適化) の価格レベルでのみサポートされます。

Azure Database for MySQL 用のプライベート リンクでは、受信接続のみがサポートされています。 データイン レプリケーションにはサービスからの送信接続が必要なため、データイン トラフィックではプライベート リンクはサポートされません。

注意

GTID は、バージョン 5.7 と 8.0、および最大 16 TB のストレージをサポートするサーバーでのみサポートされます (汎用ストレージ v2)。

必要条件

  • ソース サーバーのバージョンは、MySQL バージョン 5.6 以上である必要があります。
  • ソース サーバーとレプリカ サーバーのバージョンは同じである必要があります。 たとえば、両方が MySQL 5.6 バージョンであるか、両方が MySQL バージョン 5.7 である必要があります。
  • 各テーブルには主キーが必要です。
  • ソース サーバーでは、MySQL InnoDB エンジンを使用する必要があります。
  • ユーザーは、バイナリ ログの構成とソース サーバーでの新しいユーザーの作成を実行できるアクセス許可を持っている必要があります。
  • ソース サーバーで SSL が有効になっている場合は、ドメインに対して提供されている SSL CA 証明書が mysql.az_replication_change_master または mysql.az_replication_change_master_with_gtid のストアド プロシージャで指定されていることを確認します。 次のmaster_ssl_ca パラメーターを参照してください。
  • ソース サーバーの IP アドレスが Azure Database for MySQL レプリカ サーバーのファイアウォール規則に追加されていることを確認します。 Azure portal または Azure CLI を使用してファイアウォール規則を更新します。
  • ソース サーバーをホストしているマシンのポート 3306 で受信と送信の両方のトラフィックが許可されていることを確認します。
  • ソース サーバーにパブリック IP アドレスがあるか、DNS がパブリックにアクセス可能か、またはソース サーバーに完全修飾ドメイン名 (FQDN) があることを確認します。

次のステップ