ASP.NETとTypeScript

なんとなくJavaScriptもちゃんと触りたいと思ってTypeScript本読んだりしてました。

ほんとはUI周りでFlagrateを使いたいからという理由で、じゃぁどうせJavaScriptするならTypeScriptかなーと。でも鯖側はまだ慣れてるC#で書きたいし…ということでASP.NETなプロジェクトとどう共存しようというのを見てみました。たぶん何そんなの基本だろ的な感じだと思われますが。

続きを読む

Visual Studioを使った仮想マシンのデバッグとデプロイ

今更感がありますがVisual Studioを使うと仮想マシンのデバッグとデプロイが簡単にできます。

※Visual Studio 2013 Update2以降とAzure SDK 2.3、Azure PowerShell 0.7.4(Windows PowerShell 3.0)以降が必要ですが。

具体的にどう簡単になったかというと、新規でWebアプリケーションを作成する際のダイアログで、「クラウド内のホスト」にチェックを付けて仮想マシンを選ぶと仮想マシンをデプロイしてWebDeployが有効な状態にしてくれます。

image

こんな感じでIISとWeb配置の有効化を行うと、IISのインストールとWebDeployの準備をしてくれます。

image

※「OK」ってした段階で仮想マシンが作られますので注意。

実際に作成された仮想マシンを見てみると

image

てな感じでWebアプリケーションで必要な設定が行われてます。

また自分だけの環境にならないように、仮想マシン作成&デプロイ用のスクリプトも生成されます。

image

※Webサイトにした場合もどうようのスクリプトが生成されます。

image

Azure Resource Managerと違いますが、設定がJSONで保存されてます。このあたり統合されていくんでしょうかね…まだわかりませんが。

さて、実際にどうやってデプロイ等しているかというと、同じく生成されるPowerShellスクリプトモジュール(.psm1)にデプロイ用のモジュールと、実際にそのモジュールを使ってデプロイするスクリプトを使います。

このスクリプトモジュール、よくできてると思うので早く本家にマージされるといいですね。

なおスクリプトに関する詳細はこちら

さて仮想マシンのデプロイが終わったら、後は通常のWebアプリケーションと同じようにWebDeployで発行できますし、Zipパッケージにして、生成されたPowerShellスクリプトを使って発行することもできます。

開発者がいちいち管理ポータルでちまちま仮想マシンやらWebサイトやら作る必要もなく、開発だけに専念して展開や本番環境の調整は別の人が行ったり、スクリプトを使って自動化したりできるのは嬉しいですね。

Azureの説明の際にどんとPaaS/IaaSといいだした背景は案外こんなところかもしれません。

デバッグ方法

そいやデバッグ方法について記載してなかった感(タイトル詐欺)。

Visual Studioのサーバーエクスプローラーから対象の仮想マシンを選択して「デバッグの有効化」を行った後、デバッガをアタッチしてデバッグしたいプロセス(w3wpとか)にアタッチするだけです。はい。

簡単ですね。

Azure Resource Manager

Azure Resource Managerって何ですか? というのをいつも通り適当に書いておきたいと思います。

適当は嫌じゃ、という方は //build/ 2014 と TechEd 2014 NA のセッションとかを見たほうが早いかもしれません。

続きを読む

FreeBSD on Azure

ついにこの日がやってきました。

WALinuxAgent2.0がFreeBSDに公式対応したということもあり、VMDepotにFreeBSD 10 RELEASE x64なイメージが公開されています。

今のところ管理ポータル上のVMDepotの参照からは作れなさそうなのでコマンドでどうぞ。

image

VMDepotから生成スクリプト取得できるので、簡単ですね。

azure vm create <クラウドサービス名> -o vmdepot-36254-2-128 -l "East Asia" <ユーザー名> <パスワード> --ssh

という感じです。まぁイメージ名だけ間違ってなければあとはお好きなようにという感じです。

image

\ノ’∀ン ヒャッホウ

もうこれで過去やったみたいな面倒くさい手順からは解放されます!

AzureでもFreeBSDライフをお楽しみください!

Windows 8.1 Update1 で複数モニタの境界のマウス移動が難しい

