Azure Search ちょっとさわってみた

Azure Searchとは(公式のメールより)

Azure Search のパブリック プレビュー開始
多くのアプリケーションでは、ユーザーとの主なインタラクションのパターンとして検索が使用されています。Azure Search とはサービスとしての検索を提供するソリューションで、開発者およびクラウドの構築者は、複雑なフル テキスト検索について心配することなく、またインフラストラクチャの導入、維持、管理を行うことなく、Web やモバイル アプリケーションに複雑な検索機能を埋め込むことができます。Azure Search を使うと、開発者はアプリケーションでデータ検索の威力を発揮し、検索インデックスの管理と調整に関連した複雑さを軽減し、慣れ親しんだインターフェイスおよび一貫したプラットフォームですぐに利用を開始できます。
Azure Search は専用のスループットとストレージを含む統合可能なユニットで提供されており、開発者は費用効果の高い方法で検索機能を簡単に立ち上げて拡張できます。データ量またはスループットの需要の変化に応じて、それらのニーズを満たすために拡張した後、コストを削減するためにまた縮小することもできます。
Azure Search は Azure プレビュー ポータルからご利用いただけます。パブリック プレビューの期間中、Azure Search はサービスが利用可能なすべてのリージョンで割引料金でご利用いただけます。

だそうです。まぁ一言で言えばSearch as a Service。検索エンジンのサービスです。ただAzure Searchがクロールしてくれるわけではなくて、Indexにアプリなどからドキュメントを放り込みます。

公式サイトはこちら

あと、今回のサンプルでも使う.NETなツールがNuGetに公開されているのですが、そちらを作った人のBlogなどを参考に。

続きを読む

Azure Webサイトちょっと試したいだけだけどクレカいるの?

普通にMicrosoft Azureでお手軽にWebサイトちょっと試してみたいなぁ~!と思っても最初のサインアップ時にクレカ要求されて悲しい思いした人いませんか。

そんなあなたに朗報。なんとクレカなしでWebサイトをお試し作成できるサービスができました。

さすがWebサイトといえばDavid Ebbo先生です。

使い方は簡単。Microsoft アカウントを作成して(これはクレカいらずの無料)、以下のサイトへアクセス!

作成したい言語とテンプレートを選択して「Create」しましょう!

image

なんと!あっというまにWebサイトができました!

image

Gitで接続することもできるし、お手軽なのは「Edit with Visual Studio Online」のリンクからVisual Studio Onlineで操作する方法ですね。

image

こんな感じで編集できます。

image

Oh! 簡単!

こんな素晴らしいサービスがあるなんて~!

といいたいところですが、1点だけ注意事項が。

このサービスで作ったWebサイト、30分だけ有効なのです。

image

ちょっとテストしてたらすぐタイムアップですね。(ローカルで作って試した後、Gitでデプロイとかそうのなら有効活用できそう?)

まぁポータル見たり設定を変えたりはできないので、用途はだいぶ選ぶのですがWebサイトのお手軽さを是非簡単に体験してもらえたらと思います。

Windows 8以降のSysprep嵌りポイント

とかにもありますが、メンテナンスタスク走るとダメとか、ストアアプリが更新されてるとダメとか。

あとちょっと手順を間違って嵌ったのでそのログ載せておきます。(本来はこのケースにはならないはず)

前提:SysprepするPCで別ユーザー作っていろいろテストしてた → その後ユーザー削除してSysprepしようとしてる状況

続きを読む

Azure Redis CacheとHDInsight

HDInsightがやっと西日本DC(とUS中央)にきました。

やっとですね。日本まだだったので。

あと以前、西日本DCにはきてて東日本にもくれよー!って言ってたRedis Cacheもようやくきました。

これで安心して東西どちらでもRedis Cacheが使えます。さすが、しばやん先生ですね!

※Redis CacheそのものがまだPreviewだってことはさておき。

Azure PowerShell 0.8.6 で認証ダイアログが組織アカウント優先になってる

Azure PowerShell 0.8.6でMSアカウントと組織アカウントが同じメールアドレスの場合、Add-AzureAccountでMSアカウントのほうで認証しようとしても認証できないようです。

こまったちゃん。

0.8.5以前は以下のようにメアドいれると、それぞれ転送されててもしMSアカウントと組織アカウントがあるようだったら選択のダイアログが出ていました。

clip_image001[4]

clip_image001[6]

0.8.6だと組織アカウント優先のようで、

clip_image001[8]

選択の余地なし。もしCookieだか何だかよくわからないけど以前に管理ポータル等にサインインしたときの情報が残っていればキャンセルボタンからMSアカウントなりへの選択画面にうつれるのですが、、、

imageimage

先ほどの例みたいにキャンセルボタンもなければもうどうしようもなかったり。。。つらい。

一応、管理的にはAdd-AzureAccountを使わずにPublishSettingsファイルを使うとか(Import-AzurePublishSettingsFile)で管理はできそうですが。何のためのサインインダイアログなのだー

まぁ他にもCo-Adminするとかいろいろあるとは思いますが、なんだろう。パケットみるとちょっとだけOAuth2時のパラメータ違うのでその辺かなぁと思ってもどうしようもないですね。(AADのライブラリのバージョンによるのかな?謎)

