
クラウドテクノロジーは私たちの生活にますます浸透しており、マウスを数回クリックするだけで、複雑な技術ソリューションを巨大なコンピューティングパワーに簡単かつ迅速に展開できます。 IT市場の主要な巨人は常にサービスを改善し、ますます多くの新しい機会を導入しています。 クラウドの利点は非常に明白です-速度、パワー、スケーラビリティ、構成の容易さ。 これは、新しいプロジェクトまたはスタートアップを開始する場合に最適なソリューションです。
しかし、自分の施設でWebサイトを既にホストしている場合はどうでしょうか? このリソースは機能し、データベースはおそらくそれに接続され、構成内のさまざまな設定が適用されます。 この場合、クラウドへの移行はかなり面倒なプロセスです。 クラウドを使用して勝つことができると本当に理解していても、このすべての環境を移行する難しさがこれらの利点を上回ることは事実ではありません。
そのような場合のために、Microsoftは新しいツールAzure Websites Migration Assistantを 導入しました。 これは、IIS(バージョン6以降)でホストされているWebサイトに関する必要な情報を収集し、分析し、すべての設定、ファイル、そして最も重要なことにはデータベースを直接Microsoft Azureクラウドに自動的に転送できる小さなプログラムです。
この記事では、サイトの移行が非常に簡単で、完了するまでに数分かかることを、独自の例で示します。
準備する
Webサイトを準備し、IIS 8を使用してローカルコンピューターでホストしました。

ちなみに、仮想ディレクトリではなく、Webサイトが移行しているという事実に注目する価値があります。 この場合、既定のWebサイトに加えて、 移行サイトを作成し、それを転送します。 これはVisual Studio 2013のテンプレートを使用して作成された単純なASP.NETサイトです。データベースも接続されており、SQL Server Expressのローカルコンピューターにもあります。
データベースの構造は単純で、ユーザーとロールに関する情報のみが含まれています。 このデータベースは、Webサイトで自動的に作成されます。 最終的には次のようになります。

サイトは、 localhost :80が呼び出されたときにデフォルトで開くようにバインディングで構成されています。 もちろん、この例はそれほど複雑ではありませんが、このような単純な場合でも、すべてのファイル、設定、およびデータベースの独立した移行には非常に長い時間がかかります(少なくとも1日)。
Azure Webサイト移行アシスタント
最初に行うことは、Azure Website Migration Assistantユーティリティを公式サイトからダウンロードすることです。 これは、ステップバイステップウィザードのスタイルで作成されたシンプルなClickOnceアプリケーションです。
最初のステップでは、移行するサイトの検索場所を選択するよう求められます。

ローカルコンピューターまたはリモートサーバーの2つのオプションがあります。 2番目の方法は、Webサイトでサーバーに物理的にアクセスできない場合、または何らかの理由でそこに追加のソフトウェアをインストールできない場合に特に役立ちます。
私たちの場合、最初のオプションを選択すると、ユーティリティによって、移行するサイトを指定するように求められます。

デフォルトのWebサイトは移行したくないので、移行したくないので、移行サイトのみを選択します。
選択して[次へ]をクリックするとすぐに、IISの簡単な分析とWebサイトの主要なパラメーターの決定が行われます。 次のようになります。

この画面には、サイトが利用可能なプロトコルとポート番号、コードが実行されるアプリケーションプール、データベース接続などの基本的なサーバー設定が一覧表示されます。 この設定(だけでなく)は、サイトのweb.configから取得されます。 これは、まず、Azure Website Migration Assistantは、サイトがデータベースで動作することを認識し(そしてこれを考慮に入れます)、次に、他の特定の構成パラメーターを転送してクラウドに適用できることを意味します。
次の手順([アップロード]ボタンによって呼び出されます)では、移行のサイトの準備状況に関するレポートが表示されます。 このレポートは、クラウド内のサーバーでコンパイルされ、オンプレミス構成とAzureで機能する可能性のあるものとの間のすべての潜在的な矛盾を特定します。

現時点では、公式のAzure Websites Migration Assistantの特別なセクションにリストされている既知の制限のリストがあります。 私の場合、すべてのチェックが成功し、移行を続行できます。

[移行の開始]ボタンをクリックすると、最も興味深い部分が始まります-Azureの操作。 「クラウド」アカウントを使用してログインするように求められます。 私はこれをしない理由はありません:)

ログインに成功すると、ユーティリティはクラウドとクラウドのリソースに関するデータを取得できるようになります。 次の手順では、新しいWebサイトを追加するサブスクリプションと、そのリージョンを選択することができます。

最も近いのは西ヨーロッパです。 [移行の開始]ボタンは、移行を直接開始し、次の設定画面に送信するまで、実際にはまだあります。

そして、私はユーティリティ全体で最もクールだと考えるのはこの画面です。 Azure Websites Migration Assistantは、データベース接続文字列を含むweb.configから設定を読み取ると言ったことを覚えていますか? この画面ではクラウドデータベースを作成でき、そこにローカルデータベースのスキームとデータが転送されるため、これには理由があります。 サーバー名と管理者ログイン/パスワードを指定するだけで十分です。
下半分は、将来のサイトのパラメーター(その名前とデータベースの名前)を示します。 また、[設定のカスタマイズ]セクションで、将来のサイトの電源設定を構成できます。 Azure管理ポータルで利用可能なすべてのオプションから選択できます。

次のステップは、クラウド機能を作成することです:Webサイトとデータベースサーバー:


すべてが完了した後、最後のステップであるデータ転送が残ります。 [公開の開始]をクリックすると、Webサイトのすべてのローカルファイルがデータベース構造とデータとともにクラウドに転送されます。


確認する
すべてが正しく機能することを確認するには、クラウドサイトのアドレスに移動して、ローカルバージョンと比較します。

URLに注意してください-これはlocalhostではなく、インターネット上の本格的なWebサイトです。 また、 Helloが記述されているサイトの右上にあるaaa@aaa.comも見てください 。 ユーザーに関する情報はデータベースから取得され、このユーザーがクラウドサイトに表示されるという事実は、データベーススキーマ、そのデータ、および接続パラメーターがすべて問題なくAzure Websites Migration Assistantによって転送され、クラウドに復元されたことを示しています手付かずの形。
さらに、 管理ポータルで何が起こるかを確認できます 。

新しいサイトにアクセスし、移行データベースにリンクします。 素晴らしい、他に何を言いますか!
終わりではない
このユーティリティは最終リリースではなく、進化し続けます。 いくつかの制限が既に知られています:
- ポート80と443のみが使用可能です(Azure自体の制限)。したがって、他のものを使用している場合は、回避策を検討してください。
- 認証は匿名またはWebフォームを介してのみ可能です。Windows認証はAzure Active Directoryを介して実行できます。
- COMコンポーネントとカスタムISAPIフィルターも自動的に転送されないため、手動で有効にする必要があります
- 全リストはこちら
このユーティリティのすべてのコードは、Codeplexから無料でアクセスできます 。 本当にしたい場合は、自分で調整できます。 まあ、ユーティリティのほとんどすべてのステップには、フィードバックフォームへのリンクがあります。開発者にレビューを書くのを怠laにしないでください。そうすれば、将来のリリースでツールを改善できます。

移行を成功させてください!
PSそして、まだAzureを持っていないが、試してみたい場合は、ここで無料の試用版を見つけることができます