Windows Azure Media Services: SDK 2.0 for .NET (Preview) のクリーンアップサンプル

こちらにアナウンスが出ていますが、クライアント側の.NET SDK2.0になり、幾つか変更点もあります。

  • 1.0 Previewはアンインストールを
  • ファイルアップロードの手順が大きく変更になっています。Asset.Createは単なる空の器を作成するだけですので、複数の追加の手順が必要です。
  • ファイルアップロード経過を取得する、イベントハンドラは書き直しです。

Just Released – Windows Azure Media Services SDK 2.0 for .NET (Preview) on NuGet:

http://social.msdn.microsoft.com/Forums/en-US/MediaServices/thread/7417b76a-d670-4b2c-8024-0e1c2ce4b803

評価時点で役に立つのが、Asset / Locator / Policy / Job などを全て削除してくれるクリーンアップのコードです。Blob Storageを使っていますので、うまく削除できないようですと課金されたままになってしまいますので。

まだ SDK2.0 のサンプルコードが提供されていませんが、以下をサンプルとしてご利用ください。

基本は AccessPolicy –> Job –> Asset の順番で削除すると確実にできます。

            Console.WriteLine("Access Policy 削除中...");

            DeleteAllAccessPolicies();

            Console.WriteLine("Job 削除中...");

            DeleteAllJob();

            Console.WriteLine("Asset 削除中...");

            DeleteAllAssets();

  • AccessPolicyの削除:

Entiryタイプのものは、今回 Delete() / DeleteAsync() が追加されていますので、直感的に・・・

        static void DeleteAllAccessPolicies()

        {

            foreach (IAccessPolicy policy in _context.AccessPolicies)

                try

                {

                    policy.Delete();

                }

                catch (Exception e)

                {

                    //

                }

        }

  • Job の削除

こちらは以前のサンプルのままで動きます。

