WebアプリケーションをホストするためのWindows Azure仮想マシンを構築する

画像

こんにちは



以前の記事で、 ASP.NET MVC 4で記述されたWebアプリケーションを新しいWindows Azure Webサイトサービスで簡単かつ簡単に公開する方法について説明しました。



今日の記事では、Azureで仮想マシンを作成し、その上でWebアプリケーションをホストする例を使用して、Azureの境界を拡張する方法を説明しようとします。



ステップ0。アクセス。



記事の冒頭にあるリンクをたどるのが面倒だった人のために、Windows Azureの新機能に無料でアクセスできる方法を思い出します。



最初に90日間の試用版に登録する必要があります。次に、サブスクリプションに新しいプレビュー機能を追加します(問題のあるもののみ)。 これは、 コンポーネントプレビューページで行います。ここでは、試してみたいことを選択できます。 この場合、 仮想マシンを選択します。



ステップ1.仮想マシンの作成



Windows Azureのコンポーネントにアクセスできたら、それらの使用を開始します。 これを行うには、管理ポータルで[仮想マシン]を選択し、ページの下部にある大きなプラスボタンをクリックします(お見逃しなく)。





クイック作成とギャラリーからの2つのアイテムが利用可能になります。 実際、それらの違いは小さいため、より完全なパスを検討してください。 ギャラリーから選択:





このダイアログボックスには、選択可能なオプションがいくつかあります。 まず、既製のOSイメージ(スクリーンショットに表示)に加えて、仮想マシンの作成元となる独自のイメージまたはVHDディスクを読み込む機会も与えられます。 各マシンの構成に煩わされることなく、同じマシンのファームを作成する必要がある大規模なプロジェクトに便利です。 しかし、今はこれに興味がないので、手頃な価格の既製の画像に目を向けましょう。



いくつかの選択肢があります。 Windows Server 2008 R2(2つのバージョン)、Linuxマシン、SQL Server専用サーバー(この画像については、最近ハブに書き込みました )があり、今日の実験のヒーローはWindows Server 2012です。それはなぜですか? これは私の個人的な選択です。 ほとんどの場合、情報提供の目的でWindows Azureを使用しているため、「新しいシーズン」である新しいサーバー2012を試してみるといいと思いました。



そのため、必要なOSを選択し、下の矢印をクリックします。 仮想マシン作成ウィザードの次の画面に進みます。





ここではすべてが明確です。 VM名、管理者パスワードを指定し、将来のハードウェアの提案された構成のいずれかを選択する必要があります。 選択はかなりよく、さまざまなタイプのプロジェクトのパフォーマンス要件のほとんどをカバーできます。 私は完全に私に合った小を選択しました。 どうぞ



ウィザードの3番目のステップでは、すべてが明確になります。





最初に、将来の車の目的を決める必要があります。 独立したリソースとして使用したい場合(そして現時点ではこれが必要な場合)、 スタンドアロンを選択します。 プロンプトに記載されている接続モードでは、このVMを既存のネットワークに接続して負荷を共有できます。 これはまだ興味がありません。



次に、マシンを使用できるホスト名を考え出す必要があります。 ここでは、前の手順のマシン名と指定されたホスト名を混同しないでください。 マシン名は、Windowsのコンピューターの名前です。 ホスト名はcloudapp.netドメイン内のサブドメインであり、これを介してサーバーにアクセスして管理します。 この名前は一意である必要があるため、ウィザードではすぐに特定の名前の利用可能性または使用に関するヒントが提供されます。



残りのフィールドは非常に理解しやすいので、特に注目しないでください。 そこで、ストレージアカウント(既存または新しいアカウントのいずれか)、VMの場所、およびこのマシンに課金されるサブスクリプションを選択する必要があります。



4番目のステップでは、何もする必要はありません。すべてをそのままにします。





下のDawをクリックすると、仮想マシンの作成が開始されます。



ステップ2.仮想マシン管理



仮想マシンを作成すると、適切なリストで利用可能になります。





マシンのステータスがProvisioningからRunningに変わるまで待ってください。 これは、マシンを使用する準備ができたことを意味します。 彼女の名前をクリックすると、仮想マシンのコントロールパネルが開きます。





ページの下部に接続ボタンがあります。 リモートデスクトップを使用してこのマシンに接続するための正しいrdpファイルを取得するのに役立ちます。 新しいサーバーに移動して管理するときが来ました。



ステップ3.サーバー管理



実際、この記事ではWindows Server 2012の管理について詳しく説明しません。この記事のタイトルにWebアプリケーションが記載されているので、これが私たちのすることです-IISをインストールします。



新しいサーバーへの最初のログイン時に、サーバーマネージャーウィンドウが開きます。





デフォルトでは、IISはWindows Server 2012で有効になっていないため、追加する必要があります。 [ 役割と機能追加]項目選択すると、役割の追加ウィザードが開きます。 [次へ]を3回クリックし(特に好奇心の強い人が書いたものを読んでいますが、今は興味がありません)、開いたツリーで[ Webサーバー(IIS)]を選択します。 次に、必要なIISコンポーネントを選択して、ASP.NET MVCアプリケーションを実行できるようにする必要があります。 私は正確な設定を書きません。誰もが彼が必要とするものを正確に決めます。 必ずASP.NETを含めてください、残りはあなたの好みです。



[次へ]を数回クリックし、必要に応じて将来の役割を構成します。インストールプロセスが完了したら、サーバーがゲストを受け入れます。 これを確認するには、 localhostにアクセスします。 次のようなものが表示されます。





