ウェブサイトと SQL サーバー データの同期を備えた Azure 高可用性ソリューション

ウェブサイトと SQL サーバー データの同期を備えた Azure 高可用性ソリューション

弊社では Web ソリューションを販売しており、これにはアプリケーションの実行に必要なものがすべて含まれた専用の Azure VM が 1 つ付属しています。

  • ASP.NET Web アプリケーション
  • 本番環境
  • QA環境
  • PROD 環境と QA 環境の両方のデータを含む SQL サーバー

しかし、ある顧客は、高可用性設定でアプリケーションを実行するというユーザー要件を持っています。その顧客が望んでいるのは、1 台のサーバーがダウンした場合に、もう 1 台のサーバーが引き継ぐこと、またその逆も同様であることです。

私は負荷分散/高可用性のセットアップについてはまったくの初心者で、Azure が負荷分散をサポートしていることは知っていますが、どのように機能させるのか困惑しています。上記のセットアップで 2 台のサーバーを作成し、高可用性機能をセットアップするだけでも簡単ですか? 懸念しているのは、2 台のサーバー間で Web サイト データと SQL Server データを同期させる方法です。特に後者です。

または、ローカル SQL サーバーの代わりに Azure SQL サーバーを使用する方が簡単でしょうか? あるいは、2 台ではなく追加のサーバーを導入するほうがよいでしょうか?

答え1

まず、Azure SQLを使用することをお勧めします。SQLサーバーを自分で設定するのは安全ではなく、「標準」ではありません。Azure SQLは、高可用性や災害復旧など、多くの高度な機能を提供します。Azure SQLを使用して、フェールオーバーグループを構成します。ドキュメントこれで、データ レイヤーの高可用性が有効になりました。

次に、データベースを Azure SQL に移行し、現在の VM と同じ仮想ネットワークに新しい VM を作成するとします。そして、新しい VM で同じアプリケーションを実行します。ロード バランサーを作成し、これら 2 つの VM をバックエンド プールに追加します。これで、アプリケーション レイヤーの高可用性が有効になります。

答え2

StarWind VSANを2台の仮想マシン上に構成するだけで、クラウドで真の高可用性ストレージソリューションを実現できます。このマニュアルきっと役に立つはずですので、ぜひチェックしてみてください。

答え3

同じサーバーで高可用性セットを簡単に作成し、この高可用性セットを LB のバックエンド プールとして設定できます。Azure には高可用性アプリケーションをサポートする組み込みのプラットフォーム機能が多数あるため、Azure SQL データベースを使用することをお勧めします。ただし、同じ Azure VM 上のローカル SQL サーバーを使用するのは簡単で、アプリケーションとデータベースが同じ Azure VM にホストされるため、応答が速くなります。

Azure SQL Database の場合、データはリージョン内で同期的にレプリケートされます。また、Virtual Machines で高可用性を実現するには、障害ドメインやアップグレード ドメインと同様の機能を果たす可用性セットを使用する必要があります。

こちらを参照してくださいドキュメント

関連情報