Direct Access 環境の作成手順書

ただいま Direct Access のテンポラリの検証環境を作成しております。 Direct Access をご存知ない方のために簡単に説明すると、Windows Server 2008 R2 と、Windows 7 の組み合わせで使用できるリモートアクセスの機能です。 今までの RAS の仕組みとなにが違うかというと、通信を IPv6 で行い IPSec トンネリングを使用して通信を行うため VPN を使用する必要がありません。 あと、ダイレクトに目的のネットワークにログイン処理を行うので、インターネット越しにアクセスしてきたクライアントに対し、グループポリシーなども適用することが可能です。 なお、Direst Access の詳細については、以下のページをご参照いただければと思います。  http://technet.microsoft.com/ja-jp/windows/dd572177.aspx (Web キャスト)  さて、この Direct Access、関連のオンラインドキュメントを参考に環境を作成し始めたのですが、途中で Step By Step Guide と呼ばれる、検証環境の作成手順書があることを知りました。 途中まで作成してしまった環境をどうしようか、と迷ったのですが、とりあえず イチから Step By Step Guide で環境を作成しなおすみことにしました。 現在、作業の半ばまで来ていますが、やはり、最初から環境を作り直して正解だったと痛感しております。 やはり、Direct Access は複数の技術の集合だけあって、設定箇所も多く、手順もかなり複雑です。 とくに、証明書の設定箇所が多く、じっくり考えながら手順を追わないと理屈が理解できません。(※当然のことながら、手順を理解しながら行わないと、途中でエラーが発生した際に修正できません) そんなわけで、これから Direct Access の環境を作成するという方は、とりあえず一度、以下の Step By Step Guide…


IISで、ホストヘッダーによるバーチャルドメインでSSLを使用するには?

ちょっと前にお客様からいただいた質問で以下のようなものがありました。 IIS7.0 で ホストヘッダーを使用したバーチャルドメインの運用を https で対応は可能か? Windows 2003 までは未対応だったが、Windows 2008 R2 ではどうか? はい。可能です。しかし、厳密にいうと仕組み上できません。 なにを言ってるんだ? と思われるかもしれませんが、この問題はそう単純ではありません。 バーチャルドメインと呼ばる、一つの IP アドレスで複数のホスト名のサービスを提供する方法として、HTTP 1.1 で使用されているのがホストヘッダーを利用するものです。 この方法では、Web サーバーは、クライアントからの HTTP リクエスト内の "Host:" フィールドに記載されているホスト名をもとに Web サイトを判定し、レスポンスを切り替えます。 しかし、HTTPS で通信を行う場合、Web サーバーは SSL 通信を開始するにあたり、まず 最初にサーバー証明書をクライアントへ送ります。 そのため、その後クライアントから送られる HTTP リクエスト中に、別のホスト名が書いてあったとしても、すで遅く、別のホスト名での証明書が発行されているため"証明書とホスト名が一致しない" という旨の警告がブラウザに表示されます。 このような動作につき、標準的な Web サーバーで、"ホストヘッダー だけ" を使用して HTTPS の バーチャルドメインの運用はできません。 しかし、現在においては、 RFC 3546 に記載されている、Transport Layer Security (TLS) Extensions という仕様を使用して(しゃれではありません:-)…


IIS7.5 で PHP を使用する方法

