1

Azure Cloud Service に 2 つの Web ロールまたは Web サイトを設定しようとしています。

Web サイトは同じデータベース スキーマを共有する必要があります。私は NHibernate ORM を使用しているため、両方のプロジェクトが常に同じデータ モデルを使用していることを確認する必要があります。そうしないと、大きな問題が発生します。

1 つの Web ロールで複数の Web サイトをセットアップする方法を調査しました (これは奇妙に思えます。それぞれが 1 つのサイトで複数の Web ロールを実行することはできません)。

http://msdn.microsoft.com/en-us/library/windowsazure/gg433110.aspx

他の優れた開発者と同様に、私はステージング サーバーを使用しています。ドメイン名を構成ファイルに手動で設定する必要がある場合、Azure は、そのドメインにアクセスする人がステージング サーバーに送信されていないことをどのように認識しますか?! IE 彼らが blah.foo.com にアクセスし、私が 2 つの展開 (ステージングと実稼働) を持っている場合、IIS は人を実稼働環境に送ることだけを知ることができますか?

これを行うための最善の方法についてアドバイスをお願いします。

4

1 に答える 1

3

まず、それぞれが 1 つのサイトを持つ複数の Web ロールを持つことができます。ただし、各ロール インスタンスは異なる仮想マシンに展開されます。たとえば、これをそれぞれ 1 つのインスタンスでデプロイするときに 2 つの Web ロールを設定すると、2 つの仮想マシンに対して料金が発生します。SLA をデプロイに適用する場合は、実際には各 Web ロールのインスタンス数を 2 に設定する必要があります。これは、4 つの仮想マシンが実行されていることを意味します。Web サイトを同じ Web ロールに結合することで、実行する必要があるインスタンスの数を削減しながら SLA を取得できます。ただし、そのオプションには考慮事項がないわけではありません。あなたが提供したリンクは、デプロイ時に複数の Web サイトを同じ仮想マシンで実行するように設定する方法です。この方法を使用すると、いくつかの落とし穴があることに注意してください。私'Web ロールで複数のサイトを公開するためのヒント

第 2 に、仮想マシンを詳細に制御する必要がない場合 (特別なコンポーネントの登録など) は、オプションとして Windows Azure Web サイトを検討することをお勧めします。有料レベルの Web サイトのいずれかを選択して専用のマシンを使用することもできますが、Web サイトを個別に展開することもできます。ただし、基になるデータベース スキーマを共有するために両方のサイトをロック ステップにする必要があるということは、個別の変更をデプロイする可能性が低くなることを意味しますが、それでも可能です。

最後にステージングサーバーについて。ローカルでテストする場合は、hosts ファイルを変更して、ホスト名がローカル アドレスを指すようにします。Wade Wegner は、Running Multiple Websites in a Windows Azure Web Roleについて投稿しています。Windows Azure にデプロイしたら、hosts ファイルを元に戻すか、コメント アウトします。ステージング デプロイ スロットの実際のアイデアを使用している場合は、hosts ファイルで同じトリックを使用して、テスト時にステージング デプロイの IP アドレスを指すことができます。

于 2013-09-15T14:37:32.827 に答える