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 を使用して Compute Engine に Windows Server をデプロイする Codelab をベースにしています。先にラボを完了しておくことをおすすめします。

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

学習内容

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

必要なもの

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

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

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

<ph type="x-smartling-placeholder"></ph> 初心者 中級 上達 をご覧ください。

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 Server を Compute Engine にデプロイするでデプロイした Compute Engine インスタンスの外部 IP を見つける必要があります。Cloud コンソールで、[コンピューティング] >外部 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 Manager に表示される名前と一致している必要があります。

ユーザー名

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 のインストールでは、デフォルトで自己署名証明書が使用されるため、検証プロセス中に証明書エラーが表示されます。[今後の Visual Studio のセッションのためにこの証明書を保存する] チェックボックスをオンにし、[同意する] をクリックして証明書を受け入れます。

e7cc4bdef3064b9b.png

構成が有効であれば、[設定] をクリックします。[File Publish Options] をクリックし、[Remove additional files at destination] をオンにします。これは、後の手順で同じ Compute Engine インスタンスに新しいウェブサイトを公開するときに重要です。

1014554485ba6720.png

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

feab07f5ac573240.png

8. クリーンアップ

これで、今度は、使用したリソースをクリーンアップします(費用を節約し、クラウドにおけるマナーを保つため)。

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

a3152ac7b76cdd4e.png

もちろん、プロジェクト全体を削除することもできますが、行ったお支払い情報の設定は失われます(先にプロジェクトの請求を無効にする必要があります)。また、プロジェクトを削除しても、課金が停止されるのは現在の請求期間が終了した後に限られます。

9. 完了

Google Compute Engine は、Google Cloud Platform の Infrastructure as a Service(サービスとしてのインフラストラクチャ)の基盤です。これまで見てきたように、ASP.NET アプリを Compute Engine 上の Windows Server にデプロイするのはとても簡単です。

学習した内容

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

次のステップ

ライセンス

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

/