.Traditional ASP NET アプリケーションを Elastic Beanstalk にデプロイします。 - AWS Toolkit for Visual Studio

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

.Traditional ASP NET アプリケーションを Elastic Beanstalk にデプロイします。

このセクションでは、 Elastic Beanstalk を介してアプリケーションをデプロできるように、Toolkit for Visual Studio の一部として提供される [Publish to Elastic Beanstalk] (Elastic Beanstalk への発行) ウィザードの使用方法を記述します。演習を行う場合は、ウェブアプリケーションのスタータープロジェクトのインスタンスを使うことができます。これは Visual Studio に組み込まれています。または独自のプロジェクトを使用することもできます。

注記

ウィザードでは ASP.NET Core アプリケーションのデプロイもサポートしています。ASP.NET Core の詳細については、AWS.NET デプロイツールガイドと更新されたAWSデプロイの目次」を参照してください。

注記

[Publish to Elastic Beanstalk] (Elastic Beanstalk への発行) ウィザードを使用するには、Web Deploy をダウンロードしてインストールする必要があります。ウィザードでは、Web Deploy を用いて Internet Information Services (IIS) ウェブサーバーにウェブアプリケーションやウェブサイトをデプロイします。

サンプルウェブアプリケーションのスタータープロジェクトを作成するには

  1. Visual Studio の [File (ファイル)] メニューで [New (新規)] を選択し、[Project (プロジェクト)] を選択します。

  2. [New Project (新規プロジェクト)] ダイアログボックスのナビゲーションペインで、[Installed (インストール済み)]、[Templates (テンプレート)]、[Visual C#] の順に展開し、[Web] を選択します。

  3. ウェブプロジェクトテンプレートのリストの中から、WebApplication が説明に含まれるテンプレートのいずれかを選択します。この例では、[ASP.NET Web Forms Application (ASP.NET Web Forms アプリケーション)] を選択します。

  4. [Name (名前)] ボックスに、「AEBWebAppDemo」と入力します。

  5. [Location] ボックスで、開発マシンのソリューションフォルダへのパスを入力するか、[Browse] を選択し、ソリューションフォルダを参照して選択し、[Select Folder] を選択します。

  6. [Create directory for solution (ソリューションのディレクトリの作成)] が選択されていることを確認します。[Solution] (ソリューション) ドロップダウンリストで、[Create new solution] (新しいソリューションの作成) が選択されていることを確認し、[OK] を選択します。Visual Studio を用いて、ASP.NET Web Forms Application プロジェクトテンプレートをベースにしたソリューションやプロジェクトを作成できます。新しいソリューションやプロジェクトが表示される Solution Explorer が、Visual Studio の画面に表示されます。

[Publish to Elastic Beanstalk (Elastic Beanstalk への発行)] ウィザードを使用してアプリケーションをデプロイするには

  1. Solution Explorer で、前のセクションで作成したプロジェクトの AEBWebAppDemo プロジェクトフォルダのコンテキストメニュー (右クリック) するか、またはユーザーが作成したアプリケーションのプロジェクトフォルダのコンテキストメニューを開き、[Publish toAWS Elastic Beanstalk] (Elastic Beanstalk への発行) を選択します。

    [Publish to Elastic Beanstalk] (Elastic Beanstalk への発行) ウィザードが表示されます。

  2. [Profile] (プロファイル) の [Account profile to use for deployment] (デプロイに使用するアカウントプロファイル) ドロップダウンリストで、デプロイに使用する AWS アカウントプロファイルを選択します。

    使用したい AWS アカウントはあるけれども AWS アカウントプロファイルをまだ作成していない場合、オプションとして、プラス記号 (+) のボタンを選択して AWS アカウントのプロファイルを追加できます。

  3. [Region] (リージョン) ドロップダウンリストから、Elastic Beanstalkをアプリケーションにデプロイしたいリージョンを選択します。

  4. [Deployment Target] (デプロイ先) では、[Create a new application environment] (新しいアプリケーション環境を作成) を選択してアプリケーションの初期デプロイを行うことも、[Redeploy to an existing environment] (既存の環境に再デプロイ) を選択してデプロイ済みアプリケーションの再デプロイを行うかこともできます。(前回のデプロイをウィザードまたは [Standalone Deployment Tool] (スタンドアロンデプロイツール) のどちらで実行していてもかまいません。) [Redeploy to an existing environment] を選択した場合は、現在稼働中の前回のデプロイに関する情報をウィザードが取得するのに時間を要することがあります。

    注記

    [Redeploy to an existing environment (既存の環境に再デプロイする)] を選択した場合は、リストの中から環境を選択し、[Next (次へ)] を選択すると、[Application Options (アプリケーションオプション)] ページを直接表示できます。この方法でページを表示した場合は、本セクションで口述する [Application Options (アプリケーションオプション)] ページの使用方法について説明している箇所までスキップしてください。

  5. [Next] (次へ) を選択します。

  6. [Application Environment] (アプリケーション環境) ページの [Application] (アプリケーション) エリアにある [Name] (名前) ドロップダウンリストに、推奨されるデフォルトのアプリケーション名が表示されます。ドロップダウンリストの別の名前を選択することで、デフォルト名を変更できます。

  7. [Environment] (環境) エリアの [Name] (名前) ドロップダウンリストで、Elastic Beanstalk 環境の名前を入力します。このコンテキストでは、環境という用語は、アプリケーションのインフラストラクチャ Elastic Beanstalk プロビジョニングを意味します。推奨されるデフォルト名がドロップダウンリストに既に表示されている場合があります。推奨されるデフォルト名が表示されていない場合は自身で入力するか、他に選択候補がある場合は、ドロップダウンリストからいずれか 1 つを選択します。環境の名前は 23 文字より長くすることはできません。

  8. [URL] エリアでは、ウェブアプリケーションの URL として使用される、デフォルトの .elasticbeanstalk.com のサブドメイン候補が表示されます。新しいサブドメイン名を入力することで、デフォルトのサブドメインを変更できます。

  9. [Check availability] を選択して、ウェブアプリケーションの URL が使用されていないことを確認します。

  10. ウェブアプリケーションの URL が使用可能な場合は、[Next] を選択します。

  1. [AWS Options] (オプション) ページの [Amazon EC2 Launch Configuration] (Amazon EC2 起動設定) にある [Container type] (コンテナタイプ) ドロップダウンリストから、アプリケーションで使用する Amazon Machine Image (AMI) を選択します。

  2. [Instance type] (インスタンスタイプ) ドロップダウンリストで、使用する Amazon EC2 インスタンスタイプを指定します。この例では、[Micro (マイクロ)] の使用をお勧めします。これにより、インスタンスの実行に関連するコストが最小化されます。Amazon EC2 の料金の詳細については、「EC2 料金」のページを参照してください。

  3. [Key pair] (キーペア) ドロップダウンリストで、アプリケーションで使用するインスタンスにサインインする際の Amazon EC2 インスタンスキーペアを選択します。

  4. オプションとして、[Use custom AMI] (カスタム AMI を使用) ボックスで、[Container type] (カスタムタイプ) ドロップダウンリストで指定した AMI を上書きするカスタム AMI を指定できます。カスタム AMI の作成方法の詳細については、AWS Elastic Beanstalk デベロッパーガイドの「カスタム AMI の使用」と「Amazon EC2 インスタンスからの AMI の作成」を参照してください。

  5. VPC 内でインスタンスを起動する場合は、[Use a VPC] ボックスを選択します。

  6. オプションとして、Amazon EC2 インスタンスを 1 つだけ起動してアプリケーションをそのインスタンスにデプロイしたい場合、[Single instance environment] (単一インスタンス環境) ボックスを選択します。

    このボックスを選択する場合、 Elastic BeanstalkによりAuto Scaling グループが作成されますが、設定はされません。Auto Scaling グループを後で設定したい場合、AWS Management Console を使用できます。

  7. オプションとして、アプリケーションをデプロイするインスタンスを条件で制御する場合は、[Enable Rolling Deployments] (ローリングデプロイを有効にする) ボックスを選択します。このボックスは [Single instance environment (単一のインスタンス環境)] ボックスを選択していない場合のみ選択できます。

  8. アプリケーションで Amazon S3 および DynamoDB などの AWS のサービスを使用している場合、認証情報を提供する最適な方法は、IAM ロールを使用することです。[Deployed Application Permissions] (デプロイ済みアプリケーションアクセス許可) エリアでは、ウィザードが環境を起動する際に使用するロールとして既存の IAM ロールを選択するか、または新しくロールを作成することができます。AWS SDK for .NET を使用するアプリケーションは、AWS のサービスにリクエストを送る際に、ロールが提供する認証情報を自動的に使用します。

  9. アプリケーションから Amazon RDS データベースにアクセスしている場合は、[Relational Database Access] エリアのドロップダウンリストで、ウィザードが更新する Amazon RDS セキュリティグループの横のボックスを選択することで、Amazon EC2 インスタンスからそのデータベースにアクセスできます。

  10. [Next] (次へ) を選択します。

    • [Use a VPC] を選択した場合は、[VPC Options] ページが表示されます。

    • [Enable Rolling Deployments] (ローリングデプロイを有効にする) を選択し、かつ [Use a VPC] (VPC を使用) を選択しなかった場合は、[Rolling Deployments] ページが表示されます。本セクションで後述している [Rolling Deployments (ローリングデプロイ)] ページの使用方法について説明している箇所までスキップしてください。

    • [Use a VPC] (VPC を使用) および [Enable Rolling Deployments] (ローリングデプロイを有効にする) を選択しなかった場合は、[Application Options] (アプリケーションオプション) ページが表示されます。本セクションで後述されている [Application Options (アプリケーションオプション)] ページの使用方法について説明している箇所までスキップしてください。

  11. [Use a VPC] を選択した場合は、[VPC Options] ページの情報を指定して VPC でアプリケーションを起動します。

    VPC は既に作成されている必要があります。Toolkit for Visual Studio で VPC を作成した場合、Toolkit for Visual Studio によってこのページが自動的に設定されます。AWS マネジメントコンソールで VPC を作成した場合、VPC に関する情報をこのページに入力します。

VPC へのデプロイに際して特に考慮すべき事項

  • VPC には、少なくとも 1 つのパブリックサブネットと 1 つのプライベートサブネットが必要です。

  • [ELB Subnet] (ELB サブネット) ドロップダウンリストでパブリックサブネットを設定します。Toolkit for Visual Studio は、アプリケーションの Elastic Load Balancing ロードバランサーをパブリックサブネットに向けてデプロイします。パブリックサブネットは、インターネットゲートウェイを指すエントリが含まれているルーティングテーブルに関連付けられています。インターネットゲートウェイは igw- で始まる ID を持つため (例 :igw-83cddaex)、インターネットゲートウェイを認識することができます。Toolkit for Visual Studio を使用して作成したパブリックサブネットには、パブリックとして識別するタグ値が付与されています。

  • [Instances Subnet] (インスタンスサブネット) ドロップダウンリストでプライベートサブネットを設定します。Toolkit for Visual Studio はアプリケーションのAmazon EC2 Eインスタンスをプライベートサブネットに向けてデプロイします。

  • アプリケーションの Amazon EC2 インスタンスは、ネットワークアドレス変換 (NAT) を行うパブリックサブネットの Amazon EC2 インスタンスを介してプライベートサブネットからインターネットに通信します。通信を可能にするには、プライベートサブネットから NAT インスタンスにトラフィックが流れるようにするための VPC セキュリティグループが必要です。VPC セキュリティグループを [Security Group] ドロップダウンリストから指定します。

Elastic Beanstalkアプリケーションを VPC にデプロイする方法の詳細については、AWS Elastic Beanstalk デベロッパーガイドを参照してください。

  1. VPC Options ページですべての情報を入力してから、[Next] を選択します。

    • [Enable Rolling Deployments] を選択した場合は、[Rolling Deployments] ページが表示されます。

    • [Enable Rolling Deployments] (ローリングデプロイを有効にする) を選択しなかった場合は、[Application Options] (アプリケーションオプション) ページが表示されます。本セクションで後述されている [Application Options (アプリケーションオプション)] ページの使用方法について説明している箇所までスキップしてください。

  2. [Enable Rolling Deployments] (ローリングデプロイを有効にする) を選択した場合は、[Rolling Deployments] (ローリングデプロイ) ページの情報を設定して、新しいバージョンのアプリケーションをロードバランス環境のインスタンスにデプロイする際の方法を構成します。例えば、環境内に 4 つのインスタンスがあってインスタンスタイプを変更する場合、一度に 2 つのインスタンスを変更するように環境を設定できます。これにより、アプリケーションを停止することなく変更できます。

  3. [Application Versions] (アプリケーションのバージョン) エリアで、一度にデプロイするインスタンスを全体の割合にするか実際の数にするかを制御するオプションを選択します。目的のパーセンテージまたは最大数を指定します。

  4. オプションとして、デプロイ中にサービスを実行し続けるインスタンス数を指定する場合は、[Environment Configuration] (環境の設定) エリアのボックスを選択します。このボックスを選択した場合は、一度に変更するインスタンスの最大数、サービスを実行し続ける最小のインスタンス数、またはその両方を設定します。

  5. [Next] (次へ) を選択します。

  6. [Application Options] ページで、構築、Internet Information Services (IIS)、およびアプリケーション設定に関する情報を指定します。

  7. [Build and IIS Deployment Settings] (ビルドと IIS デプロイの設定) エリアの [Project build configuration] (プロジェクトビルド設定) ドロップダウンリストで、ターゲットビルド設定を選択します。ウィザードが発見できた場合は [Release (リリース)] が、発見できなかった場合はアクティブ設定がこのボックスに表示されます。

  8. [App pool] (アプリケーションプール) ドロップダウンリストで、アプリケーションが必要とする .NET Framework のバージョンを選択します。適切な .NET Framework のバージョンが表示されています。

  9. アプリケーションが 32 ビットの場合は、[Enable 32-bit applications] ボックスを選択します。

  10. [App path] (アプリケーションパス) ボックスで、アプリケーションのデプロイに使用する IIS パスを指定します。デフォルトでは、[Default Web Site/ (デフォルトウェブサイト/)] が指定され、通常は c:\inetpub\wwwroot に変換されます。[Default Web Site (デフォルトウェブサイト)] 以外のパスを指定した場合は、ウィザードは指定したパスを指すリダイレクトを [Default Web Site/ (デフォルトウェブサイト/)] に配置します。

  11. [Application Settings] (アプリケーションの設定) エリアの [Health check URL] (ヘルスチェック URL) ボックスに、ウェブアプリケーションが応答可能かを判別する際に確認する Elastic Beanstalk の URL を入力します。この URL はルートサーバー URL への相対 URL です。デフォルトではルートサーバーの URL が指定されます。例えば、完全な URL が example.com/site-is-up.html である場合は /site-is-up.html と入力します。

  12. [Key] と [Value] には、アプリケーションの Web.config ファイルに追加したい任意のキーと値のペアを指定できます。

    注記

    推奨はされませんが、[Key] (キー) と [Value] (値) のエリアを使用してアプリケーションの実行に必要な AWS 認証情報を設定できます。推奨されるのは、[AWS Options] (オプション) ページの [Identity and Access Management Role] ドロップダウンリストで IAM ロールを指定する方法です。ただし、アプリケーションの実行に IAM ロールではなくAWS認証情報が必要な場合、[Key] (キー) 列でを選択しますAWSAccessKey。[Value (値)] 行にアクセスキーを入力します。についても、AWSSecretKey上記の手順を繰り返します。

  13. [Next] (次へ) を選択します。

  14. [Review] ページで、選択したオプションを確認し、[Open environment status window when wizard closes] ボックスを選択します。

  15. すべてが正しい場合は、[Deploy (デプロイ)] を選択します。

    注記

    アプリケーションをデプロイすると、アプリケーションが使用する AWS リソースの料金が発生し、それはアクティブなアカウントに請求されます。

    Visual Studio ステータスバーおよび [Output] (出力) ウィンドウに、デプロイに関する情報が表示されます。これには数分間かかる場合があります。デプロイが完了すると、確認メッセージが [Output (出力)] ウィンドウに表示されます。

  16. デプロイを削除するには、AWS Explorer で [Elastic Beanstalk] ノードを展開し、デプロイ対象のサブノードのコンテキスト (右クリック) メニューを開いて [Delete] (削除) を選択します。削除には数分かかる場合があります。