本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将 ASP.NET 内核 2.0 应用程序部署到 Amazon ECS (Fargate)
本节介绍如何使用 将容器发布到AWS 向导,作为 Toolkit for Visual Studio,以部署一个容器化ASP.NETCore2.0应用程序,目标是Linux Amazon ECS 使用Fargate启动类型。由于 Web 应用程序要持续运行,因此将作为一项服务部署。
在您发布容器之前
使用 将容器发布到AWS 部署您的ASP.NETCore2.0应用程序的向导:
-
安装 Docker
. 您有几个不同的安装选项,包括 Windows靠泊装置 . -
在 Visual Studio 中创建(或打开)一个针对 Linux 的 ASP.NET 内核 2.0 容器化应用程序的项目。
访问“Publish Container to AWS (将容器发布到 AWS)”向导
要部署ASP.NETCore2.0容器化应用程序瞄准Linux,请右键单击解决方案资源管理器中的项目,然后选择 将容器发布到AWS.

您也可以选择 将容器发布到AWS 在VisualStudioBuild菜单上。
“Publish Container to AWS (将容器发布到 AWS)”向导

要使用的帐户资料 -选择要使用的帐户资料。
地区 -选择部署区域。配置文件和区域用于设置您的部署环境资源并选择默认的 Docker 注册表。
配置 -选择靠泊装置图像构建配置。
Docker存储库 -选择现有的靠泊站存储库或输入新存储库的名称,然后创建它。这是构建容器要推送到的存储库。
标签 -选择现有标签或以新标签的名称键入。标签可以跟踪重要详细信息,如 Docker 容器的版本、选项或其他唯一配置元素。
部署目标 -选择 ECS集群上的服务. 当您的应用程序(如 ASP.NET Web 应用程序)计划长时间运行时,请使用此部署选项。
将设置保存到 aws-docker-tools-defaults.json
并配置命令行部署项目 -如果希望从命令行中进行部署,请选中此选项。使用 dotnet ecs deploy
从您的项目目录部署到 dotnet ecs publish
容器。
“Launch Configuration (启动配置)”页面

ECS集群 -选择将运行靠泊装置图像的群集。如果您选择创建空集群,请为您的新集群命名。
启动类型 -选择 法门.
CPU最大值(vCPU) -选择应用程序所需的最大计算容量。要查看允许的CPU和内存值范围,请参阅 任务大小.
最大内存(GB) -选择应用程序可用的最大内存量。
VPC子网 -在单个vpc下选择一个或多个子网。如果您选择多个子网,则您的任务将分配到这几个子网中。这可以提高可用性。有关详细信息,请参阅 默认vPC和默认子网.
安全组 -选择安全组。
安全组可作为关联 Amazon EC2 实例的防火墙,在实例级别控制入站和出站流量。
默认安全组 配置为允许从分配给同一安全组和所有出站Ipv4流量的实例中进入流量。您需要允许出站,以便服务可以访问容器存储库。
分配公用IP地址 -勾选此选项,使您的任务可以从互联网访问。
“Service Configuration (服务配置)”页面

服务 -从下拉菜单中选择一个服务,将您的容器部署到现有服务中。或选择 创建新建 创建新服务。一个集群中的服务名称必须唯一,但是您可以为一个区域或多个区域中多个集群中的服务提供相似的名称。
任务数量 -要在群集上部署和保持运行的任务数量。每个任务都是您的容器的一个实例。
最小健康百分比 -必须保留的任务的百分比 RUNNING
在部署期间向上舍入至最近整数的状态。
最大百分比 -允许在 RUNNING
或 PENDING
在展开到最近整数的部署期间的状态。
“Application Load Balancer (应用程序负载均衡器)”页面

配置应用程序负载均衡器 -检查以配置应用负载平衡器。
负载均衡器 -选择现有负载均衡器或选择 创建新建 并键入新负载平衡器的名称。
侦听器端口 -选择现有侦听器端口或选择 创建新建 并键入端口号。默认端口 80
适用于大多数 Web 应用程序。
目标组 -选择目标组 Amazon ECS 将向服务注册任务。
路径模式 -负载平衡器将使用基于路径的路由。接受默认 /
或提供一个不同模式。路径图案区分大小写,长度可达128个字符,包含一个 选择字符集.
运行状况检查路径 -运行状况检查目标上目标的Ping路径。默认情况下,它是 /
...如有需要,输入不同的路径。如果您输入的路径无效,则运行状况检查将失败,并将视为运行状况不佳。
如果您要部署多个服务,且每个服务都将部署到不同的路径或位置,您需要自定义检查路径。
“Task Definition (任务定义)”页面

任务定义 -选择现有任务定义或选择 创建新建 并键入新任务定义名称。
容器 -选择现有容器或选择 创建新建 并键入新容器名称。
任务角色 -选择具有您应用程序访问AWS服务需要凭据的IAM角色。凭证就是通过这种方法传递给您的应用程序的。参见 如何为应用指定AWS安全凭据.
任务执行角色 -选择具有可拉动私人图像和发布日志的权限的角色。AWS Fargate 将代表您使用它。
端口映射 -选择绑定到自动分配主机端口的容器上的端口号。
环境变量 -添加、修改或删除容器的环境变量。您可以进行修改以满足部署要求。
如果您对配置感到满意,请单击 发布 开始部署过程。
向 AWS 发布容器

在部署过程中会显示事件。成功完成后向导会自动关闭。您可以通过取消选中页面底部的复选框来覆盖该功能。
您可以在 AWS Explorer 中找到新实例的 URL。展开 Amazon ECS 和集群,然后单击您的集群。