ステップ4.アクセスを開く



すべてが素晴らしいので、最終的にWebサーバーをセットアップし、その上にアプリケーションを配置して、localhostで開きます。 外部から開く方法は? 実際、すべてが非常に簡単です。 確かに、コントロールパネルのリンク(<your_virut_machine> .cloudapp.netのように見える)をクリックしようとして、仮想マシンを作成する段階にあります。 そして、確かに何も表示しませんでした。 これは、オペレーティングシステム自体のファイアウォールレベルではなく、Windows Azureインフラストラクチャのレベルで、仮想マシンへのアクセスが外部から閉じられるためです。



仮想マシンのコントロールパネルで検索すると、 ダッシュボードエンドポイント構成の 3つのメニュー項目が表示されます。 最初の段階で前者を理解しました。後者ではすべてが明確です-ハードウェア設定はそこに設定されていますが、エンドポイントとは何かを理解しましょう。



[エンドポイント]タブでは、この仮想マシンでどのプロトコルとポートを開くか、リダイレクトする物理ポートを指定できます。





デフォルトでは、このリストにはポートが1つだけあります。リモートデスクトップ経由で接続するポートです。 さらに、パブリックポートは、セキュリティを強化するために行われたものであれば何でもかまいません。 この仮想マシンでWebアプリケーションを開くには、80番目のポートを開く必要があります。 上のスクリーンショットはこれを示しています。 このアクションの後、リンク<your_virut_machine> .cloudapp.netの下に、独自のアプリケーションが表示されます。 小さな勝利が達成されます。



ステップ5.独自のドメインを割り当てる



前のステップでは、アプリケーションをクラウドで動作させ、外部からアクセスできるようにするためにあらゆることを行いました。 ただし、サブドメインからのみアクセスでき、独自の1つまたは複数のドメインを割り当てることができない場合は、まったくクールではないことを認める必要があります。



もちろん、これは可能であり、非常に簡単です。 このため、公式ドキュメントには2つの異なる方法が記載されており、どちらもDNSゾーンの編集に関連しています。 1つ目は、たとえばwww.mydomain.commywinazure.cloudapp.netにリダイレクトされることを示すCNAMEレコードを作成することを意味します。 この方法は単純ですが、単純すぎます。 サーバーで複数のWebアプリケーションがホストされている場合、またはメインドメインに複数のサブドメインが存在する可能性がある場合、この方法は機能しません。 幸いなことに、2番目のより良い品質の方法があります。



ところで、私も使用したソリューションとして、DNSゾーンでAレコードを編集することを提案します。 仮想マシンのコントロールパネルの右側の領域には、2つのIPアドレスがあります。 1つはプライベートと呼ばれ、マシン自体のIPです。2つ目はパブリック、仮想(仮想IP、VIP)です。 それだけです。編集したドメインのゾーンAで指定する必要があります。 この場合、すべてのトラフィックは仮想マシンに送信され、そこでIISはドメインを決定し、対応するアプリケーションを発行します(WebサイトがIIS自体で正しく構成されている場合)。 すべてがわいせつにシンプルで明白ですが、それはそれがどのように機能するかです



ステップ6.ボーナス



おまけとして、あるWindows Azureサービスを別のWindows Azureサービスと統合する例を説明します。 前回の記事を読んでいただければ、プログラミングに関する事実調査サービスについて説明したことがわかります。 その記事の一部として、Windows Azure WebサイトとWindows Azure SQLデータベースを使用してASP.NET MVC 4アプリケーションをクラウドに公開するプロセスを説明しました。 今、仮想マシンを勉強している間、私は同じサービスをWebサイトから仮想マシンに転送して、自分のドメインをバインドし、実際にすべてを1か所に置くことにしました(現在、複数のサイトがVMでホストされています)。



アプリケーション自体のファイルを簡単に転送しました。 しかし、基地を思い出したとき、最初は少し悲しかった。 私はすぐに、まず配布キットをダウンロードしてから、インストールのための場所を取る必要があることに気付きました。 すでに最速ではないマシンでデータベースサービスを開始します。 データベースとWebアプリケーションを同じサーバーに配置します。 あるサーバーから別のサーバーにデータを転送します。 まあ、いくつかの同様のトラブル。 まっすぐに難しいとは言えませんが、率直に言って怠け者です。



そして、Webサイトのホスティングサイトの一部として作成されたデータベースの仮想マシンでホストされるアプリケーションを設定するとどうなるでしょうか? 実際、アプリケーションの観点から見ると、このデータベースはローカルサーバーにインストールされた場合とまったく同じです。 すぐに言ってやった。 必要に応じてweb.configを変更し、Windows Azureで使用していたサーバーと同じサーバーをデータベースサーバーとして指定しました。 そして、あなたはどう思いますか? 動作します。 これで、個別のアプリケーションサーバーと個別のデータベースができました。これらは、必要に応じて個別に交換、拡張、ミラー化できます。 このような設備を提供してくれたAzureに感謝します。



おわりに



この楽しいメモで、話を終わりたいと思います。 この資料がAzureの研究者を始めるのに役立ち、Webプロジェクトのホスティングの選択を決定するのに役立つことを願っています。 念のために、私はマイクロソフトとはまったく関係がなく、広告なしで個人的な観点のみを反映していると主張したいと思います。



クラウドでどのようなアプリケーションが機能するかを知りたくない場合は、リンクprog-facts.ruおよびss10.ru (2つのドメインが1つのホスティングに完全に向けられている例として引用された2番目のリンク)があります。



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



All Articles