Compute Engine 上の Windows Server に ASP.NET アプリをデプロイする

1. 概要

ASP.NET は、.NET を使用して最新のウェブアプリとサービスを構築するためのオープンソースのウェブ フレームワークです。ASP.NET は、HTML5、CSS、JavaScript に基づくウェブサイトを作成します。このウェブサイトはシンプルで高速であり、数百万人のユーザーにスケーリングできます。

このラボでは、Compute Engine で実行されている Windows Server にシンプルな ASP.NET アプリをデプロイします。この Codelab は、ASP.NET Framework を使用する Windows サーバーの Compute Engine へのデプロイ Codelab をベースにしています。そのラボを先に完了することをおすすめします。

また、ASP.NET アプリを記述して Compute Engine にデプロイするには、Visual Studio 2013 以降が必要です。

学習内容

  • シンプルな ASP.NET アプリを作成する方法。
  • Visual Studio で ASP.NET アプリをローカルで実行する方法。
  • ASP.NET アプリを Compute Engine の Windows Server にデプロイして実行する方法について説明します。

必要なもの

このチュートリアルの利用方法をお選びください。

通読するのみ 内容を読んで演習を完了する

Google Cloud Platform のご利用経験について、いずれに該当されますか?

初心者 中級者 上級者

2. 設定と要件

セルフペース型の環境設定

前のラボで Google Cloud Platform プロジェクトを作成しているはずなので、新しいプロジェクトを作成する必要はありません。Google Cloud Platform のコンソール(console.cloud.google.com)にログインし、前のラボのプロジェクトを選択します。

3. ASP.NET アプリをダウンロードする

zip ファイルとしてサンプルをダウンロードし、ファイルを解凍します。

別の方法として、git リポジトリのクローンを作成することもできます。

git clone https://github.com/GoogleCloudPlatform/getting-started-dotnet.git

いずれの場合も、次の内容を含む getting-started-dotnet フォルダが必要です。

1acce2c66bc3b8aa.png

4. アプリケーションをローカルで実行する

aspnet\1-hello-world\hello-world.sln をダブルクリックします。Visual Studio でソリューションが開きます。

8a699ba7495ab79e.png

WebApiConfig.cs. をご覧ください。シンプルな HelloWorld HTTP ハンドラが含まれています。

public class HelloWorldHandler : HttpMessageHandler
{
  protected override Task<HttpResponseMessage> SendAsync(
       HttpRequestMessage request,
       CancellationToken cancellationToken)
  {
    return Task.FromResult(new HttpResponseMessage()
    {
      Content = new ByteArrayContent(Encoding.UTF8.GetBytes("Hello World."))
    });
  }
};

Visual Studio で F5 キーを押して、アプリケーションをビルドして実行します。Visual Studio が NuGet の依存関係をダウンロードしてアプリをビルドすると、ブラウザに Hello World メッセージが表示されます。

77768b92a41434c2.png

アプリがローカルで実行されていることを確認したら、Shift+F5 を押してアプリケーションを停止します。

5. ASP.NET Framework を使用する Windows Server をデプロイする

このセクションでは、Google Cloud コンソールから Cloud Marketplace を使用して、Windows Server と ASP.NET Framework がインストールされた新しい Google Compute Engine 仮想マシン インスタンスを作成する方法について説明します。

Google Cloud コンソールにログインする