何を言ってるか(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つ目のレジストリキーと値が間違っていたのを修正

Azure PowerShell のあれこれ

Azure PowerShellも日進月歩な感じである意味時代の最先端(未発表機能が追加されてたり)をイッてるツールなわけですが今日はその小ネタを。

 

証明書が無いとかなんとかエラーがウザイ

%userprofile%\AppData\Roaming\Windows Azure Powershell フォルダにいろいろあるので、バッサリ消して初期化しちゃいましょう。うん。

 

Import-AzurePublishSettingsFile とか面倒くさいしウザイ

最近のバージョンでは Add-AzureAccount すればフェデレーション認証な感じでMSアカウントで認証して必要な権限をゲットできます。ほとんどのコマンドはこれだけで済むのでむっちゃ便利です。

Import-AzurePublishSettingsFile も便利なんですが、こいつに渡すファイルを Get-AzurePublishSettingsFile とかで取得するとその都度証明書作られたりウザイ。というわけでステステ。

※とはいえスクリプト内で実行する場合などは必要になるので、適宜ちゃんと作成・管理しましょう。

Import-AzurePublishSettingsFile 使わないと Add-AzureVhd でエラーになるんじゃ

clientCert cannot be null とか言うやつですね。わかります。なぜかAdd-AzureVhdだけ特殊な気が。。。

面倒くさいので New-AzureStorageContainerSASToken とかでSASを取得してアップロード先のURLにつけるといいですよ。

$sas = Get-AzureStorageContainer -Container vhds | New-AzureStorageContainerSASToken -Permission rwdl -ExpiryTime (Get-Date).AddDay(5)
$dest = "https://~~/vhds/test.vhd" + $sas

Add-AzureVhd -LocalFilePath $vhd -Destination $dest


こんな感じで。SAS便利だね☆

(5/9追記)SASの有効期間が短くてUpload中にエラーになったりするので、-ExpireTimeで長めの有効期限を渡しておきましょう。(例だと5日間)

はぁー、暇になりたい。

OpenSSLの脆弱性

CVE-2014-0160の件。

Azureさんの仮想マシンでLinux系使ってる人は要注意な感じで。ギャラリーに含まれるOpenSSLが対策済みになるまでは起動後すぐにUpdateしましょう。

sudo yum list updates
sudo yum update openssl

とかするといいんではないでしょうか。

手元のサーバーはとりあえずImportant: openssl security updateで記載されている 1.0.1e-16.el6_5.7 になったので大丈夫な気がします。

※念のためOS再起動や関連サービス再起動しておくとよいのでは

Azureで直近でGAしたり追加された機能とか

羅列しとこう。

  • Previewまたはこれから
    • 新ポータル
    • Automation
    • SQL Database Self-Service Recovery
    • SQL Database Active geo-replication
    • リソースグループ
  • GAになったの
    • Auto Scale
    • Point to Site VPN
    • 動的ルーティングゲートウェイ(VPN)
    • ストレージのRA-GeoRS
    • スケジューラー
    • モバイルサービスのスケジューラー
    • Azure Active Directory Premium
    • CDN
    • Visual Studio Online
  • その他
    • 通知ハブでKindleサポート
    • (こっそり)YARMサポート
    • Azure PowerShell 8.0
    • Azure Management Library 2.0.0 Preview for .NET and Node.js
    • VM Image replace OS Image
      • 稼働しててもキャプチャできる
    • Azure Cross Platform Command-Line Interface 0.8.0
    • Web Hosting Plans
    • New Basic SKU for Azure Web Sites
      • 無料・共有・基本・標準になった
    • 仮想マシンにBasicとStandard(基本と標準)のTier(階層?)が追加
    • 仮想マシンギャラリーにDynamics GP 2013 DeveloperとDynamics NAV 2013 R2が追加(MSDNのみ)
    • Puppet Extension
    • Chef Extension
    • Azure Active Directory PremiumのSelf-Service group management
    • WebサイトでJava (Tomcat/Jetty)サポート
    • Webサイトのスロット追加
    • Azure SDK 2.3 Release
  • 更新情報がまとまってみれるぞ!

わからんのじゃ。