とりあえずつたない英語でフィードバックだけはしておきました。

Azure 仮想マシン上のAD DSでディレクトリサービス復元モードする

タイトルの通り。やり方をひょんなことで知ったのでやってみました。

※ というか知識がWindows Server 2003で止まってるからナー。。

昔の知識だとブート時にF8押して~とかなんですが、いやいやbcdeditで既定のブートかえればいいじゃんという話でした。あとWindows Server 2008からかどうか知らないんですが、ディレクトリサービス復元モードでもRDP使えるみたいですね。

続きを読む

Azure のネットワークACLの挙動

こういうお話がありました。

結論からいうと、LBとかじゃなくてホストサーバー上の設定なのでVNET(特に拒否の設定)指定ができちゃいます。

とはいえちょっと気になったので見てみることにします。こんなVNET to VNETなネットワークをAzure上で組んでみました。

image

ca1-srv1-vnet1 なインスタンスにIISを入れてHTTP(tcp/80)なエンドポイントを定義します。(LBは省略しました)

ネットワークACL(エンドポイントACL)を何も設定しない際に各インスタンスで内部のIPアドレスと外部のFQDN(図だとca1.cloudapp.net)にブラウザで接続してIISの既定のページが見れることは確認済みな状態とします。(Azure外のクライアントも当然OK)

※ようは疎通できてる状態

さて、以下の表のような感じでACLを定義したときに、それぞれのインスタンスから内部IPとFQDNでアクセスしてどうなるかを見てみました。

ACLの状態 ca1-srv1-vnet1   ca1-srv2-vnet1   ca2-src1-vnet1   ca3-srv1-vnet2   外部PC
  内部IP FQDN 内部IP FQDN 内部IP FQDN 内部IP FQDN FQDN
vnet1のみ許可 OK OK OK OK OK NG OK NG NG
vnet1のみ拒否 OK OK NG OK NG OK OK OK OK
vnet2のみ許可 OK OK OK OK OK NG OK NG NG
vnet2のみ拒否 OK OK OK OK OK OK NG OK OK
外部PCのみ許可 OK OK OK OK OK NG OK NG OK
外部PCのみ拒否 OK OK OK OK OK OK OK OK NG
ca1のGIPのみ許可 OK OK OK OK OK NG OK NG NG
ca1のGIPのみ拒否 OK NG OK NG OK OK OK OK NG
ca2のGIPのみ許可 OK OK OK OK OK OK OK NG NG
ca2のGIPのみ拒否 OK OK OK OK OK NG OK OK OK
ca3のGIPのみ許可 OK OK OK OK OK NG OK OK NG
ca3のGIPのみ拒否 OK OK OK OK OK OK OK NG OK

 

※クラウドサービスのグローバルIPアドレスは一応インスタンス上からインターネットにアクセスした際に使用されるIPアドレスを確認して設定

本来ネットワークACLは許可だけが設定されたらそのルールにマッチしないものは拒否になるはずですが、VNETを許可した場合はその辺うまく動作してない様子。

例えばvnet1だけ許可した場合だと、vnet2にいるインスタンスからもアクセスできてしまっています。(期待値としては拒否してほしい)

ただ拒否設定の場合は想定どおりになるようなので、何とも不可思議な挙動です。(表中で怪しいところをわかりやすくしようと思ったけど、面倒くさくなったので放置)

但し、ネットワークACLのドキュメントを見る限りでは

仮想ネットワークに対して ACL を指定したり、仮想ネットワーク内にある特定のサブネットに対して ACL を指定したりすることはできません。

とあるので今のところこのあたりの挙動は想定外なのかもです。今後に期待。

また、ネットワークACLのパケットフィルタ処理はホストノード上で実行されるようです。

ACL を作成して仮想マシンのエンドポイントに適用するとき、パケット フィルターが VM のホスト ノードで実行されます。これは、リモート IP アドレスからのトラフィックのフィルター処理が、VM 上ではなく、ホスト ノードによって実行され、ACL ルールとの照合が行われることを意味します。これにより、パケット フィルターの処理で VM が重要な CPU サイクルを消費するのを防ぐことができます。

上位のFWとかルータじゃなかったのねー。

まぁとりあえず現状はVNETに対するACLは微妙にノンサポートという感じですので、もし制限したい場合はご注意ください。(意図せず外部はOKになったりする可能性があります)

Azure Web Sites のAntimalware

ってされてるんですか?という話題があったので適当に見てみました。

EICARテストファイルを作ってどんな挙動になるかというのを見てみます。

こんな感じでWebサイト上に作ります

image

そもそも普通に作成できました。実行してみましょう。

image

普通に実行できました。まぁ実際に動作するファイルじゃないわけで結果は妥当な感じ。(アンチウィルスのチェックとしてはダメですが)

さてローカルPCで見てみましょう。

image

中身を入力して保存したタイミングでWindows Defenderさんが反応します。

実行するとちゃんとウィルスの可能性があるから実行しないよ的なメッセージになります。

image

しばやん先生によるとAzure Webサイト上はWindows Defenderが手動開始になっているようで、動作してないっぽいですね。

というわけで注意しましょう。