

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

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

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

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

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

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

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

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

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

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

がない場合は AWS アカウント、次の手順を実行して作成します。

**にサインアップするには AWS アカウント**

1. [https://portal.aws.amazon.com/billing/signup](https://portal.aws.amazon.com/billing/signup) を開きます。

1. オンラインの手順に従います。

   サインアップ手順の一環として、電話またはテキストメッセージを受け取り、電話キーパッドで検証コードを入力します。

   にサインアップすると AWS アカウント、 *AWS アカウントのルートユーザー* が作成されます。ルートユーザーには、アカウントのすべての AWS のサービス とリソースへのアクセス権があります。セキュリティベストプラクティスとして、ユーザーに管理アクセス権を割り当て、[ルートユーザーアクセスが必要なタスク](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)の実行にはルートユーザーのみを使用するようにしてください。

AWS サインアッププロセスが完了すると、 から確認メールが送信されます。[https://aws.amazon.com/](https://aws.amazon.com/) の **[マイアカウント]** をクリックして、いつでもアカウントの現在のアクティビティを表示し、アカウントを管理することができます。

#### 管理アクセスを持つユーザーを作成する
<a name="create-an-admin"></a>

にサインアップしたら AWS アカウント、日常的なタスクにルートユーザーを使用しないように AWS アカウントのルートユーザー、 を保護し AWS IAM アイデンティティセンター、 を有効にして管理ユーザーを作成します。

**を保護する AWS アカウントのルートユーザー**

1.  **ルートユーザー**を選択し、 AWS アカウント E メールアドレスを入力して、アカウント所有者[AWS マネジメントコンソール](https://console.aws.amazon.com/)として にサインインします。次のページでパスワードを入力します。

   ルートユーザーを使用してサインインする方法については、「*AWS サインイン ユーザーガイド*」の「[ルートユーザーとしてサインインする](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial)」を参照してください。

1. ルートユーザーの多要素認証 (MFA) を有効にします。

   手順については、*IAM* [ユーザーガイドの AWS アカウント 「ルートユーザー (コンソール) の仮想 MFA デバイス](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html)を有効にする」を参照してください。

**管理アクセスを持つユーザーを作成する**

1. IAM アイデンティティセンターを有効にします。

   手順については、「*AWS IAM アイデンティティセンター ユーザーガイド*」の「[AWS IAM アイデンティティセンターの有効化](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-set-up-for-idc.html)」を参照してください。

1. IAM アイデンティティセンターで、ユーザーに管理アクセスを付与します。

   を ID ソース IAM アイデンティティセンターディレクトリ として使用する方法のチュートリアルについては、*AWS IAM アイデンティティセンター 「 ユーザーガイド*」の[「デフォルトを使用してユーザーアクセスを設定する IAM アイデンティティセンターディレクトリ](https://docs.aws.amazon.com//singlesignon/latest/userguide/quick-start-default-idc.html)」を参照してください。

**管理アクセス権を持つユーザーとしてサインインする**
+ IAM アイデンティティセンターのユーザーとしてサインインするには、IAM アイデンティティセンターのユーザーの作成時に E メールアドレスに送信されたサインイン URL を使用します。

  IAM Identity Center ユーザーを使用してサインインする方法については、*AWS サインイン 「 ユーザーガイド*[」の AWS 「 アクセスポータルにサインイン](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html)する」を参照してください。

**追加のユーザーにアクセス権を割り当てる**

1. IAM アイデンティティセンターで、最小特権のアクセス許可を適用するというベストプラクティスに従ったアクセス許可セットを作成します。

   手順については、「*AWS IAM アイデンティティセンター ユーザーガイド*」の「[アクセス許可セットを作成する](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-started-create-a-permission-set.html)」を参照してください。

1. グループにユーザーを割り当て、そのグループにシングルサインオンアクセス権を割り当てます。

   手順については、「*AWS IAM アイデンティティセンター ユーザーガイド*」の「[グループを追加する](https://docs.aws.amazon.com//singlesignon/latest/userguide/addgroups.html)」を参照してください。

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

この QuickStart チュートリアルでは、「Hello World」アプリケーションを作成し、Visual Studio と を使用して Elastic Beanstalk 環境にデプロイする方法について説明します AWS Toolkit for Visual Studio。

### Visual Studio
<a name="aspnet-quickstart-prereq.vs"></a>

Visual Studio をダウンロードしてインストールするには、Visual Studio [ダウンロードページ](https://visualstudio.microsoft.com/downloads/)の手順に従います。この例では、Visual Studio 2022 を使用しています。Visual Studio のインストール中に、以下の特定の項目を選択します。
+ **[ワークロード]** タブで、**[ASP.NET とウェブ開発]** を選択します。
+ **[個別コンポーネント]** タブで、**[.NET Framework 4.8 開発ツール]** と **[.NET Framework プロジェクトと項目テンプレート]** を選択します。

### AWS Toolkit for Visual Studio
<a name="aspnet-quickstart-prereq.aws-vs-tk"></a>

ダウンロードしてセットアップするには、「 AWS Toolkit for Visual Studio ユーザーガイド」の[「開始](https://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/getting-set-up.html)方法」トピックの手順 AWS Toolkit for Visual Studio に従います。

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

次に、Elastic Beanstalk 環境にデプロイするアプリケーションを作成します。ここでは「Hello World」ASP.NET ウェブアプリケーションを作成します。

**ASP.NET アプリケーションを作成するには**

1. Visual Studio を起動します。**[ファイル]** メニューで、**[新規]** を選択し、次に **[プロジェクト]** を選択します。

1. **[新しいプロジェクトの作成]** ダイアログボックスが表示されます。**[ASP.NET ウェブアプリケーション (.NET Framework)]** を選択し、**[次へ]** を選択します。

1. **[新しいプロジェクトの設定]** ダイアログで、**[プロジェクト名]** に `eb-aspnet` と入力します。**[フレームワーク]** ドロップダウンメニューから **[.NET Framework 4.8]** を選択し、**[作成]** を選択します。

   プロジェクトディレクトリを書き留めます。この例では、プロジェクトディレクトリは `C:\Users\Administrator\source\repos\eb-aspnet\eb-aspnet` です。

1. **[新しい ASP.NET ウェブアプリケーションの作成]** ダイアログが表示されます。**[空]** のテンプレートを選択します。次に、**[作成]** を選択します。

   この時点で、Visual Studio を使用して空の ASP.NET ウェブアプリケーションプロジェクトを作成しました。次に、ASP.NET ウェブアプリケーションのエントリポイントとして機能するウェブフォームを作成します。

1. **[プロジェクト]** メニューから、**[新しいアイテムの追加]** を選択します。**[新しいアイテムの追加]** ページで、**[ウェブフォーム]** を選択し、`Default.aspx` と名前を付けます。次に **[追加]** を選択します。

1. 以下を `Default.aspx:` に追加します

   ```
   <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="eb_aspnet.Default" %>
   
   <!DOCTYPE html>
   
   <html xmlns="https://www.w3.org/1999/xhtml">
   <head runat="server">
       <title>Hello Elastic Beanstalk!</title>
   </head>
   <body>
       <form id="body" runat="server">
           <div>
               Hello Elastic Beanstalk! This is an ASP.NET on Windows Server application.
           </div>
       </form>
   </body>
   </html>
   ```

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

Visual Studio で、**[デバッグ]** メニューから **[デバッグの開始]** を選択してアプリケーションをローカルで実行します。ページには「Hello Elastic Beanstalk\$1」と表示されます。これは ASP.NET on Windows Server アプリケーションです。

## ステップ 3: を使用して ASP.NET アプリケーションをデプロイする AWS Toolkit for Visual Studio
<a name="aspnet-quickstart-deploy"></a>

Elastic Beanstalk 環境を作成し、そこに新しいアプリケーションをデプロイするには、以下の手順に従います。

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

1. **[ソリューションエクスプローラー]** でアプリケーションを右クリックし、**[ AWS Elastic Beanstalkに公開]** を選択します。

1. 新しい Elastic Beanstalk アプリケーションと環境の名前を選択します。

1. この時点以降は、Elastic Beanstalk に用意されているデフォルトを続行することも、どのオプションや設定でも好みに変更することもできます。

1. **[確認]** ページで、**[デプロイ]** を選択します。これにより、ASP.NET ウェブアプリケーションがパッケージ化され、Elastic Beanstalk にデプロイされます。

   Elastic Beanstalk が環境を作成するのに約 5 分かかります。Elastic Beanstalk デプロイ機能は、新しくデプロイされたコードで利用できるようになるまで、環境を監視します。**[Env:<**environment name**>]** タブには、環境のステータスが表示されます。

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

環境を作成するプロセスが完了すると、**[Env:<**environment name**>]** タブに、アプリケーションを起動するドメイン URL など、環境とアプリケーションに関する情報が表示されます。このタブでこの URL を選択するか、ウェブブラウザにコピーして貼り付けます。

お疲れ様でした。Elastic Beanstalk で ASP.NET アプリケーションをデプロイしました。

## ステップ 5：クリーンアップ
<a name="aspnet-quickstart-cleanup"></a>

アプリケーションの使用が終了したら、 AWS Toolkit for Visual Studioで環境を終了できます。

**環境を終了するには**

1. [**AWS Explorer**] でElastic Beanstalk ノードとアプリケーションノードを展開します。アプリケーション環境を右クリックして、[**環境の終了**] を選択します。

1. プロンプトが表示されたら、[**はい**] を選択して、環境を終了することを確認します。Elastic Beanstalk が環境で実行されている AWS リソースを終了するまでに数分かかります。

## AWS アプリケーションの リソース
<a name="aspnet-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="aspnet-quickstart-next-steps"></a>

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

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

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

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

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