QuickStart: 部署. NETWindows 上的 Core 应用程序 Elastic Beanstalk - AWS Elastic Beanstalk

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

QuickStart: 部署. NETWindows 上的 Core 应用程序 Elastic Beanstalk

本 QuickStart 教程将引导您完成创建的过程。 NET在 Windows 应用程序上运行核心并将其部署到 AWS Elastic Beanstalk 环境。

注意

本 QuickStart 教程仅用于演示目的。请勿将本教程中创建的应用程序用于生产流量。

您的 AWS account

如果你还不是 AWS 客户,你需要创建一个 AWS account。注册后,你就可以访问 Elastic Beanstalk 和其他 AWS 您需要的服务。

如果你已经有一个 AWS 账户,你可以继续前进先决条件

注册获取 AWS 账户

如果你没有 AWS 账户,请完成以下步骤来创建一个。

报名参加 AWS 账户
  1. 打开https://portal.aws.amazon.com/billing/注册。

  2. 按照屏幕上的说明进行操作。

    在注册时,将接到一通电话,要求使用电话键盘输入一个验证码。

    当你报名参加 AWS 账户,一个 AWS 账户根用户已创建。root 用户可以访问所有内容 AWS 服务 以及账户中的资源。作为安全最佳实践,请为用户分配管理访问权限,并且只使用根用户来执行需要根用户访问权限的任务

AWS 注册过程完成后会向您发送一封确认电子邮件。您可以随时前往 https://aws.amazon.com/并选择 “我的账户”,查看您当前的账户活动并管理您的账户

创建具有管理访问权限的用户

在你注册之后 AWS 账户,保护你的 AWS 账户根用户,启用 AWS IAM Identity Center,然后创建一个管理用户,这样你就不会使用 root 用户来执行日常任务。

保护你的 AWS 账户根用户
  1. 登录 。AWS Management Console以账户所有者的身份选择 Root 用户并输入你的 AWS 账户 电子邮件地址。在下一页上,输入您的密码。

    有关使用 root 用户登录的帮助,请参阅中以 root 用户身份登AWS 登录 用户指南

  2. 为您的 root 用户开启多重身份验证 (MFA)。

    有关说明,请参阅为您的MFA设备启用虚拟设备 AWS 账户 用户指南中的 root IAM 用户(控制台)。

创建具有管理访问权限的用户
  1. 启用 “IAM身份中心”。

    有关说明,请参阅启用 AWS IAM Identity Center中的 AWS IAM Identity Center 用户指南

  2. 在 IAM Identity Center 中,向用户授予管理访问权限。

    有关使用教程 IAM Identity Center 目录 作为您的身份来源,请参阅使用默认设置配置用户访问权限 IAM Identity Center 目录中的 AWS IAM Identity Center 用户指南

以具有管理访问权限的用户身份登录
  • 要使用您的 Ident IAM ity Center 用户登录URL,请使用您在创建 Ident IAM ity Center 用户时发送到您的电子邮件地址的登录信息。

    有关使用 Ident IAM ity Center 用户登录的帮助,请参阅登录 AWS 访问中的门户 AWS 登录 用户指南

将访问权限分配给其他用户
  1. 在 IAM Identity Center 中,创建一个遵循应用最低权限权限的最佳实践的权限集。

    有关说明,请参阅中的创建权限集 AWS IAM Identity Center 用户指南

  2. 将用户分配到一个组,然后为该组分配单点登录访问权限。

    有关说明,请参阅中的添加群组 AWS IAM Identity Center 用户指南

先决条件

为了遵循本指南中的步骤,您需要命令行终端或 Shell,以便运行命令。命令显示在列表中,前面有提示符号 (>) 和当前目录的名称(如果适用)。

C:\eb-project> this is a command this is output

EB CLI

本教程使用 Elastic Beanstalk 命令行界面 (EB)。CLI有关安装和配置 EB 的详细信息CLI,请参阅安装 Elastic Beanstalk 命令行界面配置 EB CLI

。 NETWindows 上的 Core

如果你没有. NETSDK安装在您的本地计算机上,您可以按照下载进行安装。 NET上面的链接。 NET文档网站。

验证你的。 NETSDK通过运行以下命令进行安装。

C:\> dotnet --info

步骤 1:创建一个. NETWindows 应用程序上的内核

创建项目目录。

C:\> mkdir eb-dotnetcore C:\> cd eb-dotnetcore

接下来,通过运行以下命令创建一个示例 Hello RESTful World Web 服务应用程序。

C:\eb-dotnetcore> dotnet new web --name HelloElasticBeanstalk C:\eb-dotnetcore> cd HelloElasticBeanstalk

步骤 2:在本地运行应用程序

运行以下命令以在本地运行应用程序。

C:\eb-dotnetcore\HelloElasticBeasntalk> dotnet run

输出应类似于以下文本。

info: Microsoft.Hosting.Lifetime[14] Now listening on: https://localhost:7222 info: Microsoft.Hosting.Lifetime[14] Now listening on: http://localhost:5228 info: Microsoft.Hosting.Lifetime[0] Application started. Press Ctrl+C to shut down. info: Microsoft.Hosting.Lifetime[0] Hosting environment: Development info: Microsoft.Hosting.Lifetime[0] Content root path: C:\Users\Administrator\eb-dotnetcore\HelloElasticBeanstalk
注意

