(私は新しい「ブレード」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ファイル共有を使用したいと思います。
私は、VMの数はApp Service Planに基づいています。 「1小」なので、1つのVMがあることを意味します。サイトにDドライブの独自のバージョンを表示するように見せかける他のファイルストレージメカニズムが必要です。 – mellamokb
@mellamokb興味深いことに、 'C:'ドライブはありません。 'Windows'、' Program Files'、 'Users'ディレクトリのすべてが' D: 'の下にあります。 – Dai
環境タブを見ると、共有のC:\ドライブのヒント: 'C:\ DWASFiles \ Sites \#1sitename \'は、例えば私が見ているものです。私はそれがC:\ドライブにアクセスできないように見えることがあります。 – mellamokb