http://code.msdn.microsoft.com/Windows-Azure-Media-040435f8

  • そしてAsset

        static void DeleteAllAssets()         {             foreach (IAsset asset in _context.Assets)             {

                Exception ex = null;                 // Use a try/catch block to handle deletes.                  try                 {

                    // You must revoke all locators to delete an asset.  foreach (ILocator locator in asset.Locators)

                    {

                        locator.Delete();

                    }

                    foreach (IContentKey contentKey in asset.ContentKeys)

                    {

                        

                        asset.ContentKeys.Remove(contentKey);

                        if (asset.ContentKeys.Count == 0) break;

 

                    }

 

                    asset.Delete();

                    Console.WriteLine(" Deleted Assets.");                 }

 

                catch (InvalidOperationException invalidEx)                 {                     ex = invalidEx;                 }                 catch (ArgumentNullException nullEx)                 {                     ex = nullEx;                 }                 // If there's an exception, log or notify as needed.                 if (ex != null)                 {                     // Log or notify of assets that cannot be deleted.                      Console.WriteLine(" The current asset cannot be deleted.");                     if (asset != null)                         Console.WriteLine(" Asset Id: " + asset.Id);                     Console.WriteLine(" Reason asset could not be deleted: ");                     Console.Write(ex.Message);                 }             }         }

いま暫し、お待ちください・・・

Windows Azure Media Servies 2012 February beta: Windows 8 CP上の VS11 Betaでも動作します

遅くなりましたが、動作確認はしました。Client SDK側は全部動作します。

現在のベータの依存関係だけご注意ください。

– WCFDataServices_Oct2010_CTP1.msi

– WindowsAzureLibsForNet-x64.msi (SDK for .NET 1.6)

さ、これで、Azure SDKのVS11待ちですね!

1,000人だと1時間20,000円で、Live中継

インターネットでの生中継はUSTなんかを見ていると、せいぜい2-3時間が多いかと思います。そのためにせっせと機材を用意してもいいのですが、もっと手軽に出来ないかというのがこのアイディアです。
せっかくAzureに”Elevated Privilege + スタートアップ タスク”がついたのですから、フルに活用してみたいと思います。

続きを読む

Windows Azure Toolit for Windows Phone 7 の日本語64ビットOSへのインストール

冒頭にマイクロソフトの正式見解ではない点をご留意ください。

そのままですと依存関係チェックにひっかかりインストールができません。
以下のファイルを修正することで依存関係をパスできます。

デフォルトのインストールフォルダで: C:\WAZToolkitForWP7\Setup\Scripts\Dependencies\Check

  • Visual Studio 2010
    • ファイル名: CheckVS2010OrExpress.ps1
    • 修正箇所: 30行目:

          現状:  if ($os.OSArchitecture -eq "64-bit") {

          更新: if ($os.OSArchitecture -eq "64 ビット") {

            ※ 半角スペースですのでご注意を

  • Windows Phone Developer Tools
    • ファイル名: CheckWPDT.ps1
    • 更新箇所: 36行目. VS2010と同じ
  • Windows Phone Developer Tools January 2011 Update
    • ファイル名: CheckWPDTJanuary2011Update.ps1
    • 更新箇所: 20行目. VS2010と同じ
  • Silverlight for Windows Phone Toolkit"
    • ファイル名: CheckSLforWPToolkit.ps1
    • 更新箇所: 27行目. VS2010と同じ

Windows Azure へのアプリケーション移行手順 (1)–ASP.NET + SQL Server

Azureが無償である程度使えるとはいえ、アプリが移行できないのであれば、意味がありません。
ここでは、既知のものではありますが、整理の意味も含めてご紹介します。

参考情報:

WIndows Azure Step by Step チュートリアルガイド:

http://msdn.microsoft.com/ja-jp/windowsazure/gg261766.aspx

※ 上記資料は多少古いので、Azure管理画面が古いままです。その点だけご了承ください。

事前準備

 

ダウンロード: Web Platform Installer 3.0 を通じて提供されています。
Web PI 3.0: http://www.microsoft.com/web/downloads/platform.aspx

手順

DBを先に、アプリを後に行います。手元のIISから、SQLAzureに接続文字列を変えるだけで接続できますので。

1. Azure上にドメイン取得

Azureの管理ポータルに行きます。

https://windows.azure.com/Default.aspx

画面左上の [New Hosted Service]から、サーバーを作成します。

image

URLやデータセンターを選択します。ここで、パッケージ済みのアプリケーションの配布もできるのですが、今は行いません。

image

これで、ドメインが作成されます。

image

ここで、Azure管理サービスとセキュアにやりとりする証明書を作成します。以下の手順が簡単です。

http://msdn.microsoft.com/ja-jp/windowsazure/gg261770.aspx#3.2.4

アップロードが終了すると、管理画面から確認できます。

image

2. DBの移行

ここでは、SQL Server Migration Wizardを使います。BCPコマンドを内部実行するので、一番高速です。データ転送時のセキュリティが気になる方は、Integration Serviceにて。

具体的な手順は、こちら

3. Azure側にテストデータ生成

接続文字列切り替えるだけですと、データの内容でしか動作確認が取れません。ですので、SQL Serverの管理コンソールにて、SQL Server / SQL Azure 双方への接続ができるようにしておきます。
ちなみに、SQL Server 2008 R2のManagement Studioから、SQL Azureの管理が超楽になりました。管理ツールは、できたら最新にしてください。旧バージョンにも勿論接続できますので。

SQL Azure への接続ですが、実は、サーバー名にWindows Azure 管理ポータルから、[Full Qualified DNS Name]を。SQL Server認証にて、ユーザー名とパスワードを入力します。

image

青いアイコンがSQL Azureです。

image

この段階で、テスト用のレコードを追加してください。

4. DBの接続文字列の設定

ADO.NET:

Server=tcp:<ServerName>.database.windows.net;Database=<DB>;User ID=<UserName>@<ServerName>;Password=<myPassword>;Trusted_Connection=False;Encrypt=True;

ODBC:

Driver={SQL Server Native Client 10.0};Server=tcp:<ServerName>.database.windows.net;Database=<DB>;Uid=<UserName>@<ServerName>;Pwd=<myPassword>;Encrypt=yes;

例えば、ADO.NETの場合、こんな感じです。

Server=tcp:pxg2ala54g.database.windows.net;Database=NorthwindJ;User ID=dahatake@pxg2ala54g;Password=myPassword;Trusted_Connection=False;Encrypt=True;

これを、SQL Serverへの接続文字列と置き換えます。
よくあるのは、web.config ファイル内に埋め込んでいるパターンです。

image

Debug/ReleaseモードなどでWeb.config 切り分けられるのですが、ここでは話を単純化するために、そのままこの文字列を活かします。大事な点は name=”<接続文字列の名前>”を同じにすることです。
こちらの例では、オリジナルをコメントアウトし、 connectionString=”<先のAzureの接続文字列>”にて置き換えました。

image

これにてF5にて実行してみます。
普通に動くと思います。この段階で、DBのみは、クラウドで動作しています。

image

5. WebアプリケーションのAzure化

ASP.NETのプロジェクトに、Windows Azure プロジェクトを追加します。
ソリューションを右クリックして、「新しいプロジェクト」を選択します。

image

プロジェクトの種類から [Cloud] を選択し、適当な名前を付けて、[OK] を押します。

image

プロジェクトの追加画面が表示されますが。ここでは、既存のASP.NETアプリがあるので、何も選択せず、OKを押します。

image

これで、Azure用のプロジェクトができました。

image

次に、Azure用のプロジェクトに、既存のASP.NETを追加します。
[ロール] を右クリックして、[ソリューション内のWebロールプロジェクト]を選択します。

image

表示されているASP.NETアプリケーションを選択してOKを押します。

image

[ロール]の先に、先ほど紐づけしたプロジェクトがあります。

image

これをダブルクリックすると各種設定が可能です。

この段階で、F5を押して、プロジェクトを実行してみてください。
今度は、タスクバーにAzureのエミュレーターが立ち上がってきていると思います。これで、ほぼ完了です。

image

6. Azureへのアプリケーションの展開

こちら手順がまだありますので、以下をご参照ください。
一度配布用の設定ができてしまえば、その後は、一発配布になります。

http://msdn.microsoft.com/ja-jp/windowsazure/gg261772.aspx

ここでは、設定後という状況の手順を。

Azure プロジェクトを右クリックして [発行] を選択します。

image

先に設定した証明書が正しく構成されていると、[資格情報]にて選択ができます。ここに出てこない場合は、資格情報に [追加] を選んでください。

image

以下の画面に表示されている手順にそって、証明書管理をします。

image

正しく構成できると、以下の様にAzure上のWebサーバーや、ストレージなど選択できます。
ここで、OKを押す前に [リモートデスクトップ接続の構成] をする事をお勧めします。アプリがうまく動作しない場合や、問題発生時のトラブルシュートに大変便利です。私も何度も助けてもらいました。

image

Azure上のサーバーは全てワークグループです。ですので、ここで作成するユーザーはそのコンピューターにしか存在していませんので、ご注意ください。10台にしたらそれぞれ10台に個別に作成されます。
有効期限に特にご注意を。

image

後はOKを押します。

本日、3/14にネットワークを使わせていただいて香港に配布してみましたが、10分くらいかかります。
Visual Studio の下部にてアップロードの状況が確認できますし、同時にAzureの管理ポータルからも確認ができます。

image

これで、Azure上にWebアプリも、DBもあり、 [Web サイトのURL] にアクセスすることで、Azure上にてアプリが動作していることが確認できます。

image

 

移行作業自体は、多少慣れた方であれば、30分程度ではないでしょうか?

Windows Azure 90日間無料サイトの良い使い方

http://smcjapan.blob.core.windows.net/web/index.htm

このサイトでは、ほとんどのファイルを静的状態で、Azuer Blobに置いています。100TBのストレージを非常にうまく使っています。

今回の無料提供ですが、どこまで無料なのか分かりません。また、アプリをいちいち作っていられない場合もあると思います。

アクセス不能のサイトもあり、また、節電を考える上でも

  • HTML編集ツールなどで簡易的に。Wordでもhtml保存できますので
  • アクセスの殆どが読み取り処理かと思いますので、CDNも併用し

などの発想で迅速に被災者支援に役立てください

Azure 90日間無料サイトについて:

http://satonaoki.wordpress.com/2011/03/12/%e6%9d%b1%e5%8c%97%e5%9c%b0%e6%96%b9%e5%a4%aa%e5%b9%b3%e6%b4%8b%e6%b2%96%e5%9c%b0%e9%9c%87-%e5%af%be%e5%bf%9c%e7%94%a8-windows-azure-%e7%84%a1%e6%96%99%e3%83%91%e3%82%b9/

Microsoft 製サーバー製品の計画的な停止手順

今回の東日本の震災に協力できる方法として、節電があります。東京電力でも首都圏の計画停止をしていますが、それに備えるためにも、以下、可能な限りまとめてみます。あちこちを見なくても済むように。
なお、正式な絶対に間違いが無い、という情報ではない事だけご了承ください。
ですが、いずれも「元データベース」には影響がほとんどないと思いますので、他に手段がなければ、是非。

また、いくつかマイクロソフト製品の評価版をのせています。今回の用途は本番かと思いますので、その点のライセンス上の違いについてはご注意ください。

基本

バックアップとリストアです。バックアップは、OS (サーバー仮想化にて)、アプリケーションのデータ。の2段階で考えてください。Microsoft製品は、ADに依存して、バックアップデータが他のドメインに戻せない場合もありますので、ご注意を。

停電の場合は、フェイルオーバークラスターが組まれていても、それ全部が停止する可能性があります。ですので、データのバックアップを基本に。

HDDについてはしょうがない事があります。モーターで連続稼働をしているものは、一旦停止すると、二度と稼働しなくなる確率が増えます。もしかしたら、HDDのストックをご用意いただいた方がいいかもしれません。

以下、取り急ぎの「バックアップ」についてです。

Microsoft製品は、System Center Data Protection Manager 2010にておおむね対応もできます。ただ、ツールでブラックボックス化されている部分もありますので、リストア時にもしかしたら、このツールが必須になってしまうかもしれません。またADが必須なので、その点もご注意を。

評価版: http://technet.microsoft.com/ja-jp/systemcenter/dm/bb727240.aspx

 

1. OS

P2V

System Center Virtual Machine Manager 2008 R2 などのサーバー仮想化管理製品が使える状態であれば、OSごとバックアップです。

評価版: http://technet.microsoft.com/ja-jp/evalcenter/cc793138.aspx

手順:http://technet.microsoft.com/ja-jp/virtualization/ff603844.aspx

p. 98から

Windows Server

OS標準のバックアップ機能があります。「バックアップと復元」です。

Windows 2000 Server: http://technet.microsoft.com/en-us/library/bb727088.aspx

英語ですので、適時「Microsoft Translator」などで、翻訳してください。

Microsoft Translator: http://www.microsofttranslator.com/

こちらは、IE8以降であれば、アクセラレーターから。そうでなくとも、ページのURLを大きなテキスト部分に入力すると、英語などに翻訳してくれます

仮想サーバー

Hyper-Vであれば、「エクスポート」するか、一旦サービスを止めて、VHDファイルをコピーしてください

2: SQL Server

SQL Serverの各データベースは基本オンラインバックアップです。また、バックアップ後のファイルは、他のSQL Serverのインスタンスにも戻せますので、比較的やりやすいです。また、SQL Server 2000以降操作手順が大きく変わりませんので、その点も安心です。

バックアップと復元: http://technet.microsoft.com/ja-jp/library/ms187048.aspx

手順は、SQL Server Management Studioから、以下にてウィザード起動します。

SQLServerバックアップ

3: Exchange Server

こちらは手順書をダウンロードください

Exchange Server 2000: http://www.microsoft.com/downloads/details.aspx?FamilyID=c83a1161-f22b-4862-97a4-4a888839a455&displaylang=ja

Exchange Server 2003: http://www.microsoft.com/downloads/details.aspx?FamilyID=A58F49C5-1190-4FBF-AEDE-007A8F366B0E&displayLang=ja

Exchange Server 2007: http://technet.microsoft.com/ja-jp/library/aa998848(EXCHG.80).aspx

Exchange Server 2010: http://technet.microsoft.com/ja-jp/library/dd876874.aspx

4: SharePoint Server

SharePoint Server はデータをSQL Serverに保存をしているのですが、それ以外の場所にも例えば画像ファイルなどを保存している場合もあります。よって、基本はSharePoint Server標準のstsadmコマンドにてバックアップを取得されることをお勧めします

SharePoint Server 2003: http://office.microsoft.com/en-us/sharepoint-portal-server-it/backing-up-and-restoring-servers-on-the-server-farm-HA001160345.aspx

こちらも英語です。すいません。

SharePoint Server 2007: http://technet.microsoft.com/ja-jp/library/cc262412(office.12).aspx

SharePoint Server 2010: http://technet.microsoft.com/ja-jp/library/ee662536.aspx

—– (以下、3付き17日追記 ) —-

SharePoint Server 2010の災害対策情報。英語ですので、Microsoft Translatorにて適時機械翻訳をお願いします。

http://technet.microsoft.com/ja-jp/sharepoint/ff601831

———————————————————

IISやファイルサーバー

robocopy.exe がおすすめです。以前も自分のBlogに書きましたが。

バックアップ先

こんな時だからこそ、クラウドがいいと思うのです。ですが、ファイルサイズが大きすぎる場合には、手元のUSB HDDなども現実的かもしれません。

今、日本マイクロソフトでは、90日間Windows Azureを無償で提供しています。100TBのストレージが使えます。

以下が、私の考えているものです。決してこうしてください、というものではありません。

1. Azure の契約。以下のドキュメントをご参考に

https://daiyuhatakeyama.files.wordpress.com/2011/03/windowsazureplatform_e382a2e382abe382a6e383b3e38388e4bd9ce68890e6898be9a086.pdf

2. Storageの設定

  • Azure管理ポータルに接続。契約時の管理者のWindows Live IDにて。

https://windows.azure.com/

  • [Hosted Services, Storage …] などを選択。画面上部の [New Storage Account]を選択する

image

  • ストレージアカウント作成画面が出てくるので、URLとデータセンターを決める。データセンターは、[East Asia] =香港 がおすすめ。

image

  • これで、ストレージが使えるようになります。画面右側の [Blob URL]がファイルサーバー「的」なBlobのアドレスになります。

image

3. フォルダの作成

以下のフリーツールが個人的なおすすめです。

Azure Storage Explorer: http://azurestorageexplorer.codeplex.com/

ツール起動後、[Add Account] にて、設定した各項目を設定

image

Storage account name: Blob URLの最初の “.”まで。例えば “dahatakefile” など

Storage account key: Azure 管理画面の [Primary access key] にて表示されるダイアログ画面の、[Primary …]で表示されいる部分を [Copy to Clipboard]で、コピー。その値を貼り付け。

image

4. ファイルシステムと、Azureをマウントさせます。

  • Gladinet Desktopをダウンロード

http://www.gladinet.com/

Azure Blog Storage とファイルシステムをマッピングしてくれるツールです。無償でも結構いけます。3.0になって安定しました。

インストール後、起動させると、タスクバーに常駐します。

image

右クリックして、[Management Console]を選択します。管理画面が起動します。

image

画面上の [Cloud Drive]を選択します。

image

画面左側の プラスマークが付いたアイコン をクリックすると、ウィザードが起動します。Azure Blob Storageを選んで (勿論、他でもいいですが、今回100TBまで使えますので)、

image

以下を入力します。

Access Point: Azure 管理画面の Blob URL
例: dahatakefile.blob.core.windows.net

Account Name: Azure Blob URLの最初の.まで。
例: dahatakefile

Primary Access Key: 先ほどと一緒

 

これで、初期設定ですと、 Z Drive にマウントできると思います。

このツールは、ローカルキャッシュとして、%LOCALAPPDATA%\Gladinet\cache にファイルをコピーします。つまり、このキャッシュ設定は、場合によっては大きな空きのある場所に設定ください。

image

後は、robocopyも動きます。
例えば:

robocopy <元の場所> <Gladinetにてマウントしたドライブ\> /MIR /Z

SQL ServerとSQL Azureの同期

今回ご提供している無料オファーですと1GB / 1か月ですので、本番システムではあまり使えないかもしれませんが・・・宜しければ、という意味で。

http://msdn.microsoft.com/ja-jp/windowsazure/gg261724.aspx

このツールが便利です。SQL Azureは1DB 50GBまでですので、その範囲であれば、何個DBを作っても構いません。

http://sqlazuremw.codeplex.com/

今日時点では、v3.5.7 が動作します。zip解凍して、exeを起動するだけです。

こちら、日本語対応をしておりますので、ほぼウィザードに従って動作すると思います。

(以下、3月17日追記)

Windows のリモートからの停止

英語のドキュメントなのですが、Microsoft Translatorにて日本語にも翻訳できますので、是非ご参考にしてください。

http://social.technet.microsoft.com/wiki/contents/articles/windows-server-emergency-management-resources.aspx

 

こちらも参考になります。

http://technet.microsoft.com/ja-jp/library/cc770416.aspx

Windows Azure – Hello World

習うより慣れろ。
ということで、いよいよ “Hello World” から始めましょう。
ASP.NETのアプリケーションを稼働させます。それが一番楽ちんです。
1) ドキュメントの場所を覚えておきます。まずはこれ。困ったときの道案内です。
2) Visual Studio を起動し、「Cloud」 のプロジェクトテンプレートを選択します。
執筆時のWindows Azure のWeb Role / Worker Role は Windows Azure Guest OS 1.1 で.NET 3.5 しか標準搭載されていません。ですので、プロジェクトの.NET Frameworkのバージョンも、4.0がデフォルトですが、3.5に変更しておいてください。
image
3) 追加するRoleの種類を選択します。
Microsoft社員でありながら、Visual Basicを入れていない私を責めないでください・・・
  • 上3つが、Web RoleでのASP.NET。
  • 5つ目が、Wen RoleでのCGI (主にPHP)
  • 4つ目が、Worker Role。読んで字のごとし
