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

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

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

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

注記

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

AWS アカウント

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

管理アクセスを持つユーザーを作成する
  1. IAM アイデンティティセンターを有効にします。

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

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

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

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

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

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

    手順については、「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 Framework プロジェクトと項目テンプレート] を選択します。

AWS Toolkit for Visual Studio

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

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

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

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

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

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

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

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

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

  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!」と表示されます。これは ASP.NET on Windows Server アプリケーションです。

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

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

環境を作成し、ASP.NET アプリケーションをデプロイするには
  1. [ソリューションエクスプローラー] でアプリケーションを右クリックし、[ 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 で ASP.NET アプリケーションをデプロイしました。

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

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

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

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

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

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

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

  • ドメイン名 – ウェブ・アプリケーションまでのルートとなるドメイン名であり、subdomain.region.elasticbeanstalk.com の形式です。

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

次のステップ

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

その他のチュートリアルを試す

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

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

Elastic Beanstalk コンソールでデプロイする

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