次の方法で共有


ASP.NET ホスティングのオプション (C#)

作成者: Scott Mitchell

PDF のダウンロード

ASP.NET Web アプリケーションは通常、ローカル開発環境で設計、作成、テストされ、リリースの準備ができたら運用環境にデプロイする必要があります。 このチュートリアルでは、デプロイ プロセスの概要を説明し、このチュートリアル シリーズの入門として機能します。

はじめに

Web アプリケーションは通常、サイトで作業するプログラマのみがアクセスできる開発環境で設計、作成、テストされます。 アプリケーションは、リリースの準備が整うと、インターネット上の誰もがアクセスできる運用環境に移動されます。 このデプロイ プロセスで、さまざまな課題が発生します。

  • ASP.NET アプリケーションをデプロイする前に、運用環境が存在し、適切に設定されている必要があります。さらに、運用環境を最新のセキュリティ パッチで最新の状態に保つ必要があります。
  • マークアップ ファイル、コード ファイル、サポート ファイルの正しいセットを開発環境から運用環境にコピーする必要があります。 データ ドリブン アプリケーションの場合、データベース スキーマやデータのコピーも必要になる場合があります。
  • 2 つの環境間に構成の違いがある場合があります。 開発環境で使用されるデータベース接続文字列または電子メール サーバーは、運用環境とは異なる可能性があります。 さらに、アプリケーションの動作は環境によって異なる場合があります。 たとえば、開発中にエラーが発生した場合、エラーの詳細を画面に表示できますが、運用環境でエラーが発生した場合は、代わりにわかりやすいエラー ページが表示され、エラーの詳細が開発者に電子メールで送信されます。

最初の課題である運用環境の設定と維持を回避するために、多くの個人や企業が運用環境を "Web ホスティング プロバイダー" に外部委託しています。 Web ホスティング プロバイダーは、顧客に代わって運用環境を管理する会社です。 Web ホスト プロバイダーは無数にあり、それぞれ価格とサービス レベルが異なります。このようなサービス プロバイダーを見つけるためのヒントについては、「Web ホスト プロバイダーの検索」セクションを参照してください。

これは、Web ホスト プロバイダーによって管理される運用環境に ASP.NET Web アプリケーションをデプロイする手順を説明する一連のチュートリアルの 1 番目です。 これらのチュートリアルの過程で、以下を確認します。

  • Web ホスト プロバイダーにデプロイする必要があるファイル。
  • デプロイ プロセスを合理化するためのツール。
  • データベースをデプロイする方法。
  • SQL ベースのメンバーシップおよびロール プロバイダーを使用するデータベースをデプロイするためのヒントと、運用環境で Web サイト管理ツールを模倣する方法。
  • 開発中に行われた変更を、運用環境のデータベースにスムーズに更新するための戦略。
  • 運用環境で発生するエラーをログする手法と、エラーが発生したときに開発者に通知する方法。

これらのチュートリアルは簡潔で、プロセスを視覚的に説明するためのスクリーン ショットを豊富に使って詳細な手順を説明することを目的としています。 この最初のチュートリアルでは、ASP.NET デプロイ プロセスの概要と、Web ホスティング プロバイダーを見つけるためのアドバイスを提供します。 それでは始めましょう。

ASP.NET デプロイ プロセスの概要

簡単に言うと、ASP.NET アプリケーションのデプロイには、次の 3 つの手順があります。

  1. 運用環境で Web アプリケーション、Web サーバー、データベースを構成します。
  2. ASP.NET ページ、コード ファイル、Bin フォルダー内のアセンブリ、CSS や JavaScript ファイルなどの HTML 関連のサポート ファイルを同期します。
  3. データベース スキーマやデータを同期します。

Web アプリケーションの構成情報は通常、Web.config ファイル内にあり、データベース接続文字列、エラー処理基準、URL 書き換え規則、電子メール サーバー情報が含まれます。 多くの場合、この情報は、開発中のアプリケーションと運用環境の同じアプリケーションとで異なります。 たとえば、アプリケーションを開発するときは、運用データベースに対してテストを行わないように、開発用のデータベースを使用するのが最善です。 その結果、データベース接続文字列は通常、開発アプリケーションと運用アプリケーションとで異なります。 これらの違いにより、デプロイの一部には、Web アプリケーションの構成情報の変更が含まれます。

手順 1 では、Web アプリケーションの構成の変更に加えて、Web サーバーとデータベースの構成も必要になる場合があります。 たとえば、ASP.NET ページで Web サーバー上のディレクトリからファイルを作成または削除する場合、これらのファイル システムの変更を許可するように Web サーバーを構成する必要があります。 同様に、データベースに対してアクセス許可または認証設定を行う必要がある場合があります。

手順 2 では、開発環境と運用環境の間で、重要な ASP.NET ページとサポート ファイルのセットを同期する必要があります。 2 つの環境間で同期する必要がある ASP.NET 関連ファイルの特定のセットは、Visual Studio で作成したプロジェクトの種類によって異なります。これについては次のチュートリアル「デプロイが必要なファイルを決定する」で説明します。 3 番目のチュートリアル「FTP を使用したサイトのデプロイ」と 4 番目のチュートリアル「Visual Studio を使用したサイトのデプロイ」では、これらのファイルを同期するためのさまざまなツールと手法について説明します。

データドリブン アプリケーションを構築する場合、通常は、開発用と運用環境用の 2 つのデータベースが使用されます。 開発中、開発用データベースのスキーマは、新しいテーブル、列、ストアド プロシージャ、トリガーを追加するために変更されたり、既存のデータベース オブジェクトを削除したり、名前を変更したりするために変更されることがあります。 これらの変更が行われてからアプリケーションが運用環境にデプロイされるまでの間、開発用データベースと運用データベースは同期されません。この非同期は、デプロイ プロセス中に修正する必要があります。 これらの課題は、今後のチュートリアルで検討される予定です。

Web ホスト プロバイダーの検索

ASP.NET アプリケーションは、.NET Framework と インターネット インフォメーション サービス (IIS) がインストールされている任意の Web サーバーにデプロイできます。 インターネットへのブロードバンド接続があり、受信 Web 要求を許可するようにルーターを構成する方法を知っている場合は、お使いのパーソナル コンピューターからサイトをホストできます。 また、多くの企業が行っているように、イントラネット内のコンピューターからサイトをホストすることもできます。 ただし、これらのチュートリアルでは、Web ホスト プロバイダーを使用して Web サイトをホストすることに焦点を当てています。

Note

IIS は、Microsoft のエンタープライズ レベルの Web サーバーです。 Windows の Home Edition 以外のエディション (Windows Server 2008 や Windows Vista の特定のエディションなど) に付属しています。 Visual Studio には ASP.NET 開発 Web サーバーが含まれているため、開発環境で ASP.NET アプリケーションを提供するために IIS をインストールする必要はありません。 ただし、ASP.NET 開発 Web サーバーはローカル接続のみを受け入れるため、運用環境では使用できません。

Web ホスト プロバイダーにサイトをデプロイする前に、まずどの会社と取引するかを決める必要があります。 マーケットプレースには無数の Web ホスティング会社があり、"Web ホスティング会社" を検索すると、500 万を超える結果が返されます。 自分に合った会社を見つけるにはどうすればよいでしょうか。 お気に入りの検索エンジンから始めるのがよいでしょう。さまざまなホスティング サービスを比較対照する TopHostsHostCritique などの Web サイトもよいでしょう。 また、同僚や仕事仲間におすすめを尋ねてみることをお勧めします。ASP.NET フォーラムホスティング オープン フォーラムでおすすめを尋ねることもできます。

Web ホスティング会社は通常、共有ホスティング プランと専用ホスティング プランを提供しています。 共有ホスティングでは、1 つの Web サーバーで数十、場合によっては数百の異なる Web サイトをホストします。 専用ホスティングでは、サイトを提供する会社からコンピューターを借りて、自分のサイトだけをホストします。 共有ホスティング プランには、ASP.NET ページのサポート、Microsoft Access データベースを操作する機能、5 GB のディスク領域、月額 9.95 ドルで月間 100 GB の帯域幅トラフィックが含まれるものもあります。 別の共有ホスティング プランには、ASP.NET ページのサポート、Microsoft SQL Server 2008 データベース サーバーへのアクセス、10 GB のディスク領域、月額 19.95 ドルで月間 250 GB の帯域幅トラフィック が含まれるものもあります。 専用ホスティング プランは通常、月額数百ドルとかなり高価ですが、共有ホスティング オプションよりも優れたパフォーマンスとより多くの制御を提供します。 どのプランを選択するかは、予算、Web サイトが受信するトラフィック量、必要になると予想される機能によって異なります。

Web ホスト プロバイダーを選択する際の 2 つの重要な考慮事項は、顧客サービスとサービスの品質です。 質問や構成の問題がある場合、Web ホストのヘルプデスクに問題を送信してから応答が返ってくるまでにどのくらいの時間がかかるか。 会社のサービスはどの程度信頼できるか。 データベースの停止が頻繁に発生するか。 電子メール サーバーはどのくらいの頻度でオフラインになるか。 会社にアップタイムの詳細や顧客サービス ポリシーについて問い合わせることはいつでもできますが、より確実な方法は、オンライン フォーラム、ニュースグループ、メーリング リストを通じて、現在および過去の顧客からのフィードバックを求めることです。

Note

Web ホスティング会社の中には、.NET や LAMP (L inux、A pache、M ySQL、P HP) などの特定のテクノロジ スタックに特化してビジネスを展開しているところもあるので、選択する会社が ASP.NET アプリケーションをホストしていることを確認してください。 また、アプリケーションのビルドに使用している ASP.NET のバージョンがサポートされていることも確認してください。 また、データ ドリブン アプリケーションをビルドする場合は、使用しているのと同じデータベース サーバーとバージョンが Web ホストで提供されていることを確認してください。

まとめ

ASP.NET Web アプリケーションは通常、ローカル開発環境で設計、作成、テストされます。 リリースの準備ができたバージョンは、運用環境に移動されます。 ASP.NET Web サイトを自分のパーソナル コンピューターまたは社内のサーバーでホストすることは可能ですが、多くの企業や個人は、ホスティングを Web ホスト プロバイダーに外部委託することを選択します。

このチュートリアル シリーズでは、ASP.NET アプリケーションを Web ホスト プロバイダーにデプロイする手順を確認し、一般的な課題を調べます。 このチュートリアルでは、ASP.NET デプロイ プロセスの概要を示し、適切な Web ホスト プロバイダーを見つけるためのヒントを提供しました。 次のチュートリアルでは、Web サイトをデプロイするときに運用環境にコピーする必要がある ASP.NET 関連ファイルについて説明します。

プログラミングに満足!

特別な感謝

このチュートリアル シリーズは、多くの役に立つ校閲者によってレビューされました。 このチュートリアルのリード レビュー担当者は、Teresa Murphy でした。 今後の MSDN の記事を確認することに関心がありますか? その場合は、mitchell@4GuysFromRolla.com までご一報ください。