現在使用している超小型 VM が限界に達したため、2 つ目の超小型インスタンスを作成し、この 2 つを可用性セットに追加して、サービスが常に利用可能になり、ロード バランサーを通じて負荷が分散されるようにすることにしました。質問は、データに何が起こるかということです。両方とも同じデータになりますか。両方で同じデータを利用できるようにする必要があるからです。例:
リクエスト1 -> vm1 -> データを追加 リクエスト2 -> vm2 -> 最初にvm1に置かれたデータを読み取りたい
または、もっと簡単に言うと、WordPress ブログを運営していてブログを追加した場合、両方で利用できる必要があります。
ミチ
答え1
各仮想マシンは、Azure Storage のページ BLOB にある独自の VHD によってバックアップされます。これは、複数のインスタンス間で共有する必要があるあらゆる種類のコンテンツを保存するのに適した場所ではありません (また、インプロセス セッション状態も、その仮想マシンの実行中のインスタンスに制限されます)。セッション状態とその他の永続データは、両方の仮想マシンからアクセスできる共通の場所に保存する必要がありますが、ないコンテンツを VHD のメイン ディスクまたは一時ディスクに直接保存します。
セッション状態については、Windows Azure SQL データベース (基本的にはサービスとしての SQL) を簡単にセットアップして、それをセッション状態プロバイダーとして使用できます。または、memcached を実行したり、テーブル ストレージを使用したり、まったく別のものを選択したりすることもできます。その他のアイデアについては、ご想像にお任せします。
WordPress を実行する場合も同様です。コンテンツは共通のデータ ストアに保存する必要があります。WordPress は MySQL を使用するため、独立した仮想マシン インスタンスに MySQL を設定するか、Azure ストア経由で MySQL データベースをサブスクライブすることができます。
もう 1 つのオプションは、作成した仮想マシンから完全に独立しており、アクセスが非常に簡単な Blob ストレージにコンテンツを保存することです。Blob ストレージは、Table ストレージと同様に、REST API (現在は .net、php、java、python、node、ruby SDK) 上に構築された優れた言語 SDK サポートを備えています。Azure から選択した SDK を入手できます。ダウンロードページでソースコードを閲覧することもできます。githubリポジトリ。