次の方法で共有


Amazon EC2: Microsoft Web Platform イメージ - Full Web Server Development Stack

作成者: Thomas Deml

はじめに

概要 Visual Studio 2010 を使用すると、Web 開発者は既存のスキルセットを使用して、Microsoft Web プラットフォーム用の優れたアプリケーションを作成できます。 しかし、Web 開発者や管理者、特に Web サイトの設計とコンサルティング サービスを提供するユーザーから多く寄せられる要望の 1 つは、Web サイトをすばやく稼働させ、サーバーを完全に制御して柔軟性とスケーラビリティを最大限に高めたいという要望です。 本日の投稿では、Amazon EC2 で最新の Microsoft Web Server Development Stack を実行する方法に関する簡単なチュートリアルを提供します。 Full Web Server Development Stack イメージは、完全に構成された IIS 7.0 以上の Web サーバーであり、Visual Studio 2010 からこの EC2 インスタンスに Web アプリケーションを直接デプロイできます。

以下に、必要な手順の簡単な概要を示します。

  1. Amazon EC2 にサインアップする
  2. アマゾン ウェブ サービス マネジメント コンソールを使用して、"Microsoft Web Platform - Full Web Server Development Stack" インスタンスを起動する
  3. 管理者パスワードを取得する
  4. Visual Studio 2010 から EC2 インスタンスに ASP.NET 4.0 アプリケーションを作成してデプロイする。
  5. ライブ Web アプリケーションを参照する

1.Amazon EC2 へのサインアップ

Amazon EC2 にサインアップするプロセスは簡単です。 必要なのは以下の情報だけです

  • 有効な電子メール アドレス
  • 自分への連絡先となる、有効な電話番号 (携帯電話が近くにあることを確認してください。サインアップ中に着信が来ます)
  • 有効なクレジット カード番号

サインアップ URL は http://aws.amazon.com/ec2 です。 既に Amazon の顧客である場合は、既存のクレジット カード情報と電子メール アドレスを使用できるので、手順はさらに簡単になります。

注: 請求先データの検証は通常、数分で完了します。 ただし、場合によっては数時間かかることもあります。 現時点 (2010 年 4 月) においては、表示されるエラー メッセージにはあまり意味がありません。
"EC2 アカウントをお持ちでないようです*。 Amazon EC2 コンソールを使用するには、まず Amazon EC2 にサインアップする必要があります。 サインアップは無料ですぐに行えます。"
これについては、当面は我慢しましょう。

2."Microsoft Web Platform – Full Web Server Development Stack" インスタンスの開始

サインアップが正常に完了すると、Amazon EC2 マネジメント コンソールにアクセスできるようになります。 URL は https://console.aws.amazon.com/ec2/home です。

Amazon E C 2 管理コンソールを示すスクリーンショット。[リージョン] フィールドで [米国西部] が強調表示されています。

ログインしたら、必ずリージョンを "米国西部" に切り替えてください。 Microsoft Web Platform イメージは現在、米国西部リージョンでのみ使用できます。 まずは、Web Development Stack インスタンスのファイアウォール規則 (Amazon の用語ではセキュリティ グループ) を設定しましょう。

ファイアウォール ルール

左側にある [セキュリティ グループ] 項目を選択します。 中央のウィンドウに既存のセキュリティ グループが表示されます。 上部の [Create Security Group] (セキュリティ グループを作成) ボタンをクリックします。

[セキュリティ グループの作成] ボタンを示すスクリーンショット。

作成しようとしている新しいグループに名前を付けます (例: "Microsoft Web Platform Firewall Rules")。

[セキュリティ グループの作成] ダイアログ ボックスを示すスクリーンショット。

次の規則を構成する必要があります。

