ハイブリッドクラウドデータベースは、オンプレミスとクラウドインフラストラクチャの両方に存在するアクティブなホストの組み合わせであり、単一の運用システムとして機能します。高可用性環境の実装に役立ちます。また、オンプレミスとクラウドで動作するにはデータベースとアプリケーションの両方が移植可能である必要があるため、特定のクラウドベンダーへの依存を減らします(クラウドベンダーロックイン)。ただし、この種の環境の展開はそれほど簡単ではありません。
このブログ投稿では、ClusterControlを使用して、オンプレミスとAWSで実行されているクラウドインフラストラクチャの間にハイブリッドクラウドMySQLデータベースをデプロイする方法について説明します。この設定により、データベースをクラウド環境にあるクライアントとアプリケーションに近づけることができます。また、災害復旧とライブバックアップの目的で、データベースのレプリカをオンプレミスに保持します。
展開は、4つのノードで構成されます。1つはClusterControl用、もう1つはマスターサーバーの他の2つのノードはスレーブサーバーにあり、データベースノードの2つはプライマリデータセンター(およびClusterControl)としてAWSデータセンターにあり、3番目のノードはオンプレミスのデータセンターにあります。次の図は、最終的なアーキテクチャを示しています。
まず、メインのクラウドプロバイダーを使用して環境を作成する必要があります。この場合、3つのEC2インスタンスでAWSを使用します。
次に、オンプレミス環境に移動し、スタンバイノードとなる1つの仮想マシンまたはホストを作成します。
ClusterControl - 52.14.222.75
Master - 3.17.190.53
Slave 1 - 3.14.146.131
Slave 2 - 192.168.33.15
ClusterControlのインストールが実行されており、クラウドプロバイダーアカウントが既に作成されていることを前提としています。ブログの目的で、パブリックIPを持つクラウドインスタンスを使用していることに注意してください。本番環境グレードのセットアップでは、環境を保護する必要があります。たとえば、クラウドVMはプライベートIPアドレスのみを持つVPC内にある必要があります。オンプレミスとVPCの間に安全な接続があります。
ClusterControlを使用したMySQLの導入
ClusterControl GUIに移動し、[展開]オプションを選択します。すでにMySQLインスタンスを実行している場合は、代わりに「既存のサーバー/データベースのインポート」を選択する必要があります。
ここでは新しい展開を行うため、[展開]オプションを選択します。MySQLを選択するときは、ユーザー、キー、またはパスワード、およびSSHでMySQLノードに接続するためのポートを指定する必要があります。 。
SSH接続の詳細については、ClusterControlのユーザー要件を確認してください。
SSHアクセスを設定した後、データベースのユーザーとバージョンを定義する必要があります。 Datadirはオプションです。使用するリポジトリを指定することもできます。ここでは、MySQL8.0バージョンを選択しています。
ClusterControlがデータベースノードに接続してデプロイメントを実行できることを示す緑色のチェックアイコンが表示されていることを確認してください。 [展開]ボタンをクリックして展開を開始すると、[アクティビティ]->[ジョブ]->[クラスターの作成]で展開の進行状況を監視できます。 ClusterControlアクティビティモニターで作成ステータスを監視できます。
タスクが完了すると、ClusterControlのメイン画面に新しいMySQLの設定が表示されます。
ClusterControl機能を使用すると、ハイブリッドクラウド環境、異なるクラウドプロバイダー間、またはクラウドプロバイダーとオンプレミス環境間でレプリケーションをすばやくセットアップできます。クラウドプロバイダー間、またはプライベートクラウドとパブリッククラウド間の通信については、セキュリティ上の理由から、ネットワークへの不正アクセスのリスクを軽減するために、既知のソースからのトラフィックのみを制限する必要があります。