web-dev-qa-db-ja.com

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

販売しているWebソリューションがあり、アプリケーションの実行に必要なすべてのものを含む1つの専用Azure VM)が付属しています。

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

ただし、特定の顧客には、高可用性セットアップでアプリケーションを実行するためのユーザー要件があります。彼が望んでいるのは、一方のサーバーがダウンしたときに、もう一方のサーバーが引き継ぐ必要があり、その逆も同様です。

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

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

4
Zeep

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

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

1
norshtein

たった2台の仮想マシン上でStarWindVSANを構成し、クラウドで実際の高可用性ストレージソリューションを取得できます。 このマニュアル はあなたにとって役立つはずです、それをチェックしてください。

6
batistuta09

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

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

これを参照してください doc

1
Nancy Xiong