sql >> データベース >  >> RDS >> Mysql

MySQLレプリケーションのためのマルチクラウド展開

    近年、プラットフォームインフラストラクチャの使用は、オンプレミスからクラウドコンピューティングに移行しています。これは、ITインフラストラクチャを実装するときに会社が負担しなければならないコスト資本コストがないことに基づいています。クラウドコンピューティングは、リソースのすべてのラインに柔軟性を提供します。人的資源、エネルギー、時間の節約について。

    クラウドコンピューティングにより、組織はITの計画、実行、およびビジネス上の利益をサポートするプラットフォームの保守を簡単に行うことができます。

    しかし、どちらにも類似点があるため、クラウドを使用する場合は、BCP(事業継続計画)とディザスタリカバリ計画(DRP)について考える必要がありました。 DRPについて話すとき、データストレージは重要になります。災害が発生したときの復旧(目標復旧時点)の速度です。マルチクラウドアーキテクチャは、クラウド環境でインフラストラクチャを設計および実装する場合に大きな役割を果たします。このブログでは、MySQLにデータを保存するための関連するマルチクラウド展開を確認します。

    クラウドでの環境設定

    今回は、企業で広く使用されているアマゾンウェブサービス(AWS)と、マルチクラウドデータベースセットアップの2番目のクラウドプロバイダーとしてGoogle Cloud Platform(GCP)を使用します。 AWSでインスタンス(新しい仮想マシンのクラウドコンピューティングで使用される用語)を作成するのは非常に簡単です。

    AWSは、コンピューティングインスタンスサービスにAmazon EC2(Elastic Compute Cloud)という用語を使用しています。 AWSにログインして、EC2サービスを選択できます。

    EC2でプロビジョニングされたインスタンスの表示です。

    クラウドサービスの最大の懸念事項であるセキュリティ上の理由から、SSHポート(22)、エクストラバックアップ(9999)、データベース(9999)など、ClusterControlのデプロイ時に必要なポートのみを有効にするようにしてください。 3306)は保護されていますが、クラウドプロバイダー間で到達可能です。このような接続を実装する1つの方法は、AWSのインスタンスをGCPのインスタンスに接続するVPNを作成することです。このような設計のおかげで、異なるクラウドプロバイダーに配置されている場合でも、すべてのインスタンスをローカルとして扱うことができます。 VPNを設定するプロセスについては正確に説明しません。したがって、ここで紹介する展開は実際の本番環境には適していないことに注意してください。 ClusterControlとマルチクラウドのセットアップに伴う可能性を説明するためだけのものです。

    AWS EC2のセットアップが完了したら、でコンピューティングインスタンスのセットアップを続行しますGCP、GCPではコンピューティングサービスはComputeEngineと呼ばれます。

    この例では、GCPクラウドに1つのインスタンスを作成します。奴隷の1つとして使用されます。

    完了すると、管理コンソールに次のように表示されます。

    ポートSSHポート(22)、xtrabackup( 9999)およびデータベース(3306)。

    AWSとGCPの両方にインスタンスをデプロイした後、マスターが配置されるクラウドプロバイダーのインスタンスの1つにClusterControlのインストールを続行する必要があります。このセットアップ例では、AWSインスタンスの1つをマスターとして使用します。

    AmazonWebサービスでのMySQLレプリケーションの導入

    ClusterControlをインストールするには、SevereninesのWebサイトにある簡単な手順に従う必要があります。 ClusterControlが稼働し、マスターが配置されるクラウドプロバイダーで実行されると(この例では、マスターノードにAWSを使用します)、ClusterControlを使用してMySQLレプリケーションのデプロイを開始できます。 MySQLレプリケーションクラスタをインストールするには、次の手順を実行する必要があります。

    ClusterControlを開き、MySQLレプリケーションを選択します。インストールのために3つのフォームに入力する必要があります

    一般設定とSSH設定

    SSHユーザー、キーとパスワード、SSHポート、およびクラスターの名前を入力します

    次に、[続行]を選択します

    MySQLサーバーを定義する

    MySQLのベンダー、バージョン番号、ルートパスワードを選択し、[続行]をクリックします

    トポロジの定義

    ご存知のとおり、AWSでは2つのノードが作成されています。ここでは両方を使用できます。 1つはマスターになり、もう1つはスレーブとして追加されます。次に、「デプロイ」に進むことができます

    必要に応じて、クロスクラウド接続がすでに確立されている場合は、[マスターAにスレーブを追加する]でGCPインスタンスのIPアドレスを設定し、[続行する]を選択することもできます。配備'。このようにして、ClusterControlはマスターと両方のスレーブを同時にデプロイします。

    展開を開始すると、[アクティビティ]タブで進行状況を監視できます。以下に進行状況メッセージの例を示します。次に、ジョブが完了するまで待ちます。

    完了すると、新しく作成された「Cloud」という名前のクラスターが表示されます。 MySQLレプリケーション」。

    デプロイウィザードで2番目のスレーブとしてGCPノードをすでに追加している場合は、 AWSインスタンスとGCPインスタンス間のマスタースレーブのセットアップはすでに完了しています。

    そうでない場合は、実行中のクラスターにGCPスレーブを追加できます。先に進む前に、接続が確立されていることを確認してください。

    GoogleCloudPlatformから新しいスレーブを追加

    AWSでのMySQLレプリケーションが作成されたら、GCPにノードを新しいスレーブとして追加して続行できます。これは、次の手順を実行することで実現できます::

    1. クラスターリストで新しいクラスターを見つけて、をクリックします をクリックし、[レプリケーションスレーブの追加]を選択します
    2. 以下に示すように、レプリケーションスレーブの追加ウィザードが表示されます。
    3. 引き続きマスターインスタンスのIP(AWSにあります)を選択し、スレーブとして使用するGCPインスタンスのIPアドレスとポートを[スレーブホスト名/IP]ボックスに入力します。すべてを入力したら、[レプリケーションスレーブの追加]をクリックして続行できます。

    以前と同様に、[アクティビティ]タブで進行状況を監視できます。次に、ジョブが完了するまで待ちます。

    展開が完了したら、[トポロジ]タブでクラスターを確認できます。

    マスタースレーブクラスターのトポロジーを以下に示します。

    ご覧のとおり、AWSにはマスターとスレーブが1つあります。 GCPにもスレーブがあり、クラウドプロバイダーの1つで発生した停止をデータベースが簡単に乗り切ることができます。

    結論

    データベースサービスの高可用性のために、マルチクラウド展開はそれを実現するために非常に重要な役割を果たします。 ClusterControlは、このプロセスをナビゲートし、ユーザーがマルチクラウド展開を管理しやすくするために作成されています。

    マルチクラウド展開を行う際に考慮すべき重要なことの1つは、セキュリティの側面です。前述したように、適用可能なベストプラクティスとして、2つのクラウドプロバイダー間でVPNサイト間をセットアップできます。 SSHトンネルのような他のオプションもあります。


    1. PostgreSQLのpggemをUbuntuにインストールするにはどうすればよいですか?

    2. 外部キー制約のためにオブジェクトを削除できません

    3. Oracle:最近のSQL構文エラーを取得する方法はありますか?

    4. SPARSECOLUMNを使用する理由と時期(SQL SERVER 2008)