今日はクラウディアさんの誕生日

Windows 1.0の発売日でもありますが、公式設定によると1985年11月20日はクラウディアさんの誕生日でもあります。

というわけで(?)、あのMicrosoftが結構本気でいろいろ展開していますので、いろいろ楽しんでみてください!

特にMSDNにある特設ページ(?)には期間限定でしか入手できないレアものがありますよ!

ちなみに入手できるシステムボイスの取り扱いは二次創作ガイドラインに準拠するようです。やったね!

あとFacebookのアカウント持ってる人はこちらからイイネ!しましょう!

Windows Azure SDK の更新

年末に爆弾じゃなくて大型?のアップデートがきましたー。

今回更新されたのは以下の3つ。

で、ややこしいことに内部バージョンはWindows Azure SDK 1.6なんですが中身はいろいろ再配置・きったはったがありました。それに伴い名称なども変更されてるので注意が必要です。

まぁ元ソースは文末にまとめたリンクを見て頂くか、きっと日本語化された公式ソースっぽい内容をナイスガイさとうなおき氏が近日中にまとめると思われるのでそちらを見てください。(丸投げ)

続きを読む

CSEncryptで$が入力できなかったり

ふとWindows Azure SDK 1.5に付属するCSEncryptコマンドを使って暗号化されたパスワードな文字列を生成して、RDPのユーザーパスワードに設定して配置後、接続しようとするとどうも認証ではじかれる。

管理ポータルから再設定したらちゃんと入れるし、Visual Studioを使用してCSCFGファイル作れば問題なし=CSEncryptが何かおかしい。という状況に陥りました。

打ち間違いもなく、何ならコピペでやってるから絶対同じなのにおかしいなぁ~と思ってよくよく、ゆっくりと入力してみると…

あああ! $ が入力されなイイイイイイ!!

タイプしても、ペーストしてもスルー!!!/(^o^)\

というわけで原因はCSEncryptで(というかPowerShellで?)$が入力できない、ということでした。ちゃんちゃん。

 

いやいやいや、入力できないと困ります。

ということでどうするかといいますと。リダイレクトすればいいわけですねー。

こんなファイルを用意しまして、

という感じで標準入力にリダイレクトしてあげるといいようです。

ちなみにちゃんと$込で暗号化されてるのか不安ですよね。ちょっと復号してみてみましょう。

[Reflection.Assembly]::LoadWithPartialName("System.Security")
$source = "<Base64な暗号化された文字列>"
$thumbprint = "<証明書の拇印>"
$store = new-object System.Security.Cryptography.X509Certificates.X509Store My,CurrentUser
$store.Open("ReadOnly")
$cert = $store.Certificates.Find(0,$thumbprint,0)
$env = new-object Security.Cryptography.Pkcs.EnvelopedCms
$env.Decode([Convert]::FromBase64String($source))
$env.Decrypt($cert)
[Text.Encoding]::UTF8.GetString($env.ContentInfo.Content)

こんな感じのコマンドをPowerShell上で実行してあげると復号して元文字列を取り出せます。
結果は同じ、$もOKですね!

※ちなみに暗号化には公開鍵を、復号には秘密鍵を利用しているので暗号化する際に使用した秘密鍵付証明書が個人用証明書ストアに保存されてないとダメです。逆に言えば秘密鍵付証明書(とパスワード)があれば簡単に復号できちゃいますということで。

今日はこの挙動に悩まされた一日でした…とほほ。

Windows Azure によるアプリケーション開発基礎

マイクロソフトコンサルティングサービスの有償ワークショップ、「Visual Studio Workshop #451 Windows Azure によるアプリケーション開発基礎」の資料がなんと無償で入手できますよ!!

あのMCSの有償ワークショップの資料が無償だなんてうれしいですね!でも一応制約があって個人の勉強目的のみなので注意してくださいね。以下「とあるコンサルタントのつぶやき」より引用。

このマテリアルは、あくまで現場の開発者の皆様の、セルフトレーニング(勉強)用にご提供するものです。複製、転載、商用利用はご遠慮下さるよう、お願いいたします。(例:この内容を社内で製本して配布するとか、このマテリアルを使って社内向けトレーニングを実施するとか、設計書や社内資料、お客様向け資料に引用したりコピペするとかしてはいけません。)

内容については、私が独自に調査しているものを多分に含んでおります。技術情報に関しては誤りがないように全力で調査をしていますが、万が一、間違いがあった場合には、こちらの blog などで報告をしていきたいと思います。

Azure のアップデートなどによりこちらの情報が古くなる可能性もありますが、現時点ではマテリアルの更新について行う予定はありません。申し訳ありませんが、差分情報については各自で調査をお願いできればと思います。(基本はこれからもそんなに変わらないと思いますが。)

以下ざっくり見て気になったところとか。

  • p.18 Windows Azure Gatewayとか入ってて泣けますね
  • p.19 ACS(アクセスコントロール)は現時点で商用でv2です。キャッシング(Caching)も商用ですね。
  • p.58 課金は、ピークデータ量 (Current Size) に基づいて、日割りで課金、です。 FAQSQL Azure データベースの課金について を参照
  • p.398、p.419 Windows Azure SDK 1.5以上であればエンドポイント数がかわっても一応VIPSwap可能です InPlaceUpgradeはOKで、VIP SwapはSDK1.5でもNGでした。ので修正。 (参考:In-place UpdateがUpdateされました
  • p.542 machineKey上書きの問題はWindows Azure SDK 1.4以降で直ってたと思います。
  • p.545 開発環境かどうかはSMarxのBlogなども参照
  • p.560 VMロールはベータプログラムの参加申し込みしないと利用できません。※Visual Studio上でのVMロールに関する部分は参加時に送られるメールに記載されてる方法でレジストしないと表示されません。

最後のモジュールにあるStartupTaskのTipsや、随所に見られる苦労しただろうなぁ的なポイントを見ると感慨深いですね!
というか全般的にまとまってて勉強になると思います。
※ただクラウドコンピューティングやAzureそのものの概要的なところは少ないので、初見で見るにはつらいかも(あくまでVisual Studioを使うような開発者向けワークショップの資料ですし)