Windows Azure Web Sitesの魅力を120%引き出す

このPostはWindows Azure Advent Calendar 2013の22日目です。

皆様はWindows Azure Webサイトを活用してますか? Windows Azure Webサイトはとってもステキなプラットフォームです。とりあえず先日の帝国兵さんのPostやしばやん先生のBlogでも見て魅了されるべきです。ただ、普通に使っていてはその魅力は100%どまりです。

んふふふ・・・へただなぁカイジくん。へたっぴさ! Webサイトの解放のさせ方が下手!

カイジくんが本当に欲しいのは、これ・・・!

Kudu!

これを使ってHackしてさ、さらにクールなWebサイトをやりたい、、、だろ…?

とかなんとか、そういうわけでWindows Azure Webサイトをもっともっと面白おかしく使うためのエッセンスとして、今回はKuduを丸裸にしたいと思います。

「ヌーディスト・クードゥーゥゥゥゥ!!!」 ※みそ先生から圧力もとい電波を受けました。

続きを読む →

Windows 8.1(IE11)でLocalhostへのアクセスが制限される

タイトル通り。IE11 on Windows 8.1な環境で開発してて、127.0.0.1な環境へアクセスしようとしても接続できなかったりします。

image

 

ちなみにIE11以外のブラウザだと問題ありません。

これってIE11が余計ながんばって拒否ってるからなんですが開発時などはウザイだけですね。

細かい話は How to enable loopback and troubleshoot network isolation (Windows Store apps) とか見てもらうとして、簡単に言えばループバックへアクセスしてもいいリストにIEを登録してあげる必要がある、ということです。(先のリンクにもある通り本来はストアアプリ用の話なんですがデスクトップなIE11も引っかかるみたい)

コマンドうつのが面倒だったら EnableLoopback Utility とか使いましょう。

image

こんな感じでIEを除外すればいいんじゃないでしょうか。

あ、ちなみにIE11でlocalhost (127.0.0.1) なIISにつなぐとリモートアドレスは127.0.0.1じゃなくてローカルのNICのIPアドレスになるっぽいです。(ちゃんと見れてないけど)
127.0.0.1は除外的なコードかいててはまりました。

ふぅやれやれ。

Windows Azure Active Directory Access ControlでSAML-P使える?

Windows Azure Active Directory Access Control service (ACS) のサポートプロトコルは以下に記載があります。

ん?よく見るとSAML-PがPreview Featureとしてあるぞ…

一応制限としては以下の通りのようです。

  • プロファイル … SAMLプロトコルのWebブラウザSSOサブセットがサポート
  • バインディング … 認可要求のためのHTTPリダイレクトと応答発行のために使用するHTTP POSTがサポート
  • メタデータ … フェデレーションメタデータでIdPSSODescriptorと使用するエンドポイントを公開、とありますがエンドポイントの記述はないです(今のところ)
  • パラメータ … 一般的なSAMLパラメータをサポート。ただし今のところ以下のパラメータはサポートされません。
      • IsPassive
      • ForceAuthn
      • RequestedAuthnContext
      • Signature

単純にドキュメントの不備のようですが、、、ちなみにエンドポイントは以下のようです。

https://<名前空間>.accesscontrol.windows.net/v2/saml2

正式リリースいつとかさっぱりわかりませんがとりあえず使えるかも?ということで。まぁ先に管理ポータルの統合とかですかね。。。

ASP.NETでCacheSeviceのOutputCache有効にすると超遅くなる現象

ASP.NET MVC4でAzure CacheServiceを使ったOutputCacheを有効にすると超遅くなる、という現象があって困ったのでメモ。

  1. 普通にASP.NET MVC4なアプリを作ります
  2. Install-Package Microsoft.WindowsAzure.Caching します
  3. Web.configを編集してOutputCacheプロバイダを設定します。
  4. 実行してみます

わかりやすいようにMiniprofilerも入れてみました。

image

ファッ!?

ローカルでこの遅さ。パーシャルViewとか使うともりもり+100msとかかかります。ありえない。

結論から言うとテンプレートに含まれる既定のMicrosoft.AspNet.Web.OptimizationがASP.NET既定のOutputCacheProvider以外はサポートしてないから処理に時間がかかる、ということでした。

NuGetでMicrosoft.AspNet.Web.Optimizationを1.1.0に更新すれば解決。

image

 

image

まともになりました。ふぅ。

教訓: 更新忘れずに。

Windows Azure Web Sites のローカルストレージ

焼土下座ーな感じでこんにちは。