[セキュリティ グループ] が選択されている下の [許可された接続] の一覧を示すスクリーンショット。

  • RDP は、リモート デスクトップ経由で Amazon EC2 インスタンスに接続できるようにするために必要です。 現在の "ソース (IP またはグループ)" 設定では、任意の IP アドレスからの接続が許可されます。 より厳しいセキュリティ要件がある場合は、この設定をロック ダウンしてください。
  • HTTP は、顧客が HTTP 経由で Amazon EC2 インスタンスに接続できるようにするために必要です。
  • SSL を使用する予定の場合は、HTTPS が必要です。 SSL を使用する予定がない場合は、この設定は必要ありません。
  • ポート 8172 は、IIS のリモート管理と Visual Studio 2010 経由でのコンテンツ発行を可能にするために開きます。 Visual Studio 2010 で新しい Web 発行機能を使用する場合は、このポートを開く必要があります。

EC2 Web Server Development Stack インスタンスを起動する準備ができました。

Web Server Development Stack イメージの起動

左側の [インスタンス] メニュー項目をクリックし、[インスタンスを起動] ボタンをクリックします。
[インスタンスの起動] ボタンを示すスクリーンショット。

次に、表示されるダイアログで [コミュニティ イメージ] を選択します。

クイック スタート、My A M I、Community A M I のタブを示すスクリーンショット。

[コミュニティ AMI] ダイアログに「microsoft/」と入力すると、選択項目が減り、次の 4 つの Microsoft イメージになります。
[Community A M I] タブの下に 4 つの画像を示すスクリーンショット。

"Microsoft Web Platform – Full Web Server Development Stack" の行で、[選択] をクリックします。

次のダイアログ ページ (インスタンスの詳細) では、Web Server Development Stack インスタンスに必要なコンピューティング能力を選択できます。 通常は、事前選択されている最小のオプションから始めるのがよいでしょう。 [続行] ボタンをクリックします。 次のページについても、心配する必要はありません。 [Advanced Instance Options] (インスタンスの詳細オプション) ダイアログボックスの下部にある [続行] をクリックするだけです。 そうすると、[Create Key Pair] (キー ペアの作成) ダイアログが表示されます。
[新しいキー ペアの作成] で選択したラジオ ボタンを示すスクリーンショット。[キー ペアの名前を入力してください] フィールドに、E C 2 キーが入力されます。

既にキーがある場合は、そのキーを使用します。 キーがない場合は、キー ペアの名前を入力し、[Create & Download Key Pair] (キー ペアを作成してダウンロード) ボタンをクリックして作成する必要があります。 ボタンをクリックするとすぐに、Amazon によってキー ペアが作成され、ダウンロードするよう求めるメッセージがブラウザーに表示されます。 ファイルは後から見つけられる場所に保存してください。 作成したキーペアを使用すると、Amazon が Media Server インスタンス用に作成した管理者パスワードを復号化できるようになります。 [続行] ボタンをクリックします。

注: Internet Explorer では、キー ペア ファイルを保存する場所を尋ねるダウンロード ダイアログが表示されない場合があります。 その場合は、Internet Explorers の [一時ファイル] フォルダーでファイル (<キー ペア名>.pem) を探してください。 Windows 7 では、%userprofile%\ AppData\Local\Microsoft\Windows\Temporary Internet Files で *.pem を検索します。 .pem ファイルをより永続的なディレクトリにコピーしてください。

キー ペアを作成したら、ファイアウォール規則を構成できます。 たとえば、マシンへの HTTP 要求のみを許可することもできます。 Amazon ではファイアウォール規則を「セキュリティ グループ」と呼んでいますが、私としては、これは少し混乱を招きやすい呼び方だと思います。 このデモでは、インスタンスにファイアウォールの制限を設けない "既定の" セキュリティ グループを選択します。 これらの設定は、もう少し制限を厳しくするように後から構成することもできます。
[続行] をクリックして、[起動] ページに移動します。 概要ページでの残りの操作は、大きな [起動] ボタンを押すことだけです。 これを行えば、Amazon EC2 によって Full Web Server Development Stack イメージの個人用仮想インスタンスが起動されます。 よくできました。 ここでコーヒーでも飲みましょう。 インスタンスの起動には少し時間がかかります (通常は 3 分から 5 分程度)。

3.管理者パスワードの取得

"インスタンスの起動" ウィザードが完了すると、AWS マネジメント コンソールのメイン ページに戻ります。 [インスタンス] リンクをクリックして、Media Server インスタンスの動作を確認します。

