2015/03/23

Azure Websitesの負荷分散


vNet上の負荷分散とは(見かけ上)仕組みが異なり、IISのARR(Application Request Routing)を使います。

cookie(ARRaffinity cookie)を利用して、特定のブラウザからは常に同じサーバーにアクセスできるのが設定のデフォルト。いわゆる sticky session ですね。そのブラウザを閉じると、そのcookieは消去されます。

日本語
http://blogs.msdn.com/b/windowsazurej/archive/2013/11/25/blog-disabling-arrs-instance-affinity-in-windows-azure-web-sites.aspx

英語
http://azure.microsoft.com/blog/2013/11/18/disabling-arrs-instance-affinity-in-windows-azure-web-sites/


(見かけ上)とあえて書いたのは、いったん、Azure WebsitesのPublic IPで着信したパケットは、パブリック負荷分散のAzure Load Balancerで着信しているからです。そこから、複数台並んでいるARRに負荷分散されます。

※Azure Load BalancerもARRも、隠蔽されているので設定はおろか存在も確認できないようになっています。無論、ARRがいくつ並んでいても、Azure Websitesのインスタンス数(instance count)にはカウントされません。



ARRから、Azure Websitesの各インスタンスへの、セッション振り分けロジックは、
Inside Azure Websites
が詳しいです。記載年月が古いので、各情報の最新とは異なるでしょうけど、おおまかには。