Webアプリを創る

Windows 自宅サーバーを運用して 1年が過ぎました。

2010年11月19日

Atom + Windows 7 professional で自宅サーバーの運用を初めて 1 年が経過しました。現在のマシンは ATOM D510(詳細のスペックは、過去のブログに記載)ですが、夏場は設置している部屋が夕方に猛烈に暑くなるので熱暴走とかしないかと心配していました。涼しくなってからは発熱は少なくファンレスでも大丈夫な感じになっています。この1 年間でサーバーがダウンしていたのは約6時間ぐらいで、停電によってマシンが1回停止しました。UPS(無停電電源装置)は 1万円ぐらいで購入できるので安全のため設置したほうがいいようです。パフォーマンスはどうかというと、Google ウェブマスターツールの「サイトのパフォーマンス」では以下の図のような状況で、読み込み時間が 3 秒以内となっており、通常の使用では十分な状況だと思っています。サイトへのアクセス状況については、5月にやっと 100 ビジット/日を超えましたが、現在は、約 400 ビジット/日まで増加させることができています。

image

このサイトは、現在 ActiveWeb の共用サーバーで運用していますが、今後 ASP.NET 4.0 で MVC を本格的に利用したいので自宅サーバーの方に移転させようと思っています。自宅サーバーは、アップロードの時間が早いこと、最新のツールを自由にインストールできること、メモリやディスクに余裕があることが大きなメリットだと思っています。このサイトを移転すると、自宅サーバーの方は、もう少しアクセスが増加するようになると、Windows 7 の同時接続数20台の制限を超えるようになると思います。その時には、誰もアクセスしてくれなかった時期からここまでサイトが成長したということで Windows Web Server を喜んで購入しようと思っています。

Windows Azure の新機能

2010年11月3日

Umbraco を Windows Azure で動作させるためのソフトウェア Umbraco Azure Solution Accelerator が公開されたということで、久しぶりに Windows Azure のページをみていると、10月末に開催された Microsoft PDC10 で Windows Azure の新機能 VM Role と Extra Small Instance の提供が発表されていました。Windows AzureWindows Azure Compute のページに新機能の説明があったので概要と自分の感想をメモしました。この二つの機能については、年内に ベーター版が公開される予定だそうです。

VM Role の提供

VM(Virtual Machine) Role というのは、Windows Azure 上で Windows Server 2008 R2 仮想マシンのイメージ – 仮想ハードディスク(VHD)を動作させるものです。これって、どうみても Amazon EC2 の Windows Server のサービスと同様のものです。Windows Azure が Amzon EC2 とガチンコ勝負をするのではないかという人もいると思うのですが、Amazon EC2 のサービスで Windows と Linux との差額は Microsoft の収入になっていると思うので、Amazon EC2 は競合相手ではあるものの一方では有力なお得意様だとおもうのです。私自身は VM Role を提供するようになった一番の理由は、既存の資産を変更することなく Cloud に移行したいというのがユーザーの本音だし、現状では Amazon EC2 と Windows Azure を比較すると自由度の点では EC2 が明らかに優れているので、ユーザー層の拡大のために Microsoft が新たに VM Role を提供することにしたのだと思っています。

Extra Small Instance の提供

小規模なアプリケーションを構築して動作させる開発者向けのインスタンスである Extra Small が提供される予定になっています。Extra Small という名前から判断して Amazon EC2 の Micro インスタンスと同等で EC2 の $0.03 と比べて高いのではないかという人がいると思うのですが、私はよく考えたスペックで出してきたと思っています。Extra Small のスペックは以下のようになっており、

CPU 1.0 GHz
Memory 768 MB
Instance Storage 20GB
I/O Performance Low
Cost per hour $0.05(1ヶ月で 36.5$)

EC2 Micro instance と競合するのではなく、開発者向けの EC2 small instance といったところだと思います。Amazon EC2 の場合は、1ECU が 1.0-1.2 GHz 2007 Opteron または 2007 Xeon processor であり、EC2 small の場合、CPU が 1ECU なので、Azure Extra Small の CPU 1.0 GHzは EC2 small とほぼ同等です。一方メモリは、EC2 small の 1.7GB に対して半分以下なのですが、Windows Azure では、SQL Azure が容量 1GB を1ヶ月 10$ で使用できるので、Azure Extra Small にアプリケーションだけをインストールしデータベースは SQL Azure を利用すれば、 EC2 Small にアプリケーションと SQL Server Express をインストールした場合と比較して、データベースが結構 CPU とメモリを食うので、性能的にいい勝負になると思います。また、開発段階だとデータ量が少なくストレージの容量が少なくても問題がないので、開発者が1ヶ月のコスト $46.5 +α (従量課金)で EC2 small と同等のものが利用できるということです。公開されたらテストをしてみたいと思っています。

Orchard CMS 0.8 が公開されています

2010年10月28日

