14
初心者がハマったWindows Azure の基礎の基礎 安東沙織

初心者がハマったWindows Azureの基礎の基礎

Embed Size (px)

Citation preview

Page 1: 初心者がハマったWindows Azureの基礎の基礎

初心者がハマったWindows Azure の基礎の基礎

安東沙織

Page 2: 初心者がハマったWindows Azureの基礎の基礎

自己紹介

安東沙織(あんどうさおり) sao_a

神奈川県横浜市在住

入社2年目

学生時代は6年間Java(とJavaScript)でWebゕプリ作成、ウゖルス解析を主に実施。 なので、.NET歴は相当浅いです。

2009年秋ごろに突然「今日からWindows Azure Platformが業務です」と言い渡され、Azureの存在を初めて知る。

Page 3: 初心者がハマったWindows Azureの基礎の基礎

Windows Azure Platformといえば…

従来の開発手法との親和性が高い

既存の.NETゕプリがあまり手を加えずに動く

他のPublic Cloudと比較して対応言語が多い

独自技術のところはTraining Kitなどを提供

…と開発者を手厚くフォローしてくれている感は

非常にあるのですが、、、

すぐ壁にぶつかるし、意外とハマるんです。

Page 4: 初心者がハマったWindows Azureの基礎の基礎

Windows Azure Platformでハマったところ SQL

Server2008Expressじゃないとデフォルトは動いてくれない。

認証付きProxy環境だとService

Busがはじかれる。

認証付きProxyだとデプロ出来な

パッケージフゔルが重すぎるとデプロに失敗し

がち。

PowerShellで作った証明書をVSが認識してくれない。

Dr. Watsonが突然現れ

Intellitraceを使ったデバッグは課金を圧迫する。

Development Fabricと

Production環境で挙動が違う!

IISが上位互換してない!

GUIベースでテーブル編集ができない

Training Kitがそのままやっても動かない!

Page 5: 初心者がハマったWindows Azureの基礎の基礎

Windows Azure Platformでハマったところ SQL

Server2008Expressじゃないとデフォルトは動いてくれない。

認証付きProxy環境だとService

Busがはじかれる。

認証付きProxyだとデプロ出来な

パッケージフゔルが重すぎるとデプロに失敗し

がち。

PowerShellで作った証明書をVSが認識してくれない。

Dr. Watsonが突然現れ

Intellitraceを使ったデバッグは課金を圧迫する。

Development Fabricと

Production環境で挙動が違う!

IISが上位互換してない!

GUIベースでテーブル編集ができない

Training Kitがそのままやっても動かない!

Page 6: 初心者がハマったWindows Azureの基礎の基礎

Training Kitが動かない

時期によってSDKのバージョンが違うので、 APIの仕様が変わっている。 #しかも結構重要なとこが、ゕッサリ変更されていることも多々。

現在公開されているWindows Azure Platform Training Kit(6月公開版)-Dallasの場合

AccountKeyとUniqueUserIDがない

Training Kit(6月公開版) 現在(2010/08/25時点)

Page 7: 初心者がハマったWindows Azureの基礎の基礎

Training Kitが動かない

各サービスのTeam Blogに頼る 今回の問題もバッチリ書いてありました!

http://blogs.msdn.com/b/dallas/archive/2010/08/11/migrating-your-application-from-ctp2-to-ctp3.aspx

CTP3からはAccountKeyはポータルページにあるAccount Keyを使ってね!UniqueUserIDは使

わなくなったよ!

Page 8: 初心者がハマったWindows Azureの基礎の基礎

Development Fabricと本番環境の挙動に差異がある

Azure Driveを用いたゕプリを作成。 Development Fabricでは快調に動くも、 本番環境にデプロして何回か遊んでいると、 “PageBlob already exists.”というエラーが発生!

PageBlob作成時に、 DeleteIfExists()でとりあえず消してから、 再作成してもエラーが発生。。。

Page 9: 初心者がハマったWindows Azureの基礎の基礎

Development Fabricと本番環境の挙動に差異がある

先人の方々のお知恵に頼る 今回の問題もバッチリ書いてありました!

http://tatsuakisakai.net/?p=64

作成済みのドラブを再マウントするにはどうやって・・・?

Page 10: 初心者がハマったWindows Azureの基礎の基礎

Development Fabricと本番環境の挙動に差異がある

先人の方々のお知恵に頼る2 今回の問題もバッチリ書いてありました!

Windows Azure実践クラウド・プログラミングfor C#/Visual Basic/PHP

サンプルプログラムも ダウンロードできて、 手元で動かしながら、 確認できたので非常に 分かりやすかったです!

Page 11: 初心者がハマったWindows Azureの基礎の基礎

IISが上位互換してない

オンプレミスのIIS 7で実行していた WebゕプリケーションをWindows Azure用に移植。

HTTPハンドラとHTTPモジュールが実行していないことが発覚。 もしやWindows Azure環境だと独自モジュールが使えない、とか?とンド人の方々と悩むこと数日間。

Page 12: 初心者がハマったWindows Azureの基礎の基礎

IISが上位互換してない

msdnのフォーラムに頼る http://social.msdn.microsoft.com/forums/en-US/windowsazure/

http://social.msdn.microsoft.com/Forums/ja-JP/windowsazureja/

今回の問題もバッチリ書いてありました!

http://social.msdn.microsoft.com/Forums/en-US/windowsazure/thread/91624625-9431-446f-97b9-047954bb9e83/

HTTPハンドラや HTTPモジュールは、

web.config内の

<system.webServer> 以下に宣言する必要があるよ! →IIS7は統合モードで実行中

Page 13: 初心者がハマったWindows Azureの基礎の基礎

まとめ

初心者がハマるところはどなたかが、 どこかでフォローはしてくださっている。 その「どこ」を探すのに、いまだに割と苦労する。

各サービスのTeam Blog

名人の方々の軌跡

msdnのフォーラム

今回のJapan Windows Azure User Group発足で 初心者向け情報もカバーされることを期待しています!

Page 14: 初心者がハマったWindows Azureの基礎の基礎

ご清聴ありがとうございました!