Windows Azure Web Sitesのローカルストレージについて勘違いしていたので懺悔の意味も込めてまとめてみました。

|←樹海|     ┗(^o^ )┓三

もっと素晴らしいのはきっと、しばやん大先生が纏めてくださると思います。

結論から言うと、Windows Azure Web Sitesのローカルストレージは永続化されるし、複数インスタンスで共有(というより同一のものを見ている)されてるので超COOL、ということです。

実際にどういうことか見てみたいと思います。

続きを読む →

Windows Azure Cache Service (Preview)を使ってみる

どうも、この間のJAZUGイベントのLTで圧倒的多数ッ! の (´・ω・`)ショボーン をゲットした@kamebuchiです。

あれか、ストアアプリ動かなかったからか!そうなのか!

あ、しばやん大先生、アプリ作成ありがとうございました。( ´∀`)bグッ! 
うまい棒贈呈します。

…

というのは置いといて、この間リリースされたばかりのWindows Azure Cache Service(Preview)をさっそく使ってみたいと思います。

※一応、【祝】Azure日本DC前夜祭!★Japan Windows Azure User Group 3周年のLTフォローアップ的な何かです。
※あ、Cache ServiceはPreviewなので申請が必要です。(すぐにActiveになりますが)

続きを読む →

Windows Azure Web SitesのグローバルIPアドレス

しばやん先生がこんな無茶振り的なのを投げてきたので。

Azure Webサイトから他のWebサイトなどに接続した際のグローバルIPアドレスはどうなのか?という話ですので、実際にAzure Webサイトから他のサイトへ接続してリモートアドレスを取得してみました。

image

2つのAzure Webサイトとも同じDC(東アジア)です。

Whoisさんによると

NetRange:       65.52.0.0 - 65.55.255.255
CIDR:           65.52.0.0/14
OriginAS:       
NetName:        MICROSOFT-1BLK

ということで、受け口となるAzureのロードバラサのグローバルIPアドレスと外に出ていく際に使われているグローバルIPアドレスは同じネットワークにはいるみたいです。で、結局スケールしようがWebサイトが再起動しようが(内部のローカルIPアドレスはともかく)外に出ていく際のグローバルIPアドレスはそうそう変わらない感じ。

※Azure Webサイトで内部のIPアドレス見えないのでなんともですな。(ネットワーク層触れない)

たぶんWebサイトが動作してるWorkerなクラウドサービスのデフォルトゲートウェイが全部同じの見てるんでしょう。きっと。

外部からの接続を受け付けるグローバルIPアドレス(FQDNに割り当てられたIPアドレス)はWebサイトが起動してる間は有効だと思うので、同じゲートウェイが使われる確率は高そうですね。

IPアドレスで許可してもらわないといけないとかそういう場合は適当に調べてOutboundのIPアドレスが変わらないことを期待して設定するか、レンジでどばっと指定するしかないんじゃないかな。どうせ複数のWebサイトで同じグローバルIPアドレスになるんだししょうがないよね!

ちなみにクラウドサービスの場合は同じグローバルIPアドレスになります。これはわかりやすいですね。

※なんかICMPが拒否されるようになってしまったので、いろいろ不便だわぁ。

Windows Azure上でVisual Studio 2013 Previewを試す

検証のお手軽さでいえばクラウドはかなり便利です。

という感じでWindows Azure上では仮想マシンのギャラリーにすでに検証に使える元イメージがあったり。

image

作成してから10分ぐらい待てば最新のVisual Studio 2013 Previewがさわれるぜ\ノ’∀ン ヒャッホウ

でもですね。でも!

このイメージ、OSはWindows Server 2012なんですよね。全然ダメ!

というわけで、このイメージ使うよりは同じようにWindows Server 2012 R2 Previewなイメージを使って、その後普通にVisual Studio 2013 Previewを入れたほうがなんぼかマシな気がします。

image

以下1からWindows Server 2012 R2 Preview上にVisual Studio 2013 Previewを入れる際の注意点。

1. Desktop Experienceを入れよう

image

Server Managerからさくっと入れておきましょう。これがないとWindows Storeアプリの開発に必要なデベロッパーライセンスのアクティベーションができません。

2. ユーザーアカウントを作成する

Windows Azure 仮想マシン作成時に指定するアカウントはビルトインのAdministrator扱いになります。このユーザーでWindows Store アプリを実行したりしようとするとアプリが起動しないので、追加でAdministratorsなグループに所属する別ユーザーを作りましょう。普段はそちらを使えばいいです。

あとはお好みでどうぞ。