2016-05-10 33 views
5

(私は新しい「ブレード」Azureポータルを独占的に使用しており、新しい用語を使用していますので、ここでは「Azure Website」などの単語は避けてください)。Azureの "App Service"インスタンスはそれぞれ独自のVMで動作しますか?

ポータルでは、2つのAzure App Servicesを作成しました。「foo-production」と「foo-staging」は同じSubscription and Resource Groupに存在し、同じApp Service Planを共有します。これらのApp Servicesは、通常のWebサイトとして実行される簡単なASP.NET Webアプリケーションのプロダクションおよびステージング展開を表します。

Appサービスプランは「基本:1小」です。

Azure App Servicesを基本またはそれ以上のAppサービスプランで使用する場合、そのプランは、私が望むだけ多くのIIS WebサイトをホストできるVMを表していることを理解していますAzureでAzure App Servicesとして

これは、KuduのVMのファイルシステム(https://yourwebsite.scm.azurewebsites.net/DebugConsole)にアクセスすると、各Webサイトのファイルをいくつかの共通ルートディレクトリの下に見ることができると想定します。

しかし、foo-productionウェブサイトのKuduコンソールにアクセスすると、そのファイルがD:\home\site\wwwrootにあり、foo-stagingのファイルが見つからないことがわかります。

これが正しく理解されていれば、Azureは実際には各Webサイト用の全く新しいVMを作成し、そのWebサイトはファイルシステムを共有できないことを意味し、Azureで管理された高度なIIS設定はできません。自分で管理するWindows Server VMを自分で作成する必要があります。

私は別のVMの背後にある動機づけを各Webサイトで理解することができますが、無駄だと思います.Windows Serverは各VMに少なくとも1GBのメモリが必要ですが、私のウェブサイトは主に静的なファイルです Appサービスプランは、高度な機能が必要なためです)。それはMicrosoftにとって経済的ではありません。

Azure管理環境の複数のAzure App Servicesで同じVMを共有するにはどうすればよいですか?それとも間違って考えていますか?

X/Yの問題を避けるには:私は主な関心事はファイルの永続性であると述べます。展開しているWebアプリケーションは、Webrootのサブディレクトリにファイルをアップロードし、それらのファイルは永続的に存在するはずです。そこにはあいまいな情報があります。ウェブサイト(とそのすべてのファイル)が積極的に破壊されてリサイクルされ、Azure Storage Blobが使用されるべきであると提唱する人々もいます。残念ながら、WNetAddConnection2を使用するとACCESS_DENIEDエラーが発生し、一部のユーザーは、Azure App Services内からAzureファイル共有を使用できないと報告しています。これについてMicrosoftから信頼できるものは見つかりませんでしたが、私はAzureファイル共有を使用したいと思います。

+0

私は、VMの数はApp Service Planに基づいています。 「1小」なので、1つのVMがあることを意味します。サイトにDドライブの独自のバージョンを表示するように見せかける他のファイルストレージメカニズムが必要です。 – mellamokb

+0

@mellamokb興味深いことに、 'C:'ドライブはありません。 'Windows'、' Program Files'、 'Users'ディレクトリのすべてが' D: 'の下にあります。 – Dai

+0

環境タブを見ると、共有のC:\ドライブのヒント: 'C:\ DWASFiles \ Sites \#1sitename \'は、例えば私が見ているものです。私はそれがC:\ドライブにアクセスできないように見えることがあります。 – mellamokb

答えて

5

私がhereと答えたので、プラン内のすべてのアプリサービスは、すべてのコンピューティングリソースを共有する同じVMセットで実行されます。

プラン内の各アプリサービスが、他のすべてのアプリサービスとファイルを共有すると仮定しました。これは間違っています:各アプリケーションサービスは、各アプリケーションサービスごとに独自のファイルセットを持っています(d:\home)。ファイルを共有する必要がある場合は、Azure File Service(SMB共有)のようなApp Servicesの外部に何かを使用する必要があります。 Azure File Serviceは、アプリケーションごとのサービスごとに作成されたスペースとは別のものです。

5

同じApp Service Plan内にある場合、それらは同じVMで実行されています。Kudu Consoleにhostnameと入力すると、同じマシン名が表示されます。

ただし、それぞれが異なるサンドボックス内で実行されるため、お互いのファイルが見えなくなります。 d:\homeのようなフォルダは仮想化されており、実際にはネットワーク共有を指しています。だからあなたは、マシンが同じであるという結論を出すためにそれを使うことはできません。

+2

デビッドマコゴンが私にそれを打ち明けていると思われるので、彼の答えを選ぶことができます:) –

+1

サンドボックスメカニズム?私はそれがどのように動作しているかを知りたいと思っています。自分で管理しているサーバーでも同じ効果が得られるのですか。 – Dai

+0

サンドボックスについて詳しくは、https://github.com/projectkudu/kudu/wiki/Azure-Web-App-sandboxをご覧ください。これはAzure Web Appsにとって特別なものなので、同じサンドボックスをローカルで使用することはできません。 –

2
  1. Azureの「App Service」は、「コンテナ」(Docker用語)に類似しています。 VM上でに基づいてになっていますが、多くの場合、軽量のはVMそのものです。たとえば、RDPに登録することはできません。

  2. Azure「VM」は、本格的な仮想マシンです。 OSは、WindowsまたはLinuxのいくつかの異なる種類のいずれかです。

  3. あなたはここでより多くの情報を得ることができます:ここでは

  • Azure App Service, Cloud Services, Virtual Machines, and Service Fabric comparison
  • は、優れたウェブサイト(アプリケーション・サービスの一例)を比較記事、クラウドサービス、そしてありますVM:

    http://www.c-sharpcorner.com/UploadFile/42ddd2/azure-websites-vs-cloud-service-vs-virtual-machines/

    AzureのWebサイト

    AzureのWebサイト完了するのに非常に少ない責任を持って、そして 比較的少ない制御。これは、ほとんどのWebアプリケーションのための最良の選択です。 展開と管理はプラットフォーム に直接統合されています。

    Azureのクラウドサービス

    あなたがもっと欲しい場合は、環境などのWebサーバーを使用すると、Azureのクラウドサービスとの に行きたいかもしれません。あなたはクラウドサービスに遠隔操作でき、 スタートアップタスクを設定できます。クラウドサービスは、AzureのWebサイト

    Azureの仮想マシン

    はあなたの豊富な機能セットを提供よりも、あなたに多くの 管理のしやすさと敏捷性を提供すること。ただし、正しく構成するには、 VMの保守と保守には、Azure Cloud ServicesおよびAzure Webサイトに比べて、はるかに多くの時間とITの知識が必要です( )。

+0

これは、VM /クラウドサービス/アプリケーションサービス(およびサービスファブリック)の比較とは関係のない質問とは正反対です。 –

関連する問題