A W S 管理コンソールを示すスクリーンショット。[ナビゲーション] ウィンドウでインスタンスが強調表示されています。

次のような結果が表示されます。

[My Instances]\(マイ インスタンス\) ペインを示すスクリーンショット。

行を右クリックし、[Get Windows Password] (Windows パスワードの取得) メニュー項目を選択します。

最初の行のコンテキスト メニューを示すスクリーンショット。

ここで、先ほど作成したキー ペア ファイル (<キー ペア名>.PEM ) を使用します。 パスワードが既に使用可能な場合 (先ほど説明したように、数分待たなければならない場合があります)、次のダイアログが表示されます。

[既定の Windows 管理者パスワードの取得] ウィンドウを示すスクリーンショット。

.PEM ファイルをメモ帳で開き、内容をクリップボードにコピーします (Ctrl + A キーを押しながらすべて選択し、Ctrl + C キーを押してクリップボードにコピーします)。 次に、ダイアログのテキスト ボックスに内容を貼り付けます (Ctrl + V キーを押します)。 [Decrypt] (復号化) ボタンをクリックします。

注: 復号化は非常に CPU 負荷の高い操作であるため、Internet Explorer を使用する場合は、次のセキュリティ ダイアログが表示されることがあります: [このスクリプトの実行を停止する] を求めるセキュリティ ダイアログ ボックスを示すスクリーンショット。 直感には反しますが、先に進むには "いいえ" を押す必要があります。 通常、パスワードを復号化するには、"いいえ" を数回押す必要があります。 このセキュリティ機能の詳細については、次を参照してください: https://support.microsoft.com/kb/175500
より永続的な解決に関心がある場合は、コマンド ラインで次のコマンドを実行できます。

reg add "HKCU\Software\Microsoft\Internet Explorer\Styles" /v MaxScriptStatements /t REG_DWORD /d 0x5F5E100

MaxScriptStatements を 100,000,000 (0x5F5E100) に設定すると、セキュリティ ポップアップが表示されなくなります。

パスワードが復号化されたら、パスワードをメモするか、クリップボードにコピーしてダイアログを閉じます。 これで、Web Server Development Stack インスタンスを使用する準備ができました。

4.ASP.NET 4.0 アプリケーションの作成と展開

それでは、Visual Studio 2010 に切り替えてみましょう。 コピーをまだお持ちでない場合は、https://www.microsoft.com/visualstudio から Express Edition をダウンロードできます。

Visual Studio 2010 では、Microsoft Web 配置ツールに基づいて、Web アプリケーション用のまったく新しいワンクリック展開モデルが提供されます。 Web 配置ツールを利用して、作成しようとしている Web アプリケーションをライブ EC2 サーバーに展開します。 始めましょう!

Visual Studio 2010 での Web アプリケーション プロジェクトの作成

Visual Studio 2010 を開始したら、[ファイル] - [新規作成] - [プロジェクト] を選択し、[ASP.NET アプリケーション] を選択します (必ず [Web] プロジェクト テンプレートを選択してください)。 プロジェクト名 "HelloEC2" を使用します。

テンプレートの一覧で強調表示されている S P ドット NET Web アプリケーションを示すスクリーンショット。Hello E C 2 が [名前] フィールドにあります。

プロジェクトを作成したら、site.master ファイルを開き、<h1> タグのテキストを "MY ASP.NET on EC2 Application" に変更します

コード エディターを示すスクリーンショット。[MY A S P dot NET on E C 2 Application]\(E C 2 アプリケーション上の My A S P dot NET\) が強調表示されています。

発行の構成

必要なのは、発行を構成することです。 そのためには、次のものが必要です。

  • 前の手順のいずれかで既に取得した EC2 インスタンスの管理者パスワード
  • EC2 インスタンスの DNS 名または IP アドレス。

これら 2 つのデータを取得するには、AWS マネジメント コンソールに戻る必要があります。 AWS コンソールには、インスタンスのプロパティの 1 つとしてパブリック DNS 名または IP アドレスが表示されます。 アドレスをクリップボードにコピーするか、書き留めることができます。 より永続的な DNS アドレスが必要な場合は、DNS 名を登録し、Amazon から Elastic IP アドレスを取得する必要があります。 ただし、今回はこれについては割愛します。