在本地运行应用程序时,该dotnet命令会随机选择一个端口。在本示例中,端口为 5228。当您将应用程序部署到您的 Elastic Beanstalk 环境时,该应用程序将在端口 5000 上运行。

http://localhost:port在您的网络浏览器中输入URL地址。对于这个具体的示例,命令是http://localhost:5228。网络浏览器应显示 “Hello World!”。

步骤 3:部署你的. NET使用 EB 在 Windows 上运行核心应用程序 CLI

运行以下命令为此应用程序创建 Elastic Beanstalk 环境。

创建环境并部署您的. NETWindows 应用程序上的内核
  1. HelloElasticBeanstalk目录中运行以下命令以发布和压缩应用程序。

    C:\eb-dotnetcore\HelloElasticBeasntalk> dotnet publish -o site C:\eb-dotnetcore\HelloElasticBeasntalk> cd site C:\eb-dotnetcore\HelloElasticBeasntalk\site> Compress-Archive -Path * -DestinationPath ../site.zip C:\eb-dotnetcore\HelloElasticBeasntalk\site> cd ..
  2. HelloElasticBeanstalk被调用的文件中创建一个aws-windows-deployment-manifest.json包含以下内容的新文件:

    { "manifestVersion": 1, "deployments": { "aspNetCoreWeb": [ { "name": "test-dotnet-core", "parameters": { "appBundle": "site.zip", "iisPath": "/", "iisWebSite": "Default Web Site" } } ] } }
  3. 使用eb init命令初始化您的 EB CLI 存储库。

    C:\eb-dotnetcore\HelloElasticBeasntalk> eb init -p iis dotnet-windows-server-tutorial --region us-east-2

    此命令创建名为的应用程序,dotnet-windows-server-tutorial并将您的本地存储库配置为使用最新 Windows 服务器平台版本创建环境。

  4. 创建环境并使用 eb create 将应用程序部署到此环境中。Elastic Beanstalk 会自动为您的应用程序生成一个 zip 文件,然后在端口 5000 上启动该文件。

    C:\eb-dotnetcore\HelloElasticBeasntalk> eb create dotnet-windows-server-env

    Elastic Beanstalk 创建您的环境大约需要五分钟。

第 4 步:在 Elastic Beanstalk 上运行你的应用程序

创建环境的过程完成后,使用打开您的网站eb open

C:\eb-dotnetcore\HelloElasticBeasntalk> eb open

恭喜您!您已经部署了. NET使用 Elastic Beanstalk 在 Windows 上运行核心应用程序!这将使用为应用程序创建的域名打开一个浏览器窗口。

第 5 步:清理

完成应用程序的使用后,您可以终止您的环境。Elastic Beanstalk 会终止所有东西 AWS 与您的环境关联的资源。

要使用 EB 终止您的 Elastic Beanstalk 环境,CLI请运行以下命令。

C:\eb-dotnetcore\HelloElasticBeasntalk> eb terminate

AWS 您的应用程序的资源

您刚刚创建了一个单实例应用程序。它是一个简单的示例应用程序,只有一个EC2实例,因此不需要负载平衡或 auto Scaling。对于单实例应用程序,Elastic Beanstalk 会创建以下内容 AWS 资源:

  • EC2实例 — 配置为在您选择的平台上运行 Web 应用程序的 Amazon EC2 虚拟机。

    各平台运行一组不同的软件、配置文件和脚本以支持特定的语言版本、框架、Web 容器或其组合。大多数平台使用 Apache 或 nginx 作为在 Web 应用程序前处理 Web 流量的反向代理,向其转发请求、提供静态资产以及生成访问和错误日志。

  • 实例安全组 — 配置为允许端口 80 上的传入流量的 Amazon EC2 安全组。此资源允许来自负载均衡器的HTTP流量到达运行您的 Web 应用程序的EC2实例。默认情况下,其他端口不允许流量进入。

  • Amazon S3 存储桶 – 使用 Elastic Beanstalk 时创建的源代码、日志和其他构件的存储位置。

  • Amazon CloudWatch CloudWatch 警报 — 两个警报,用于监控您环境中实例的负载,并在负载过高或过低时触发。警报触发后,您的 Auto Scaling 组会扩展或收缩以进行响应。

  • AWS CloudFormation 堆栈 — Elastic Beanstalk 使用 AWS CloudFormation 在您的环境中启动资源并传播配置更改。资源是在模板中定义的,您可以在模板中查看 AWS CloudFormation 控制台

  • 域名-以以下形式路由到您的 Web 应用程序的域名 subdomain.region.elasticbeanstalk.com。

Elastic Beanstalk 管理所有这些资源。当您终止环境时,Elastic Beanstalk 会终止其包含的所有资源。

后续步骤

有了运行应用程序的环境以后,您随时可以部署新的应用程序版本或不同的应用程序。部署新应用程序版本的速度非常快,因为它不需要预置或重启EC2实例。您还可以使用 Elastic Beanstalk 控制台探索您的新环境。有关详细步骤,请参阅本指南 “入门” 一章中的 “探索您的环境”。

尝试更多教程

如果您想尝试其他包含不同示例应用程序的教程,请参阅QuickStart 对于ASP。 NET

部署一两个示例应用程序并准备好开始开发和运行之后。 NET在本地运行 Windows 应用程序的内核,请参阅 设置你的. NET开发环境

使用 Elastic Beanstalk 控制台进行部署

您也可以使用 Elastic Beanstalk 控制台启动示例应用程序。有关详细步骤,请参阅本指南入门一章中的创建示例应用程序