名前もご自由に変えてください。
image
プロジェクトのファイルが生成されます
image
5) Hello World を表示させるコントロールを配置します。
余談ですが、昔VBからASPに技術移行をしようとしていた時、私は前職でメンバー向けにトレーニング、というか勉強会ですね。をしていたのですが、
「MessageBoxがないよ」
-> 単純に、ライブラリが違うのですが、ついていけないプログラマー・・・・
「Hello Worldの文字、出てこないよ」
-> println しかしらなく、コードの動いている場所を理解できなかった、プログラマー・・・
を同僚に持ち、その時の脱力感は1000%だったのを覚えています。と同時に、それぞれの人で、エンジニアと肩書はついて、経験もそれなりにあっても、伝え方を注意すべきなんだなぁと、学んだ瞬間でもあります。
と話が横道にそれましたが・・・
画面下にて、ASP.NET Formの編集モードを [Source] から [Design] に変更します。
image
[Toolbox] から [Label] をドラックアンドドロップして、置きます。
image
6) 実行コードを書きます。
Page_Load イベントに、以下の1行を書き込みます。
現在時刻も画面でみちゃいましょう。
Label1.Text = String.Format("Hello Azure. 現在時刻: {0}", DateTime.Now.ToLongTimeString());
7) ローカル実行。コードが最低限動く確認
F5を押して、ビルド->実行を行います。
ショートカットを覚えるのはプログラマーの常識(と勝手に思っています)。
コンパイルされ、[Windows Azure Simulation Environment] が起動し、その上に今作ったアプリケーションが配置され、ブラウザが起動します。
image
8) Azure 上にアップロード。まずは Publish
ここからが、これまでと異なる作業です。
稼働しているブラウザを終了します。
Azure用のプロジェクトを右クリックし、[Publish] をします。
image
そうしますと、Windows Explorer と、ブラウザーが立ち上がってきます。
image
  • ブラウザー: Windows Azure Platform デベロッパー・ポータルへのログイン。アップロード作業はデベロッパー・ポータルから行います。ツールから自動化もできます
  • Windows Explorer: コンパイルされ、アップロード可能な状態のファイルです。
    • Service Package file: 実行ファイルがはいったものです。ちなみに、zip圧縮パッケージなので、拡張子をzipにすると中が見えます。
      こんな感じ:
      image
    • Cloud Service Configuration file: XMLでモデル定義された、AzureのFablic Controller にモデル情報を伝えるための、所謂構成ファイル、です。
      image
