Amazon ECS への ASP.NET Core 2.0 アプリケーションのデプロイ (EC2) - AWS Toolkit for Visual Studio

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

Amazon ECS への ASP.NET Core 2.0 アプリケーションのデプロイ (EC2)

このセクションでは、の使用方法について説明します。コンテナのパブリッシュ先AWSToolkit for Visual Studio の一部として提供されるウィザード。EC2 起動タイプを使用して Amazon ECS を通じて Linux をターゲットとする ASP.NET Core 2.0 アプリケーションをデプロイします。ウェブアプリケーションは継続的に実行されるため、サービスとしてデプロイされます。

コンテナを公開する前に

を使用する前にコンテナのパブリッシュ先AWSASP.NET Core 2.0 アプリケーションをデプロイするには:

へのコンテナの公開AWSウィザード

Linux 向け ASP.NET Core 2.0 コンテナ化アプリケーションをデプロイするには、Solution Explorer でプロジェクトを右クリックし、コンテナのパブリッシュ先AWS

また、[] を選択できます。コンテナのパブリッシュ先AWSVisual Studio の [Build] メニューで。

コンテナのパブリッシュ先AWSウィザード

Account profile to use (使用するアカウントのプロファイル) - 使用するアカウントプロファイルを選択します。

Region (リージョン) - デプロイリージョンを選択します。プロファイルとリージョンは、デプロイ環境リソースのセットアップとデフォルト Docker レジストリの選択に使用されます。

Configuration (設定) - Docker イメージビルド設定を選択します。

Docker Repository (Docker リポジトリ) - 既存の Docker リポジトリを選択するか、新しいリポジトリの名前を入力します (新しいリポジトリが作成されます)。これは、ビルドコンテナイメージがプッシュされるリポジトリです。

Tag (タグ) - 既存のタグを選択するか、新しいタグの名前を入力します。タグを使用して、Docker コンテナに固有の設定要素 (バージョン、オプションなど) のような重要な詳細を追跡できます。

Deployment (デプロイ) - [Service on an ECS Cluster (ECS Cluster のサービス)] を選択します。このデプロイオプションは、実行時間の長いアプリケーション (ASP.NET Core 2.0 ウェブアプリケーションなど) に使用します。

Save settings toaws-docker-tools-defaults.jsonコマンドライン展開用にプロジェクトを構成する-コマンドラインから柔軟にデプロイする場合は、このチェックボックスをオンにします。dotnet ecs deploy を使用してプロジェクトディレクトリからコンテナをデプロイし、dotnet ecs publish を使用してコンテナを公開します。

[Launch Configuration (起動設定)] ページ

ECS Cluster (ECS クラスター) - Docker イメージを実行するクラスターを選択します。以下の操作を実行できます。ECS クラスターを作成するを使用してAWSマネジメントコンソール。

Launch Type (起動タイプ) - [EC2] を選択します。Fargate 起動タイプを使用するには、Amazon ECS への ASP.NET Core 2.0 アプリケーションのデプロイ (Fargate) を参照してください。

[Service Configuration (サービス設定)] ページ

Service (サービス) - 既存のサービス内にコンテナをデプロイするには、ドロップダウンリストでいずれかのサービスを選択します。または、新しいサービスを作成するには、[Create New (新規作成)] を選択します。サービス名は同じクラスター内で一意になるようにしてください。ただし、リージョン内のクラスター間や複数のリージョンにまたがるクラスター間では、同様の名前のサービスがあっても構いません。

Number of Tasks (タスクの数) - クラスターにデプロイして実行状態に保つタスクの数。各タスクはコンテナの 1 つのインスタンスです。

Minimum Healthy Percent (最小ヘルス率) - デプロイ中に RUNNING 状態に保つ必要のあるタスクの最小割合 (最も近い整数に切り上げ)。

Maximum Percent (最大率) - デプロイ中に RUNNING または PENDING 状態に保つことのできるタスクの最大割合 (最も近い整数に切り下げ)。

Placement Templates (配置テンプレート) - タスク配置テンプレートを選択します。

クラスター内にタスクを起動するとき、Amazon ECS では、タスク定義で指定されている CPU やメモリなどの要件に基づいてタスクを配置する場所を決定する必要があります。同様に、タスク数を減らすときも、Amazon ECS でどのタスクを終了させるか決定する必要があります。

