QuickStart: ASPアプリケーションをNET Elastic Beanstalk にデプロイする - AWS Elastic Beanstalk

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

QuickStart: ASPアプリケーションをNET Elastic Beanstalk にデプロイする

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

注記

この QuickStart チュートリアルはデモンストレーションを目的としています。このチュートリアルで作成したアプリケーションを本番トラフィックに使用しないでください。

AWS アカウント

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

AWS アカウントを既にお持ちの場合は、 に進むことができます前提条件

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

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

にサインアップするには AWS アカウント
  1. https://portal.aws.amazon.com/billing/サインアップ を開きます。

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

    サインアップ手順の一環として、通話呼び出しを受け取り、電話キーパッドで検証コードを入力するように求められます。

    にサインアップすると AWS アカウント、 AWS アカウントのルートユーザーが作成されます。ルートユーザーには、アカウントのすべての AWS サービス とリソースへのアクセス権があります。セキュリティのベストプラクティスとして、ユーザーに管理アクセスを割り当て、ルートユーザーのみを使用してルートユーザーアクセスが必要なタスクを実行してください。

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

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

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

のセキュリティ保護 AWS アカウントのルートユーザー
  1. ルートユーザーを選択し、 AWS アカウント E メールアドレスを入力して、アカウント所有者AWS Management Consoleとして にサインインします。次のページでパスワードを入力します。

    ルートユーザーを使用してサインインする方法については、AWS サインイン ユーザーガイドルートユーザーとしてサインインするを参照してください。

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

    手順については、「 ユーザーガイド」の AWS アカウント 「ルートユーザーの仮想MFAデバイスを有効にする (コンソール)IAM」を参照してください。

管理アクセスを持つユーザーを作成する
  1. IAM Identity Center を有効にします。

    手順については、「AWS IAM Identity Center ユーザーガイド」の「AWS IAM Identity Centerの有効化」を参照してください。

  2. IAM Identity Center で、ユーザーに管理アクセス権を付与します。

    を ID ソース IAM アイデンティティセンターディレクトリ として使用する方法のチュートリアルについては、「 ユーザーガイド」の「デフォルト でユーザーアクセスを設定する IAM アイデンティティセンターディレクトリAWS IAM Identity Center 」を参照してください。

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

    IAM Identity Center ユーザーを使用してサインインする方法については、「 AWS サインイン ユーザーガイド」の AWS 「 アクセスポータルにサインインする」を参照してください。

追加のユーザーにアクセス権を割り当てる
  1. IAM Identity Center で、最小特権のアクセス許可を適用するベストプラクティスに従うアクセス許可セットを作成します。

    手順については、「AWS IAM Identity Center ユーザーガイド」の「権限設定を作成する」を参照してください。

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

    手順については、「AWS IAM Identity Center ユーザーガイド」の「グループの参加」を参照してください。

前提条件

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

Visual Studio

Visual Studio をダウンロードしてインストールするには、Visual Studio のダウンロードページ「」の指示に従ってください。この例では、Visual Studio 2022 を使用しています。Visual Studio のインストール中に、以下の特定の項目を選択します。

  • ワークロード タブで を選択しますASP。NET とウェブ開発

  • 個別コンポーネント タブで を選択します。NET Framework 4.8 開発ツール。NET フレームワークプロジェクトと項目テンプレート

AWS Toolkit for Visual Studio

ダウンロードしてセットアップするには、「 AWS Toolkit for Visual Studio ユーザーガイド」の「開始方法」トピックの指示 AWS Toolkit for Visual Studio に従ってください。

ステップ 1: ASPNETアプリケーションを作成する

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

ASPアプリケーションを作成するにはNET
  1. Visual Studio を起動します。ファイルメニューで、新規 を選択し、次にプロジェクト を選択します。

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

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

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

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

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

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

  6. 以下を に追加する 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: アプリケーションをローカルで実行する

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

ステップ 3: を使用して ASPNETアプリケーションをデプロイする AWS Toolkit for Visual Studio

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

環境を作成して ASPNETアプリケーションをデプロイするには
  1. Solution Explorer で、アプリケーションを右クリックし、 に発行を選択します AWS Elastic Beanstalk

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

  3. この時点以降は、Elastic Beanstalk が提供するデフォルトを続行するか、好みのオプションと設定を変更できます。

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

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

ステップ 4: Elastic Beanstalk でアプリケーションを実行する

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

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

ステップ 5:クリーンアップ

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

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

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

AWS アプリケーションの リソース

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 グループはレスポンスとしてスケールアップまたはダウンを行います。

  • AWS CloudFormation スタック — Elastic Beanstalk は AWS CloudFormation を使用して環境内のリソースを起動し、設定変更を伝達します。リソースは、AWS CloudFormation コンソールに表示できるテンプレートで定義されます。

  • ドメイン名 – フォームでウェブアプリケーションにルーティングするドメイン名 subdomain.region.elasticbeanstalk.com

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

次のステップ

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

さらにチュートリアルを試す

異なるサンプルアプリケーションで他のチュートリアルを試す場合は、「」を参照してくださいQuickStart の 。NET Windows の Core

サンプルアプリケーションを 1 つまたは 2 つデプロイし、 の開発と実行を開始する準備ができたら、「」を参照してくださいASP。NET 開発NET環境のセットアップ

Elastic Beanstalk コンソールを使用してデプロイする

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