9) デベロッパー・ポータルにて、サービス作成
とにもかくにも、デベロッパー・ポータルにサインインしてください。
成功すると、下の様な画面が表示されます。
image
ここに表示されている [Project] をクリックします。
私は2つ既存のプロジェクトがありますので、こんな表示になっていますが、[+ New Service] を選択します。
image
ここでは、Azure上でWeb Role と Worker Roleを動かしたいですので、[Hosted Services]を選択します。私は、後19個残っていますね。
image
名前を適当に決めていただいて、[Next]
image
画面上でDNSエントリを作成します。必ず [Check Avaiability] にて、ほかの人が使っていないことを確認してください。
image
そして、2つめが、データセンターの場所です。
Asiaがいいでしょうね。日本から一番ネットワークの距離が近いと思いますので。
image
そして、[Create]をします。
作成中になって・・・
image
出来ました!
あなたのサーバーですよ!!!
image
10) コンパイルしたファイルをアップロード
[Deploy] を押します。
ファイルのアップロード画面になります。
image
先ほどビルドされた:
Application Package = Service Package file
Configuration Setting = Cloud Service Configuration file
を指定します。
楽ちんなのは、Windows Explorerから、ファイルの場所をクリップボードにコピーしておくことです。
image
Service Deployment Name は適当に・・・
image
[Deploy] を押します。
ステータスバーが表示され、皆さんのアプリが、配置されます。
image
以下の画面になると、準備完了です。
ここで大事なのが [Stopped] となっている部分です。これが、「状態」をあらわします。
そして、もっと大事なこと。この瞬間から「課金」されます・・・まだ[Run]していないのに・・・画面上部のWARNING が正にそれ・・・
image
[Run]を潔く押してください。
準備がされて・・・
image
[Initializing] に状態が変わって・・・
image
こっから長いのです。待ってください。ひたすら。
ちなみに、一番右側に 「1」 と表示されていますね。これは、仮想サーバー1台、という意味です。
ちなみに、今この瞬間、私も待っているのですが(笑)、日によって待ち時間が多少変わります。これは、執筆時時点ですが・・・
はい。[Busy] に変わりました・・・まだです。
私もまだ待っています・・・
image
はい。まだ待っています・・・
来た!!!!
これで、準備できました。
[Web Site URL:] から先をクリックしてみてください。
image
上記アドレスは、2010年3月いっぱいまでは、置いておきます。
image
はい。動作しました!!!
おめでとうございます!
これであなたもCloud Developerの仲間入りです。
ちなみに、現在時刻は20:13分。
時間違いますよね。
Windows Azure上では、時間はUTCなんです。
こうした発見があるのも、私は「嬉しい」です。

