タイトルの通り。やり方をひょんなことで知ったのでやってみました。
※ というか知識がWindows Server 2003で止まってるからナー。。
昔の知識だとブート時にF8押して~とかなんですが、いやいやbcdeditで既定のブートかえればいいじゃんという話でした。あとWindows Server 2008からかどうか知らないんですが、ディレクトリサービス復元モードでもRDP使えるみたいですね。
タイトルの通り。やり方をひょんなことで知ったのでやってみました。
※ というか知識がWindows Server 2003で止まってるからナー。。
昔の知識だとブート時にF8押して~とかなんですが、いやいやbcdeditで既定のブートかえればいいじゃんという話でした。あとWindows Server 2008からかどうか知らないんですが、ディレクトリサービス復元モードでもRDP使えるみたいですね。
Internal Load Balancing(内部向け負荷分散)がGA(一般提供)されました。
はやかったですね。ご利用はAzure PowerShell等でどうぞ。
こういうお話がありました。
結論からいうと、LBとかじゃなくてホストサーバー上の設定なのでVNET(特に拒否の設定)指定ができちゃいます。
とはいえちょっと気になったので見てみることにします。こんなVNET to VNETなネットワークをAzure上で組んでみました。
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になったりする可能性があります)
ってされてるんですか?という話題があったので適当に見てみました。
EICARテストファイルを作ってどんな挙動になるかというのを見てみます。
こんな感じでWebサイト上に作ります
そもそも普通に作成できました。実行してみましょう。
普通に実行できました。まぁ実際に動作するファイルじゃないわけで結果は妥当な感じ。(アンチウィルスのチェックとしてはダメですが)
さてローカルPCで見てみましょう。
中身を入力して保存したタイミングでWindows Defenderさんが反応します。
実行するとちゃんとウィルスの可能性があるから実行しないよ的なメッセージになります。
しばやん先生によるとAzure Webサイト上はWindows Defenderが手動開始になっているようで、動作してないっぽいですね。
というわけで注意しましょう。
今更感がありますがVisual Studioを使うと仮想マシンのデバッグとデプロイが簡単にできます。
※Visual Studio 2013 Update2以降とAzure SDK 2.3、Azure PowerShell 0.7.4(Windows PowerShell 3.0)以降が必要ですが。
具体的にどう簡単になったかというと、新規でWebアプリケーションを作成する際のダイアログで、「クラウド内のホスト」にチェックを付けて仮想マシンを選ぶと仮想マシンをデプロイしてWebDeployが有効な状態にしてくれます。
こんな感じでIISとWeb配置の有効化を行うと、IISのインストールとWebDeployの準備をしてくれます。
※「OK」ってした段階で仮想マシンが作られますので注意。
実際に作成された仮想マシンを見てみると
てな感じでWebアプリケーションで必要な設定が行われてます。
また自分だけの環境にならないように、仮想マシン作成&デプロイ用のスクリプトも生成されます。
※Webサイトにした場合もどうようのスクリプトが生成されます。
Azure Resource Managerと違いますが、設定がJSONで保存されてます。このあたり統合されていくんでしょうかね…まだわかりませんが。
さて、実際にどうやってデプロイ等しているかというと、同じく生成されるPowerShellスクリプトモジュール(.psm1)にデプロイ用のモジュールと、実際にそのモジュールを使ってデプロイするスクリプトを使います。
このスクリプトモジュール、よくできてると思うので早く本家にマージされるといいですね。
なおスクリプトに関する詳細はこちら
さて仮想マシンのデプロイが終わったら、後は通常のWebアプリケーションと同じようにWebDeployで発行できますし、Zipパッケージにして、生成されたPowerShellスクリプトを使って発行することもできます。
開発者がいちいち管理ポータルでちまちま仮想マシンやらWebサイトやら作る必要もなく、開発だけに専念して展開や本番環境の調整は別の人が行ったり、スクリプトを使って自動化したりできるのは嬉しいですね。
Azureの説明の際にどんとPaaS/IaaSといいだした背景は案外こんなところかもしれません。
そいやデバッグ方法について記載してなかった感(タイトル詐欺)。
Visual Studioのサーバーエクスプローラーから対象の仮想マシンを選択して「デバッグの有効化」を行った後、デバッガをアタッチしてデバッグしたいプロセス(w3wpとか)にアタッチするだけです。はい。
簡単ですね。
Azure Resource Managerって何ですか? というのをいつも通り適当に書いておきたいと思います。
適当は嫌じゃ、という方は //build/ 2014 と TechEd 2014 NA のセッションとかを見たほうが早いかもしれません。
先日のTechEd 2014 NAで仮想マシンのA8/A9がGAしました。
今のところPowerShell経由でしか作れないようなので作ってみたいと思います。
ちなみに対応してるリージョンは
だけのようです。日本もありましたね。よかった。
ついにこの日がやってきました。
WALinuxAgent2.0がFreeBSDに公式対応したということもあり、VMDepotにFreeBSD 10 RELEASE x64なイメージが公開されています。
今のところ管理ポータル上のVMDepotの参照からは作れなさそうなのでコマンドでどうぞ。
VMDepotから生成スクリプト取得できるので、簡単ですね。
azure vm create <クラウドサービス名> -o vmdepot-36254-2-128 -l "East Asia" <ユーザー名> <パスワード> --ssh
という感じです。まぁイメージ名だけ間違ってなければあとはお好きなようにという感じです。
\ノ’∀ン ヒャッホウ
もうこれで過去やったみたいな面倒くさい手順からは解放されます!
AzureでもFreeBSDライフをお楽しみください!
何を言ってるか(ry
Windows 8.1 Update1な環境で複数モニタ使ってる方はわかってもらえそうな気がしないでもないですが、モニタ間をマウスカーソル移動させる際にある程度の加速度というか勢いがないと、境界でカーソルが止まってしまいます。
試しにゆーっくりモニタ間移動してもらえるとわかるかと思いますが、、、なんだろうこの表現の難しさ。
まぁ引っかかっちゃうので結構困ります、ということで直すためのTips。
に書いてある通り、レジストリ2か所いじってExplorer.exeを再起動でなんとかなります。
HKCU\Control Panel\Desktop の MouseMonitorEscapeSpeed を1に、
同様に HKCU\Software\Microsoft\Windows\CurrentVersion\ImmersiveShell\EdgeUI の MouseMonitorEscapeSpeed を1にします。
ふぅ。たぶんストアアプリにタイトルバー(?)がついた影響だと思うんですけどよくわからずです。GUIで設定できるようにしてほしいですね。
※2014/05/15追記:2つ目のレジストリキーと値が間違っていたのを修正