配置テンプレートは、クラスター内にタスクを起動する方法をコントロールします。

  • [AZ Balanced Spread] - アベイラビリティーゾーン間およびアベイラビリティーゾーン内のコンテナインスタンス間でタスクを分散します。

  • [AZ Balanced BinPack] - 利用可能な最小メモリでアベイラビリティーゾーン間およびコンテナインスタンス間でタスクを分散します。

  • [BinPack] - CPU またはメモリの最小利用可能量に基づいてタスクを配置します。

  • [One Task Per Instance] - 各コンテナインスタンスのサービスから最大 1 タスクを配置します。

詳細については、Amazon ECS のタスク配置を参照してください。

[Application Load Balancer (アプリケーションロードバランサー)] ページ

Configure Application Load Balancer (アプリケーションロードバランサーの設定) - Application Load Balancer を設定するには、このチェックボックスをオンにします。

Select IAM role for service (サービス用の IAM ロールの選択) - 既存のロールを選択するか、[Create New (新規作成)] を選択して新しいロールを作成します。

Load Balancer (ロードバランサー) - 既存のロードバランサーを選択するか、[Create New (新規作成)] を選択して新しいロードバランサーの名前を入力します。

Listener Port (リスナーポート) - 既存のリスナーポートを選択するか、[Create New (新規作成)] を選択してポート番号を入力します。デフォルトのポート 80 はほとんどのウェブアプリケーションに適しています。

Target Group (ターゲットグループ) - デフォルトでは、ロードバランサーはターゲットグループ用に指定したポートとプロトコルを使用して登録済みターゲットにリクエストを送ります。ターゲットグループに各ターゲットを登録するときに、このポートを上書きできます。

Path Pattern (パスパターン) - ロードバランサーがパスベースのルーティングを使用するようになります。デフォルトの / を受け入れるか、別のパターンを指定します。パスパターンでは大文字と小文字が区別され、最大 128 文字までの長さで、特定の文字セットを含めることができます。

Health Check Path (ヘルスチェックパス) - ヘルスチェックのターゲットの ping 先のパス。デフォルトでは / であり、ウェブアプリケーションに適しています。必要に応じて別のパスを入力します。入力したパスが無効な場合、ヘルスチェックは失敗し、異常とみなされます。

複数のサービスをデプロイし、各サービスが異なるパスまたは場所にデプロイされる場合は、カスタムチェックパスが必要になることがあります。

[ECS Task Definition (ECS タスク定義)] ページ

Task Definition (タスク定義) - 既存のタスク定義を選択するか、[Create New (新規作成)] を選択して新しいタスク定義の名前を入力します。

Container (コンテナ) - 既存のコンテナを選択するか、[Create New (新規作成)] を選択して新しいコンテナの名前を入力します。

Memory (MiB) (メモリ(MiB)) - ソフト制限ハード制限のいずれか、または両方の値を入力します。

コンテナ用に予約するメモリのソフト制限 (MiB 単位)。Docker により、コンテナメモリはソフト制限を超えないように保たれます。コンテナは、メモリパラメータで指定したハード制限 (該当する場合) に達するか、コンテナインスタンス上の使用可能なメモリの上限に達するか、いずれか早く達する方まで、メモリを使用できます。

コンテナに適用されるメモリのハード制限 (MiB 単位)。コンテナは、ここで指定したメモリを超えようとすると、強制終了されます。

タスクロール-IAM ロールのタスクロールを選択します。これにより、コンテナへのアクセス権限がAWS関連するポリシーに指定されている API をユーザーに代わって指定する API。これは、アプリケーションに認証情報が渡される方法になります。「」を参照してください。指定方法AWSアプリケーションのセキュリティ認証情報

Port Mapping (ポートマッピング) - コンテナのポートマッピングを追加、変更、または削除します。ロードバランサーがオンの場合、ホストポートはデフォルトで 0 になり、ポート割り当ては動的になります。

Environment Variables (環境変数) - コンテナの環境変数を追加、変更、または削除します。

設定に問題がなければ、[Publish (公開)] をクリックしてデプロイプロセスを開始します。

コンテナのへの公開AWS

デプロイ中にイベントが表示されます。ウィザードは正常終了時に自動的に閉じられます。この動作を無効にするには、ページの下部にあるチェックボックスをオフにします。

新しいインスタンスの URL は、AWSExplorer。[Amazon ECS and Clusters (Amazon ECS およびクラスター)] を展開し、クラスターをクリックします。