Windows Azure Platform を利用するための前準備

Windows Azure Platform はオンラインで提供されるサービスです。
通常のマイクロソフト製品であれば、評価版を入手して、それをインストールすればご利用いただけました。
Azureの場合はそうはいきません。
インターネット越しに「契約行為」を行う必要があります。

1) Azure 利用の事務手続き

今日、2010年3月2日 時点でも無償でお試しをする手段が無いです。これは全世界から要望があがっていますので、今後、そのサービスが提供されることに期待しましょう。
ちなみに、Windows Azure Platform へのご要望ですが、なんと以下のサイトで受け付けております。英語ですが・・・

http://www.mygreatwindowsazureidea.com/forums/34192-windows-azure-feature-voting

私も数件投票をしております。

さて、実際の手続きですが、以下のサイトが参考になると思います。

MSDN Subscription をすでにお持ちの方向け:
<http://msdn.microsoft.com/ja-jp/azure/ee943806.aspx>

2010年1月のCTP時点のもの:
<http://blogs.itmedia.co.jp/isago/2010/01/azure-ae79.html>
画面が一部古い可能性がありますのでご注意ください。

実際には、クレジットカードを入れる場面が出てきたりします。
個人で利用するにしても不安がたっぷりかもしれません。私はそうでした。
請求書払いもある一定の条件次第で可能なようですので・・・