先日、同僚が IIS7.5 (Windows 7) への PHP 5.3  のインストールがうまくいかない、とのことでお手伝いしました。 同僚は php.net からダウンロードした msi を使用してインストールを行っていたのですが、なんと、最近の PHP インストーラーには IIS 用の Fast CGI の設定が含まれているのですね。IIS 用のインストーラーで設定可能なのは ISAPI と、ふつーの CGI だけだと思っていたのですが、時代は進んでいるようです。 インストーラーの終了後、念のために IIS の設定を確認すると、正しくハンドラーマッピングの設定がされておりました。 PHP のランタイムのインストール場所は、同僚が変更していたので、デフォルトでどこになるかは不明ですが、セットアップ後に PHP ランタイムがコピーされたフォルダのアクセス権を確認すると、ワーカープロセスが使用するアカウントへのアクセス権は設定されていないので、これは別途手動で行う必要がありそうです。 さて、IIS7.5 では、このアクセス権の設定にコツがあります、というか、注意すべき点があります。 それはアプリケーションプールの動作アカウントです。 IIS7. 5 ではアプリケーションプールの既定の動作アカウントを ApplicationPoolIdentity という特殊なアカウントが使用されます。 この ApplicationPoolIdentity は仮想アカウントであり、アプリケーションが動作する際には、そのアプリケーションプールと同じ名前のアカウントが生成されて、そのアカウントを使用してアプリケーションプールが動作します。 たとえば、アプリケーションプールの名前が DefaultAppPool の場合は、DefaultAppPool という名前のアカウントで動作します。これは、複数のアプリケーションプールのプロセスが、同じ名前のアカウントで動作するセキュリティ的なリスクへの対応を強化するためのものです。   しかし、これらはあくまでも仮想アカウントであるため、ディスクやデータベースへのアクセス権の設定には、まだ(2009 年 10 月現在) 使用することができません。 よって、これらのリソースにアプリケーションプールの動作アカウントでアクセスする必要がある場合には、従来の NetworkService アカウントを使用するなどの工夫が必要になります。 今回の PHP のインストールでは、個別に…

1

IISUG イベントに登壇しました。