A W S 管理コンソールを示すスクリーンショット。PUBLISH D N S とそのアドレスが強調表示されています。

この 2 つの情報を使用して、作成した ASP.NET Web アプリケーション プロジェクトを公開します。 公開するには、Visual Studio に戻り、プロジェクトを右クリックし、[発行] メニュー項目を選択します。

プロジェクトのコンテキスト メニューを示すスクリーンショット。一覧に [発行] が表示され、強調表示されています。

次のダイアログでは、複数のデータを入力する必要があります。 ですが、これをステップごとに実行してみましょう。

  1. [名前の変更] ボタンをクリックし、"Profile1" の名前を "My EC2 Publishing Profile" に変更します
  2. [サービス URL:] テキストボックスに EC2 インスタンスの DNS 名をコピーします。 次に示すように、"https://" を明示的に指定しなくても動作します。
  3. [サイト/アプリケーション] ボックスで "Default Web Site" (引用符なし) を指定します。 "Default Web Site" のルートでない場所に "Hello EC2" Web アプリケーションを発行する場合は、追加のアプリケーション名 (例:"Default Web Site/helloEC2" を指定します。
  4. EC2 インスタンスは自己署名 SSL 証明書と連携して、クライアントと EC2 インスタンスの間のトラフィックが暗号化されるようにします。 自己署名証明書はまだ信頼されていないため、[信頼されていない証明書を許可する] チェック ボックスをオンにする必要があります。
  5. EC2 インスタンスの管理者資格情報を指定します。 ユーザー名は "Administrator" で、前の手順で EC2 インスタンスのパスワードを取得しました。

複数のフィールドが強調表示されている [Web の発行] ダイアログ ボックスを示すスクリーンショット。

残っているのは [発行] ボタンをクリックすることであり、ステータス バーには発行プロセスが成功したことが表示されます。 アプリケーションは EC2 インスタンスに正常に公開されました
[発行に成功しました] というステータス バーのスクリーンショット。

Web アプリケーションの参照

それではチェックしましょう。 DNS 名がクリップボードにまだある場合は、Internet Explorer のアドレス バーに貼り付ける必要があります。
よくできました。

Internet Explorer 上の Web アプリケーションのスクリーンショット。

リモート デスクトップ経由での EC2 インスタンスへの接続

サーバー自体に何かを構成する必要がある場合は、リモート デスクトップを使用して簡単に接続できます。 Visual Web Developer 2010 もインストールされているため、ローカルで再現できない問題が発生した場合にリモート コンピューターでデバッグできます。

RDP 経由で EC2 インスタンスに接続する方法を次に示します。
仮想マシンを右クリックして [接続] を選択します。

E C 2 インスタンスのコンテキスト メニューのスクリーンショット。

表示されるダイアログで [Download shortcut file] (ショートカット ファイルをダウンロード) をクリックします。

[コンソール接続リモート デスクトップ接続] ウィンドウを示すスクリーンショット。ダウンロード ショートカット ファイルがオプション 1 の下に表示されます。

ダウンロードされるファイルは、クラウド内の EC2 インスタンスに接続するための適切な設定がすべて含まれた RDP ファイルです。 IE で [開く] をクリックするか、Firefox の [ダウンロード] ウィンドウでファイルをダブルクリックすると、リモート デスクトップ セッションが確立されます。 リモート デスクトップから資格情報の入力を求められたら、ユーザー名 "Administrator" と以前に取得したパスワードを入力します。
接続されると、リモート コンピューターにログオンした状態になります。

まとめ

現在、インターネット上で専用の Web サーバーを取得して起動することは、驚くほど簡単になっています。 この記事では、作業用および完全に構成された ASP.Net 4.0 アプリケーションをクラウドにデプロイしました。 すごいと思いませんか。

皆さんのご意見をお聞かせください。質問やフィードバックなど、 ec2@microsoft.com までお寄せください。