2) Azure 開発環境の整備

Windows Azure Platform は開発者様向けのプラットフォームでもあります。コードを書いて動かすわけですので、開発環境が必要になります。
マイクロソフトはコンパイラーから会社を興しただけあって、SDKについては対応が早く、Visual Studio に統合してご利用いただけます。

開発環境は無償のものだけでもご利用いただけます。

Windows Azure Tools for Microsoft Visual Studio に全てがあります。
今日時点は1.1というバージョンです。

System Requirements
  • Supported Operating Systems: Windows 7; Windows Server 2008; Windows Server 2008 R2; Windows Vista

Windows 7 をお持ちであれば、幾つかのHotfixを適用する必要はありませんが、上記ご注意いただければと思います。

インストール手順はこちらになります。

Instructions
  1. Upgrade Microsoft Visual Studio 2008 to Service Pack 1 OR Install the upcoming Microsoft Visual Studio 2010 RC OR Install Microsoft Visual Web Developer 2008 Express with SP1.
  2. Install SQL Server 2005 Express Edition (or above):
    Install as part of Visual Studio 2008 or Visual Web Developer 2008 Express Edition with SP1 OR Download and install.
  3. Enable IIS7 with ASP.NET and WCF HTTP Activation:
    Windows Vista

    1. From the Start menu, choose Settings | Control Panel | Programs | Programs and Features.
    2. Click Turn Windows Features On or Off.
    3. Under Microsoft .NET Framework 3.0, select Windows Communication Foundation HTTP Activation.
    4. Under Internet Information Services, expand World Wide Web Services, then Application Development Features, then select ASP.NET and CGI.
    5. Install the selected features.