イベントのお知らせを終了後に行うのもなんだかなー、という感じなのですが(私の不徳のいたすところです、はい。どおもすみません)、土曜日(9/5) に IISUG さんの以下イベントでセッションに登壇してまいりました。 タイトル: 『 見る、知る、使う、IIS7 (IISUGユーザーミーティング #01)』 日時: 2009年9月5日 (土曜日) 13:30 – 17:00付開 (受始 13:00) 場所: マイクロソフト株式会社 新宿オフィス5F セミナールーム http://iis.itadmin.jp/news-and-events/event-20090905.aspx?rss_fdn=MSDNTopNewInfo 主催 : IISUG (http://iis.itadmin.jp/home.aspx) 担当セッション: 『IIS7 での Web サイト共有サービス構築』 セッション概要 : IIS7では構成のモジュール化をはじめ多くの機能追加が行われました。今回のセッションでは、この IIS の豊富な機能と、その母体である Windows Server の機能を組み合わせ、Windows の標準機能のみでどのようにして、Web サイトの共有サービスを構築するかについて考察します。 イベントに参加してくださった皆さん、ありがとうございました。 参加者がイベントを作り上げているという雰囲気が非常に良くて、こういったイベントがもっと増えていけばいいのになと思いました。 また参加させてください。 さて、セッションで使用したスライドを SkyDrive にアップしました。Tech Ed 2009 後に急いで作成したので、けっこうな "あらびき" 感がありますがご容赦を。 そういえば Tech Ed…


[IIS7].NET ユーザー作成時に"SQL Server のユーザーインスタンスを生成できませんでした" エラーの回避方法

Thech Ed 2009 にむけて、セッションで使用するデモ環境を作成しております。 本日、IIS7 サイトに .NET フォーム認証を適用すべく IIS 管理ツールから ".NET ユーザー" の作成を行おうとしたところ以下のエラーが発生。。 ユーザーインスタンスのプロセス起動中のエラーにより、SQL Server のユーザー インスタンスを生成できませんでした。接続は閉じられます。 原因と対処策はすでに分かっているのですが、以前それを知るまで大変苦しんだので、ここに載せておこうとおもいます。 回避策の前に、問題の発生した環境を簡単に紹介。 環境 OS Windows 7 (64 bit) Visual Studio 2008 SQL Server 2005 Express を削除して 2008 Express Edition をインストール アカウント  administrator キモとなるのは "SQL Server 2005 Express を削除して、SQL Server 2008 Express Edition" をインストールしたというところです。 他のバージョンとエディションがどうなのか検証していないのでわかりませんが、この SQL Server 2005 Express…


現実化するクラウド

前回のポストからずいぶんと時間がたってしまいました。 ただサボっていたわけではありません、今後 IIS TechCenter で公開予定の IIS.NET のコンテンツ(※1)の和訳の検証をしていたり、Tech・Ed09 用のデモ(※2)を作成したりと、真面目に働いでおりました(汗) (※1) IIS.NET で公開されている管理用ドキュメントから選りすぐったものを翻訳し、近日 IIS TechCenter にて公開予定です。一般の書籍に負けない非常に濃くて有用な情報が満載ですのでご期待ください。(※2) .NET を使用して IIS の機能を拡張する方法についてお話しさせていただきます。リクエスト、レスポンスのハンドリングはもちろんのこと、IIS 管理ツールの拡張方法、Hostable WebCore 等についてもご紹介 & サンプルの提供を行う予定です。 さて、私、普段の業務では、ホスティング事業者様にお邪魔して弊社テクノロジーのご紹介などをさせていただいてるわけなのですが、最近話題の上ることが多いのが “クラウド” の構築についてです。 Hyper-V と SystemCenter の組み合わせにより柔軟なリソース提供の基盤が作成可能とあり、ある程度規模が大きく、先進性のあるパートナー企業様の多くが検討されているようです。 しかし、そのほとんどが現在のステータスが”検討中”(あるいは検証中) であるにも関わらず、先日 IDC フロンティア様がクラウド型システム開発基盤の提供を開始しました。  IDCフロンティア 日本版クラウド型システム開発基盤を提供開始!   http://www.idcf.jp/pressrelease/2009/20090623001.html 以下のページでシステム構成をみることができるのですが、内容を見ると我々が普段セッションや、お客様先でお話しさせていただいてる構成が見事に実現されています。   NOHA プラットフォームサービス  http://www.idcf.jp/services/hosting/noah_p/platform.html いよいよ、クラウドサービスというものが本格的に現実化し、広まっていくような予感がします。 さて、その IDCフロンティア様主催のセミナーが、7 月 22 日 水曜日に弊社関西支店にて開催されます。 実際にクラウド型サービスを構築した方々の話しを聞けるというのは、現段階ではなかなか無いチャンスかと思いますので、今後 Windows Server を使用してクラウドライクなシステムの構築を考えられている方は参加をお勧めいたします。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━▼ 7/ 22 (水) 日本版クラウド型システム開発基盤活用セミナー  ~ Hyper-V…


IIS 7 で自由な認証画面を

先日、日本独自の IIS 技術ポータル 『IIS TechCenter』 が公開されました。 『IIS TechCenter』http://technet.microsoft.com/ja-jp/iis/default.aspx だからというわけでもないのですが、以前所属していたチームブログに書いていた IIS 関連の記事で、資料性のあるものを再投稿していこうと思います。 第一弾としては、IIS 7 上の Web サイトに ASP.NET のフォーム認証を適用する方法についてです。 さて、ASP.NETフォーム 認証ってなに? という方もいると思うので簡単に説明しておきましょう。 ASP.NET フォーム認証とは、ASP.NET アプリケーションにそれ独自の認証処理を実装するための仕組みです。  この ASP.NET 認証は、アプリケーション ( 仮想ディレクトリ または Web サイト) 単位でアカウントベースを持たさせることが可能であるため、コンピューターや Windows ドメイン上にいちいちユーザーアカウントを作る必要もなく、また、ログオン画面なども自由に作成できるという、非常に小回りがきいて便利なものでした。 しかし、惜しむらくは、前バージョンの IIS では、ASP.NET フォーム 認証によるアクセス制御は ASP.NET が管理するファイル (拡張子が aspx とか ascx とか ashx とか) にしか有効ではありませんでした。 つまり、ASP.NET アプリケーションに ASP.NET フォーム認証を適用しても、アプリケーション内の ASP.NET で管理されないファイル …


なぜか MDT 2010

最近外出ばかりしているので、ブログを更新する暇がとんとありません。 外出してなにをしているかというと、パートナー企業様にお邪魔して、Windows Server 2008 R2 の新機能がいかに素晴らしく、ビジネスの可能性を広げてくれるかを熱く語っております。 こういう優秀なプロダクトだと、胸を張ってお客様にご紹介できるので非常に助かりますね(自画自賛)。 また、ご使用いただいているお客様の評判も上々なので、外回りにも力が入ります。 ちなみに私のミッションはなにかというと、IIS の普及であり、このブログに書いているような ASP.NET にはあんまり関係なかったりします。(でもタイトルは Developer Evangelist 。なぜ??)   さて、昨日訪問したお客様から、Windows Server 2008 R2 の Windows 展開サービスの新機能についてご質問をいただき、この流れで MDT (Microsoft Deployment Toolkit) 2010 について調べたので書いておきます。 MDT 2010 は既に Beta 1 が公開されており、以下のサイトからダウンロードして入手することができます。 Microsoft Connect -『Microsoft Deployment Connection』(※アクセスするには Windows Live ID による登録が必要です) https://connect.microsoft.com/content/content.aspx?ContentID=10790&SiteID=14   なお、Microsoft Deployment Toolkit 2010 Bata 1 の新機能と変更点は以下のとおりです。 MDT 2010 Bata1 の新機能…

1

ASP.NET MVC 1.0 が RTM されました

今日は暖かかったですね。 業務でお客様を訪問していたのですが、昼ごろに電車に乗ったら冷房がついていたのが印象的でした。 さて、その電車で移動中に、携帯電話(Windows モバイル機) で会社のメールをチェックしていたら、"ASP.NET MVC 1.0 RTM" の文字が。。 "This morning the ASP.NET MVC 1.0 RTM was announced during Scott Guthrie’s keynote at MIX09. " だそうです。 ちなみに MIX09 のキーノートは以下のページで見ることができます。 http://www.microsoft.com/presspass/events/mix/ さっそく http://www.asp.net/mvc/ にアクセスしたら、"RC" の文字の取れた Bits がダウンロード可能となっていました。 『ASP.NET MVC 1.0』 http://www.microsoft.com/downloads/details.aspx?FamilyID=53289097-73ce-43bf-b6a6-35e00103cb4b&displaylang=en Readme の内容を確認しましたが、RC2 からほとんど変更点は無いですね。目次を抜いたページ数が 5 ページしかありません。 『ASP.NET MVC – 1.0 Release Notes.doc』 http://go.microsoft.com/fwlink/?LinkId=144187 まもなくトレーニングキットが公開される予定らしいですが、正式に決まったらまたここに書こうと思います。  


vhd をドライブとしてマウントするには?

私、職種としてはデベロッパーエバンジェリストのはずなのですが、なぜか普段の業務では ASP.NET よりも Windows Server、IIS の話をすることが多いです。(というかほとんどそればかり話しています。) そんなわけで、私の二台あるノート PC の一台には Windows Server 2008 (64bit) がインストールしてあり、その Hyper-V 上ではいくつかの OS が動作するようになっています。 この Hyper-V は、仮想化された OS でも物理マシンにインストールされているのとほとんど変わらないパフォーマンスで動作するので非常に重宝していますが、少々不便を感じていることがありました。 それは、あたりまえのことなのですが、仮想マシンが動作していないと、仮想マシンにディスクにアクセスできないということです。 ちょっとしたファイルをコピーする場合でも、いちいち仮想マシンを起動する必要があり、また、他の仮想マシンが動作していると物理的なリソースの関係で起動できないこともありました。 そんなときにちょうど "vhd もドライブとしてマウントできる" ツールを発見。 Gizumo Dive http://arainia.com/software/gizmo/overview.php?nID=4 早速 Web サイトにアクセスしてみると、64 bit OS にも対応しているということで期待してインストールしてみましたが、私の Windows Server 2008 R2 (64 bit) 環境ではドライバがンストールされず動作しませんでした。 しかし人間というものは不思議なもので、期待したことが出来ないとなると"なんとかしてやろう"、という気になるもので、MSDN ライブラリの中から API を探し出してツールを作成してみました、 作成したと言っても前出ツールのような独自のドライバーを持った高等なものではなくて、Hyper-V のサービスが持っている Virtualization WMI Class の…

1