

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# QuickStart: Elastic Beanstalk に .NET Core on Windows アプリケーションをデプロイする
<a name="dotnet-quickstart"></a>

この QuickStart チュートリアルでは、.NET Core on Windows アプリケーションを作成し、 AWS Elastic Beanstalk 環境にデプロイするプロセスについて説明します。

**本番稼働用ではない**  
例はデモンストレーションのみを目的としています。サンプルアプリケーションを本番環境で使用しないでください。

**Topics**
+ [AWS アカウント](#dotnet-quickstart-aws-account)
+ [前提条件](#dotnet-quickstart-prereq)
+ [ステップ 1: .NET Core on Windows アプリケーションを作成する](#dotnet-quickstart-create-app)
+ [ステップ 2: アプリケーションをローカルに実行する](#dotnet-quickstart-run-local)
+ [ステップ 3: EB CLI を使用して .NET Core on Windows アプリケーションをデプロイする](#dotnet-quickstart-deploy)
+ [ステップ 4: Elastic Beanstalk でアプリケーションを実行する](#dotnet-quickstart-run-eb-ap)
+ [ステップ 5: クリーンアップ](#go-tutorial-cleanup)
+ [AWS アプリケーションの リソース](#dotnet-quickstart-eb-resources)
+ [次の手順](#dotnet-quickstart-next-steps)
+ [Elastic Beanstalk コンソールでデプロイする](#dotnet-quickstart-console)

## AWS アカウント
<a name="dotnet-quickstart-aws-account"></a>

まだ AWS のお客様でない場合は、 AWS アカウントを作成する必要があります。サインアップすると、Elastic Beanstalk やその他の必要な AWS サービスにアクセスできます。

 AWS アカウントをすでにお持ちの場合は、「」に進むことができます[前提条件](#dotnet-quickstart-prereq)。

### AWS アカウントを作成する
<a name="dotnet-quickstart-aws-account-procedure"></a>

#### にサインアップする AWS アカウント
<a name="sign-up-for-aws"></a>

の使用を開始するには AWS、 が必要です AWS アカウント。の作成の詳細については AWS アカウント、 *AWS アカウント管理 リファレンスガイド*[の「 の開始方法 AWS アカウント](https://docs.aws.amazon.com//accounts/latest/reference/getting-started.html)」を参照してください。

## 前提条件
<a name="dotnet-quickstart-prereq"></a>

このガイドの手順に従うには、run commands のためのコマンドラインターミナルまたはシェルが必要になります。コマンドは、該当する場合、プロンプト記号 (>) と現在のディレクトリの名前が前に付けられて、リストに示されます。

```
C:\eb-project> this is a command
this is output
```

### EB CLI
<a name="dotnet-quickstart-prereq.ebcli"></a>

このチュートリアルでは、Elastic Beanstalk コマンドラインインターフェイス (EB CLI) を使用します。EB CLI をインストールおよび設定する手順の詳細については、「[セットアップスクリプトを使用して EB CLI をインストールする (推奨)](eb-cli3.md#eb-cli3-install)」および「[EB CLI の設定](eb-cli3-configuration.md)」を参照してください。

### .NET Core on Windows
<a name="dotnet-quickstart-prereq.runtime"></a>

ローカルマシンに .NET SDK がインストールされていない場合は、[.NET ドキュメント](https://learn.microsoft.com/en-us/dotnet/)ウェブサイトの [.NET のダウンロード](https://dotnet.microsoft.com/en-us/download)リンクに従ってインストールできます。

次のコマンドを実行して、.NET SDK のインストールを確認します。

```
C:\> dotnet --info
```

## ステップ 1: .NET Core on Windows アプリケーションを作成する
<a name="dotnet-quickstart-create-app"></a>

プロジェクトディレクトリを作成します。

```
C:\> mkdir eb-dotnetcore
C:\> cd eb-dotnetcore
```

次に、次のコマンドを実行して、サンプルの Hello World RESTful ウェブサービスアプリケーションを作成します。

```
C:\eb-dotnetcore> dotnet new web --name HelloElasticBeanstalk
C:\eb-dotnetcore> cd HelloElasticBeanstalk
```

## ステップ 2: アプリケーションをローカルに実行する
<a name="dotnet-quickstart-run-local"></a>

アプリケーションをローカルで実行するには、次のコマンドを実行します。

```
C:\eb-dotnetcore\HelloElasticBeasntalk> dotnet run
```

出力は次のテキストのようになります。

```
info: Microsoft.Hosting.Lifetime[14]
      Now listening on: https://localhost:7222
info: Microsoft.Hosting.Lifetime[14]
      Now listening on: http://localhost:5228
info: Microsoft.Hosting.Lifetime[0]
      Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
      Hosting environment: Development
info: Microsoft.Hosting.Lifetime[0]
      Content root path: C:\Users\Administrator\eb-dotnetcore\HelloElasticBeanstalk
```

**注記**  
`dotnet` コマンドは、アプリケーションをローカルで実行するときに、ポートをランダムに選択します。この例では、ポートは 5228 です。アプリケーションを Elastic Beanstalk 環境にデプロイすると、アプリケーションはポート 5000 で実行されます。

ウェブブラウザに URL アドレス `http://localhost:{{port}}` を入力します。この特定の例では、コマンドは `http://localhost:5228` です。ウェブブラウザに「Hello World\!」と表示されます。

## ステップ 3: EB CLI を使用して .NET Core on Windows アプリケーションをデプロイする
<a name="dotnet-quickstart-deploy"></a>

次のコマンドを実行して、このアプリケーションの Elastic Beanstalk 環境を作成します。

 

**環境を作成し、.NET Core on Windows アプリケーションをデプロイするには**

1. `HelloElasticBeanstalk` ディレクトリで次のコマンドを実行して、アプリケーションを公開して圧縮します。

   ```
   C:\eb-dotnetcore\HelloElasticBeasntalk> dotnet publish -o site
   C:\eb-dotnetcore\HelloElasticBeasntalk> cd site
   C:\eb-dotnetcore\HelloElasticBeasntalk\site> Compress-Archive -Path * -DestinationPath ../site.zip
   C:\eb-dotnetcore\HelloElasticBeasntalk\site> cd ..
   ```

1. `aws-windows-deployment-manifest.json` という新しいファイルを `HelloElasticBeanstalk` に次の内容で作成します。

   ```
   {
       "manifestVersion": 1,
       "deployments": {
           "aspNetCoreWeb": [
           {
               "name": "test-dotnet-core",
               "parameters": {
                   "appBundle": "site.zip",
                   "iisPath": "/",
                   "iisWebSite": "Default Web Site"
               }
           }
           ]
       }
   }
   ```

1. **eb init** コマンドを使用して EB CLI リポジトリを初期化します。

   ```
   C:\eb-dotnetcore\HelloElasticBeasntalk> eb init -p iis dotnet-windows-server-tutorial --region {{us-east-2}}
   ```

   このコマンドは、`dotnet-windows-server-tutorial` という名前のアプリケーションを作成し、ローカルリポジトリを設定して最新の Windows Server プラットフォームバージョンで環境を作成します。

1. 環境を作成し、**eb create** を使用してそこにアプリケーションをデプロイします。Elastic Beanstalk は、アプリケーションの zip ファイルを自動的にビルドし、ポート 5000 で起動します。

   ```
   C:\eb-dotnetcore\HelloElasticBeasntalk> eb create dotnet-windows-server-env
   ```

   Elastic Beanstalk が環境を作成するのに約 5 分かかります。

## ステップ 4: Elastic Beanstalk でアプリケーションを実行する
<a name="dotnet-quickstart-run-eb-ap"></a>

環境を作成するプロセスが完了したら、**eb open** でウェブサイトを開きます。

```
C:\eb-dotnetcore\HelloElasticBeasntalk> eb open
```

お疲れ様でした。Elastic Beanstalk を使用して .NET Core on Windows アプリケーションをデプロイしました。これにより、アプリケーション用に作成されたドメイン名を使用してブラウザ Window が開きます。

## ステップ 5: クリーンアップ
<a name="go-tutorial-cleanup"></a>

アプリケーションでの作業が終了したら、環境を終了できます。Elastic Beanstalk は、環境に関連付けられているすべての AWS リソースを終了します。

EB CLI を使用して Elastic Beanstalk 環境を終了するには、次のコマンドを実行します。

```
C:\eb-dotnetcore\HelloElasticBeasntalk> eb terminate
```

## AWS アプリケーションの リソース
<a name="dotnet-quickstart-eb-resources"></a>

1 つのインスタンスアプリケーションを作成しました。1 つの EC2 インスタンスを持つ簡単なサンプルアプリケーションとして動作するため、ロードバランシングや自動スケーリングは必要ありません。単一インスタンスアプリケーションの場合、Elastic Beanstalk は次の AWS リソースを作成します。
+ **EC2 インスタンス** – 選択したプラットフォームでウェブアプリケーションを実行するよう設定された Amazon EC2 仮想マシン。

  各プラットフォームは、それぞれ特定の言語バージョン、フレームワーク、ウェブコンテナ、またはそれらの組み合わせをサポートするための、さまざまなソフトウェア、設定ファイル、スクリプトを実行します。ほとんどのプラットフォームでは、ウェブアプリケーションの前にウェブトラフィックを処理するリバースプロキシとして Apache または nginx のいずれかを使用します。そのプロキシがリクエストをアプリケーションに転送し、静的アセットを提供して、アクセスログとエラーログを生成します。
+ **インスタンスセキュリティグループ** – ポート 80 上の受信トラフィックを許可するよう設定された Amazon EC2 セキュリティグループ。このリソースでは、ロードバランサーからの HTTP トラフィックが、ウェブ・アプリケーションを実行している EC2 インスタンスに達することができます。デフォルトでは、トラフィックは他のポート上で許可されません。
+ **Amazon S3 バケット** – Elastic Beanstalk の使用時に作成されるソースコード、ログ、その他のアーティファクトの保存場所。
+ **Amazon CloudWatch アラーム** – 環境内のインスタンスの負荷を監視する 2 つの CloudWatch アラーム。負荷が高すぎる、または低すぎる場合にトリガーされます。アラームがトリガーされると、Auto Scaling グループはレスポンスとしてスケールアップまたはダウンを行います。
+ **CloudFormation スタック** – Elastic Beanstalk は CloudFormation を使用して環境内のリソースを起動し、設定変更を伝達します。リソースは、[CloudFormation コンソール](https://console.aws.amazon.com/cloudformation)に表示できるテンプレートで定義されます。
+  **ドメイン名** – ウェブ・アプリケーションまでのルートとなるドメイン名であり、*{{subdomain}}.{{region}}.elasticbeanstalk.com* の形式です。

Elastic Beanstalk は、これらのリソースをすべて管理します。環境を終了すると、Elastic Beanstalk は含まれているすべてのリソースを終了します。

## 次の手順
<a name="dotnet-quickstart-next-steps"></a>

アプリケーションを実行する環境を手に入れた後、アプリケーションの新しいバージョンや、異なるアプリケーションをいつでもデプロイできるようになります。新しいアプリケーションバージョンのデプロイは、プロビジョニングや EC2 インスタンスの再開が必要ないため、非常に素早く行えます。Elastic Beanstalk コンソールを使用して新しい環境を調べることもできます。詳細な手順については、このガイドの「*開始方法*」の章の「[環境を探索する](GettingStarted.md#GettingStarted.Explore)」を参照してください。

**その他のチュートリアルを試す**  
異なるアプリケーション例の他のチュートリアルを試したい場合は、「[ASP.NET の QuickStart](aspnet-quickstart.md)」を参照してください。

1 つか 2 つのサンプルアプリケーションをデプロイし、ローカルで .NET Core on Windows アプリケーションを開発して実行する準備が整ったら、「[.NET 開発環境のセットアップ](dotnet-devenv.md)」を参照します。

## Elastic Beanstalk コンソールでデプロイする
<a name="dotnet-quickstart-console"></a>

Elastic Beanstalk コンソールを使用してサンプルアプリケーションを起動することもできます。詳細な手順については、このガイドの「*開始方法*」の章の「[サンプルアプリケーションを作成する](GettingStarted.md#GettingStarted.CreateApp)」を参照してください。