Windows Server 2008

  1. From the Start menu, choose Programs | Administrative Tools | Server Manager.
  2. In Server Manager, under Features Summary, choose Add Features.
  3. In the Add Features dialog, under.NET Framework 3.0 Features, select the .NET Framework 3.0. Under WCF Activation, select HTTP Activation. Click the Next button to install.
  4. In Server Manager, under Roles Summary, verify that Web Server (IIS) appears in the list of available roles. If it does not, click Add Roles to install Internet Information Services.
  5. In Server Manager, under Roles Summary, click Web Server (IIS).
  6. In the Web Server (IIS) management window, click Add Role Services.
  7. In the Add Role Services dialog, expand Web Server, then Application Development, select ASP.NET and CGI and click the Next button to install.
  • Install the Windows Azure Tools for Microsoft Visual Studio 1.1 (February 2010) – VsCloudService.exe.
  • Install the Hotfix: Native Debugging Improvements (not required for Visual Studio 2010).
  • Install the Hotfix: Support for FastCGI on the Development Fabric (not required for Windows 7, or Windows Server 2008 SP2 or later).
  • Install the Hotfix: Improve Visual Studio Stability (not required for Windows 7).
  • Install the Hotfix: Correct WCF metadata when hosting behind a load balancer (Windows 7).
    1. Install hotfix.
    2. Add useRequestHeaderForMetadataAddress to configuration file to enable Hotfix.
  • ここまでできると後1つ。
    Windows Vista 以降のLonghorn KernelのOSをお使いの場合は、管理者権限でVisual Studio を起動させる必要があります。
    一番簡単な方法は、起動時に確実に管理者権限で起動させることです。

    スタートメニューの Visual Studio を右クリックして、[プロパティ]を選択します。

    image

    [互換性] タグがありますので、[管理者としてこのプログラムを実行する] をチェックします。

    image

    これでOKです。

    番外編を。
    Windows 7などで、Visual Studio 2010だけインストールしている場合、SDKのインストール時に以下の警告が出る場合があります。
    image
    この場合ですが、OSの機能の追加と削除で、いったん.NET Framework 3.5.1 をアンインストール –> 再起動 –> インストール –> 再起動をしてみてください。
    公式手順ではないので、ご注意を・・・
    image

    3) Smoke Test

    “Smoke Test” とはただのテストなんですが、意図しているレベルまで動いているかを確認するときに、とある組織で使われていた用語です。動いているかのテストを行わず、インストールして、リブートして、はいOKでは、あまりにもお粗末ですので・・・

    Visual Studio を起動します。
    プロジェクトの作成で [Cloud] を選択します。
    image

    テンプレート選択の画面になりますので、なんでもいいのですが、ここでは[ASP.NET Web Role] を選択します。
    image
    通常のASP.NET プロジェクトと異なり[Solution Explorer]に、Azure用のプロジェクトが追加されていることが確認できると思います。

    image

    そのまま「F5」キーにて実行します。

    私の環境はすでに何度もやっているので表示されませんが、Azure のエミュレーション環境が最初は構築されます。
    タスクバーにご注目ください。
    image

    何もしていませんので、真っ白なブラウザのページが起動していると思います。

    これでOKです。

    次回以降は少しずつ、コードを書きます。

    Windows Azure で何ができるか?

    Windows Azure Platform の中核といってもいいのが、Windows Azure です。
    下図の通り、2つのサービスを利用できます。

    image

    「コンピューティング」環境の実体は、Hyper-V上で動作しているWindows Server 2008 の仮想OSになります。
    その具体的な仕様に関しては、MSDN Libraryにて公開されております。現在はVersion 1.1ですね。

    Windows Server 2008 に.NET/PHPが標準で構成されていて、追加でJava Runtime などもインストールできます。
    <http://msdn.microsoft.com/ja-jp/azure/default.aspx>

    クラウドを理解する上で大事なことなのですが、OSを直接触るアプリケーションの割合は低くなってきている今、見るべき点はアプリケーションのランタイムだと思います。つまり、.NETが動く。PHPが動く。Javaが動く。こちらが大事です。

    さて、用意されているOSですが、以下の2種類に分かれます。

    • Webロール: IISが最初から入っている
    • Workerロール: IISが入っていない

    この違いなんですが、サーバーです。サーバーですので、Web、RDBMS、Fileなどいくつか役割、つまりRoleがありますよね。
    Windows Azureはそのサーバーをホスティングするという前提で、任意のポートを開けて通信ができます。
    実際にそのサーバーがそのポートを勿論開けているわけではなく、それはFirewallなどの待ち受けポートであり、皆さんの仮想OSで空いているポートは動的に決定されています。

    image

    極端な話をすると、Workerロールを、メールサーバーにできます。Oracleインストールできます。やるかどうかは別ですが・・・

    そして、ストレージです。
    これは、RESTでどこからでもアクセスできるものです。現時点で、1アカウントで100TB。1契約で5アカウント使えますので・・・という巨大なストレージサービスになります。

    image

    • Table: Kye-Value ストアといわれる形式のものです。RDBMSのテーブルと異なり、単一表しか存在していませんので、JOINや集計処理ができません
    • Blob: ファイルサーバーみたいなものですね
    • Queue: メッセージングの仕組み
    • Drive: ファイルシステムAPI的にアクセスできるものです

    次回以降で、Hello World を作っていきながら、これらの中身をみていきます。

    開発者用のドキュメントはMSDN Library で。