Orchard 0.8 が 10 月 25 日に公開(Codeplex のダウンロードのページ、Web PI によるインストールの説明はこちら)されています。Orchard 0.8 はベーター版で、サイトを構築するのに必要な基本機能を提供しており、新規サイトの開発作業に利用できる段階に入りました。テーマエンジンには、ASP.NET MVC の新ビュー・エンジンでコンパクトな記述ができ簡単に習得ができる Razor を使用しています。標準で添付されているテーマは、The Theme Machine で、20 のウィジェットを配置できるゾーンがあります。動作環境は、ASP.NET MVC 3 Beta でデータベースは、SQL Server 及び SQL Server Compact 4.0 に対応しています。

使ってみると素直で好感の持てる作りです。Umbraco のような機能面での面白さには欠けますが、操作はわかりやすくどちらかというと一般ユーザー向けで、例えば Windows Live での Web サイト作成ツールとして使うのには向いているように思いました。オーソドックスな作りなので ASP.NET MVC の学習用に使うのもいいのではないかと思います。

image

2011年は IPv6 元年 – IPv4 のアドレス枯渇について

2010年10月23日

今週、IPv4アドレスのIANAの在庫が5%を切ったというニュースが流れたので、IPv4 のアドレス枯渇の問題を少し調べてみました。IPv4 アドレスについては、IANA が IPv4アドレス空間の全体を256個に分割して、分割した一つを「/8ブロック」と称して(1つのブロックで約 1,677万アドレス)管理しており、各地域インターネットレジストリ (RIR)で不足になれば払い出しをしています。最近の払い出しの状況は、以下のようになっており、アジア・太平洋地域を管轄する APNIC への払い出しが 2007 年以降に急増しています。APNIC は地域内に、人口が多く経済発展が著しい、中国、インドが含まれているため、IP アドレスの使用が急増しているというのも理解できるところです。現時点での在庫残が 12 ブロックで、残が 5 になると各 RIR に一つずつ払い出しをするということなので、実質の残は 7 で、2011 年の第2四半期には、IANA の在庫が枯渇してしまいます。また、APNIC での枯渇は、2012年第1四半期の見込みです。

2005 2006 2007 2008 2009 2010
払出数 11 10 13 9 8 19
内APNIC 3 3 7 6 4 8
在庫残数 67 57 43 34 26 7

IANA IPv4 Address Space Registry による(2010年は10/17現在 12/4現在に修正)

今後の対応策としては、割り当て済みの IP アドレスの回収等の延命策には限界があり、根本的な解決策としては IPv6 への移行ということになります。特に日本が加入している APNIC では、もともとの割当数が少ないうえに利用が急増していることから最初に IPv4 が不足するリージョンの一つとなると考えられます。

IPv6 への対応はどうなっているかというと、OS は対応済で、一番遅れているのが家庭用のブロードバンドルータだということです。IPv6 家庭用ルータガイドラインの2版でも、まだ未検討項目がたくさんあります。東西NTTのNGNサービスのIPv6 対応が2011年4月から開始されるので、その頃には各 ISP 事業者の具体的な接続方式も決まり IPv6 に対応したブロードバンドルータも出そろうのではないかと思います。

10 年ぐらい前に政府が音頭を取って IPv6 が騒がれた時期がありましたが、結局のところは、IPv4 が枯渇したから移行せざるをえないというのが実態だと思います。IPv4 か IPv6 かは、一般のユーザーにとっては、内部的な問題なのでどちらでもいい問題で、円滑に移行さえできればいいと思います。ただ、自分のように自宅サーバーを立てている場合には、どのように移行していくのか注目をしている必要があります。また、IPv6 によって飛躍的に増大するアドレスの活用を考えていきたいと思っています。

参考ページ

NRO(Number Resource Organization)

IANA(Internet Assigned Numbers Authority)

日本ネットワークインフォメーションセンター

IPv4アドレス枯渇対応タスクフォース

最後に、株式会社インテックシステム研究所が、ブログパーツ「IPv4枯渇時計」を作成しているので参考に貼っておきます。

(2010/12/4 追加) IANA の在庫は、実質2になっており早ければ年内にも枯渇する可能性があります。IPv4枯渇時計でも X-day が3月3日とどんどん近くなってきています。

ActiveWeb の ASP.NET アプリケーションでエラーが発生

2010年10月17日

最近このサイトでエラーがよく発生するようになったので、customErrors mode を Off にすると、以下の図のように Validation of viewstate MAC failed というエラーが発生していました。

activeweb11

このエラーは、以前に紹介した ExpressWeb の注意!と同じで、ActiveWeb も Webファームに移行したようです。

対策については、ルートディレクトリのweb.config ファイルに、<machineKey>タグを以下のように <system.web> タグ内に記述してやります。なお、<machineKey>タグは、http://aspnetresources.com/tools/keycreator.aspx で作成することができます。

<system.web>

<machineKey validationKey="xxxx" decryptionKey="xxxx" validation="SHA1" decryption="AES" />
</system.web>

※補足
ExpressWeb の注意!でもう一つの system.weServer セクションの handlers セクションが削除される問題についても改善できてません。日本の Windows の共用サーバーの利用者が少数なのでというあたりがあるのかなと思います。