別のブラウザのタブまたはウィンドウから Google Cloud コンソール(https://console.cloud.google.com)に移動します。Google Cloud Platform に登録したときに設定したログイン認証情報、またはラボの試験監督から提供されたログイン認証情報を使用します。

f6cb1591046097da.png

Google Cloud コンソールで、画面左上の [プロダクトとサービス] のメニュー アイコンをクリックします。

32152624d878d9f8.png

[Cloud Marketplace] に移動します。

6c08c9a31e3a9c6c.png

ASP.NET Framework を検索する

ASP.NET」と入力して ASP.NET Framework を検索し、下の結果ボックスをクリックします。

d64d04962212c3c1.png

Compute Engine で起動

次の画面で、[Compute Engine 上で起動] をクリックします。

新しいインスタンスの作成時に構成できるパラメータは多数ありますが、以下を使用します。

名前

gcelab

デプロイ名

windows-aspnet-instance

ゾーン

europe-west1-dゾーンの詳細については、リージョンとゾーンのドキュメントをご覧ください。

マシンタイプ

1 vCPU (n1-standard-1)n1-standard-1 は、1 コアと 3.75 GiB の RAM を備えており、ASP.NET ウェブサイトには十分です。ただし、より小さいマシンまたはより大きいマシンを選択することもできます(最大 32 コア / 208 GiB RAM)。これとカスタム マシンタイプの詳細については、マシンタイプのドキュメントをご覧ください。: 新しいプロジェクトにはデフォルトのリソース割り当てが適用されるため、CPU コアの数が制限される場合があります。プロジェクトでより多くの割り当てをリクエストできます。

Windows Server OS バージョン

2016

ブートディスクの種類

Standard persistent disk注: パフォーマンスの高いソリッド ステート ディスク ドライブ(SSD)を必要に応じて選択できます。ストレージ オプションをご覧ください。

ディスクサイズ(GB)

100 デフォルトの 100 GB を使用していますが、ニーズに応じて増減できます。

ファイアウォール

Allow HTTP traffic
Allow HTTPS traffic
Allow WebDeploy traffic
Allow RDP trafficデフォルトを維持します。これにより、HTTP、HTTPS トラフィック、WebDeploy トラフィック、RDF トラフィックを許可するファイアウォール ルールが作成されます。

[デプロイ] をクリックして、Windows Server と ASP.NET Framework を使用した新しい仮想マシン インスタンスを作成します。新しいページが表示され、進行状況を確認できます。

3276c6d3647fd36.png

完了したら、左側のメニューから [Compute Engine] に移動し、[VM インスタンス] を選択します。[VM インスタンス] リストに新しい仮想マシンが表示されます。

fc50b1cfd8b1f4b3.png

[外部 IP] をクリックすると、インスタンスから提供されるデフォルトの IIS ウェブサイトも表示されます。

iis.PNG

マシンにリモート デスクトップ(RDP)接続することもできますが、まず Windows ユーザーとパスワードを作成する必要があります。

6. Windows ユーザーとパスワードを作成する

Windows のユーザーとパスワードを作成するには、[Windows パスワードを作成またはリセット] を選択します。

cf9b67269c4fa290.png

新しいウィンドウが開き、ユーザーを作成できます。デフォルトのままにして、[設定] を選択します。数秒後に、新しく作成されたパスワードを含む [新しい Windows パスワード] ダイアログが表示されます。このパスワードは、次のセクションで必要になるためメモしておきます。

7. Compute Engine の Windows Server にアプリケーションをデプロイする

Compute Engine インスタンスで実行されている Windows Server にアプリケーションをデプロイします。

まず、ASP.NET Framework を使用する Windows サーバーの Compute Engine へのデプロイでデプロイした Compute Engine インスタンスの外部 IP を確認する必要があります。Cloud コンソールで、[Compute] > [VM インスタンス] に移動し、インスタンスを見つけて外部 IP アドレスをメモします。

8163b495fda4a4c5.png

前の手順で作成した Windows のユーザー名とパスワードが必要になります。

Visual Studio の [ソリューション エクスプローラー] で、プロジェクトを右クリックし、コンテキスト メニューで [発行] を選択します。

31dc67741553583e.png

[Web の発行] ダイアログで、発行先として [カスタム] を選択します。

[新しいカスタム プロファイル] ダイアログで、デプロイ プロファイルの名前を指定して [OK] をクリックします。

次のようにプロフィールを入力します。

サーバー

The external IP address of your Compute Engine instance. This address can be found on the [VM インスタンス] ページ in the Cloud Console. The IP address is エフェメラル, which is sufficient for our purposes.

サイト名

Default Web Site: ここで指定するサイト名は、Compute Engine インスタンスの IIS マネージャーに表示される名前と一致している必要があります。

ユーザー名

The username of the Windows user account you created on your Compute Engine instance.

パスワード

The password of the Windows user account you created on your Compute Engine instance.

リンク先 URL

http://: 宛先 URL は、ページのデプロイ後にアクセス可能になるアドレスです。

[接続の検証] をクリックして、プロパティが正しく入力されていることを確認します。

5587e66e1f61acd6.png

デプロイの Microsoft IIS インストールではデフォルトで自己署名証明書が使用されるため、検証プロセス中に証明書エラーが表示されます。[Save this certificate for future sessions of Visual Studio](この証明書を今後の Visual Studio セッション用に保存する)チェックボックスをオンにして、[Accept](同意する)をクリックして証明書に同意します。

e7cc4bdef3064b9b.png

構成が有効であれば、[設定] をクリックします。[ファイル発行オプション] をクリックし、[発行先の追加ファイルを削除する] をオンにします。これは、後で新しいウェブサイトを同じ Compute Engine インスタンスに公開する際に重要になります。

1014554485ba6720.png

[公開] をクリックして、アプリケーションをデプロイします。発行が完了すると、Visual Studio はアプリケーションをデフォルトのウェブブラウザで開きます。

feab07f5ac573240.png

8. クリーンアップ

これで、それでは、使用したリソースをクリーンアップします(費用を節約し、クラウドのマナーを守るため)。

インスタンスを削除するか、単に停止することができます。ただし、停止したインスタンスでもストレージに関連する費用が発生する可能性があることに注意してください。

a3152ac7b76cdd4e.png

もちろん、プロジェクト全体を削除することもできますが、設定した課金はすべて失われます(最初にプロジェクトの課金を無効にする必要があります)。また、プロジェクトを削除しても、現在の請求期間が終了するまで請求は停止されません。

9. 完了

Google Compute Engine は、Google Cloud Platform の Infrastructure as a Service(サービスとしてのインフラストラクチャ)の基盤です。ご覧のとおり、Compute Engine の Windows Server に ASP.NET アプリをデプロイするのは非常に簡単です。

学習した内容

  • シンプルな ASP.NET アプリを作成する方法。
  • Visual Studio で ASP.NET アプリをローカルで実行する方法。
  • ASP.NET アプリを Compute Engine の Windows Server にデプロイして実行する方法について説明します。

次のステップ

ライセンス

この作業はクリエイティブ・コモンズの表示 2.0 汎用ライセンスにより使用許諾されています。

/