迁移词汇表 - AWS Elastic Beanstalk

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

迁移词汇表

本词汇表提供了与 IIS、Elastic Beanstalk 以及将 IIS 应用程序迁移到 Elastic Beanstalk 相关的关键术语和概念的定义。

Windows、IIS 和 .NET 术语

IIS

Internet Information Services,Microsoft 开发的用于与 Windows Server 搭配使用的 Web 服务器软件。IIS 托管网站、Web 应用程序和 Web 服务,提供用于运行 ASP.NET 和其他 Web 技术的平台。在迁移到 Elastic Beanstalk 期间,IIS 站点及其配置会被打包并部署到 AWS 云中的 Windows Server 实例。

支持使用 IIS 7.0 及更高版本进行迁移,同时 Windows Server 2016 或更高版本上的 IIS 10.0 提供最兼容的环境。

.NET Framework

Microsoft 开发的软件开发平台,用于构建和运行 Windows 应用程序。它提供了一个名为 Framework 类库(FCL)的大型类库,并支持多种编程语言之间的语言互操作性。

迁移到 Elastic Beanstalk 时,基于 .NET 框架构建的应用程序将继续在云环境中的相同版本框架上运行。Elastic Beanstalk 在其 Windows Server 平台上支持多个 .NET Framework 版本(4.x)。

.NET 内核

.NET Framework 的跨平台开源后继者,旨在更加模块化和轻量化。.NET Core(现简称 .NET 5 及更高版本)使开发人员能够构建在 Windows、Linux 和 macOS 上运行的应用程序。

将基于 .NET Core 构建的应用程序迁移到 Elastic Beanstalk 时,您可以根据应用程序的要求和依赖关系,在 Windows Server 平台或基于 Linux 的平台之间进行选择。

公共语言运行时(CLR)

.NET Framework 的虚拟机组件,用于管理 .NET 程序的执行。CLR 提供诸如内存管理、类型安全、异常处理、垃圾回收和线程管理等服务。

迁移到 Elastic Beanstalk 时,相应的 CLR 版本将在您选择的 Windows Server 平台上自动可用,从而确保与应用程序要求兼容。

Site

IIS 中的逻辑容器,表示 Web 应用程序或服务,由 IP 地址、端口和主机标头的唯一绑定进行标识。每个 IIS 站点都有自己的应用程序池、绑定和配置设置,并且可包含一个或多个应用程序。

应用程序 ()

IIS 站点内的一组内容和代码文件,用于处理对特定 URL 空间的请求。IIS 中的应用程序可以有自己的配置设置,这些设置通常存储在 web.config 文件中。

迁移到 Elastic Beanstalk 时,应用程序会保留其路径结构和配置设置。迁移过程可确保嵌套应用程序在云环境中保持其层次结构和 URL 路径。

ApplicationPool

一项 IIS 功能,可隔离 Web 应用程序,以提升安全性、可靠性并改进性能管理。应用程序池定义应用程序的运行时环境,包括 .NET Framework 版本、管道模式和身份设置。

VirtualDirectory

IIS 中的目录映射,可允许从站点根目录之外的位置提供内容。虚拟目录能让您跨不同的物理位置组织内容,同时向用户提供统一的 URL 结构。

迁移到 Elastic Beanstalk 时,虚拟目录及其路径映射都会保留。eb migrate 命令会在云环境中创建必要的目录结构和配置,以保持相同的 URL 路径。

ARR

应用程序请求路由,这是一种 IIS 扩展,可为 Web 服务器提供负载均衡和代理功能。ARR 支持基于 URL 的路由、HTTP 请求转发和跨多个服务器的负载分配。

在迁移到 Elastic Beanstalk 期间,系统会在 EC2 实例上安装 ARR 功能并配置适当的路由规则,从而保留 ARR 配置。对于复杂的路由方案,迁移过程也可以利用应用程序负载均衡器规则来实现类似的功能。

URL 重写

一个 IIS 模块,用于在请求的 URL 到达 Web 应用程序之前,根据定义的规则对其进行修改。URL 重写支持基于模式和条件的 URL 操作、重定向和内容分发。

迁移到 Elastic Beanstalk 时,web.config 文件中的 URL 重写规则会尽可能转换为 ALB 路由规则,或者保留在 EC2 实例上的 IIS 配置中。这可确保 URL 模式和重定向在云环境中继续按预期运行。

msdeploy.exe

用于将 Web 应用程序和网站部署到 IIS 服务器的命令行工具。它也称为 Web Deploy,可提供打包、同步和部署 Web 应用程序、网站和服务器配置的方法。

在迁移到 Elastic Beanstalk 期间,eb migrate 命令使用 Web 部署(3.6 或更高版本)来打包应用程序。此工具必须安装在源服务器上,迁移过程才能正常运行。

物理路径

存储 IIS 站点或应用程序内容文件的实际文件系统位置。物理路径可以指向 IIS 服务器可以访问的本地目录、网络共享或其他存储位置。

在迁移到 Elastic Beanstalk 期间,物理路径会映射到您环境中 EC2 实例上的相应位置。迁移过程会保留内容结构,同时确保所有文件都正确部署到云环境中。

applicationHost.config

IIS 的根配置文件,用于定义服务器范围的设置,并包含所有站点、应用程序和虚拟目录的配置。此文件位于 %windir%\System32\inetsrv\config 目录中,并且可控制 IIS 服务器的整体行为。

迁移到 Elastic Beanstalk 时,系统会从 applicationHost.config 中提取相关设置并将其应用于您环境中 EC2 实例上的 IIS 配置。这样可以确保在迁移期间保留服务器范围的设置。

web.config

ASP.NET 应用程序中使用的基于 XML 的配置文件,用于控制应用程序级或目录级的应用程序设置、安全性和行为。web.config 文件可以包含用于身份验证、授权、会话状态、编译和自定义应用程序参数的设置。

在迁移到 Elastic Beanstalk 期间,web.config 文件会得以保留并与应用程序一起部署。迁移过程可确保特定于应用程序的配置在云环境中继续按预期运行。

DefaultDocument

一项 IIS 功能,当用户在不指定文件名的情况下请求目录时,该功能会指定要提供的默认文件。默认情况下,默认文档处于启用状态,IIS 7 会将 applicationHost.config 文件中的以下默认文档文件定义为服务器范围的默认文档:Default.htm、Default.asp、Index.htm、Index.html、Iisstart.htm。

迁移到 Elastic Beanstalk 时,默认文档设置将保留在 EC2 实例的 IIS 配置中,从而确保在云环境中以一致的方式处理目录请求。

system.webServer

web.configapplicationHost.config 中的配置部分,其中包含各个模块、处理程序和其他服务器行为的 IIS 特定设置。此部分控制 IIS 如何处理请求、管理模块和配置服务器功能。

在迁移到 Elastic Beanstalk 期间,system.webServer 的配置将保留在应用程序的 web.config 文件中,并应用于环境中 EC2 实例上的 IIS 安装。这可确保在云环境中维持特定于 IIS 的行为。

Elastic Beanstalk 术语

平台

操作系统、编程语言运行时、Web 服务器、应用程序服务器和 Elastic Beanstalk 组件的组合,用于定义应用程序运行所用的软件堆栈。

对于 Windows 迁移,Elastic Beanstalk 提供基于 Windows Server 2016、2019 和 2022 的平台,包括 IIS 和各种 .NET Framework 版本,以确保与您的源环境兼容。

SolutionStack

Elastic Beanstalk 中的预定义平台配置,用于指定应用程序运行所需的操作系统、运行时和其他组件。在概念上与平台相同,可以互换使用来操作环境。

在迁移过程中,eb migrate 命令会根据源环境的配置选择适当的解决方案堆栈,从而确保与 IIS 应用程序的兼容性。

CreateEnvironment

一种 Elastic Beanstalk API 操作,用于创建用来托管应用程序版本的新环境。eb migrate 命令使用此 API 为已迁移的应用程序配置必要的 AWS 资源。

迁移过程会根据源 IIS 环境配置相应的环境参数,包括实例类型、环境变量和选项设置。

CreateApplicationVersion

一种 Elastic Beanstalk API 操作,用于根据存储在 Amazon S3 中的源包创建新的应用程序版本。eb migrate 命令使用此 API 将已打包的 IIS 应用程序注册为 Elastic Beanstalk 中的一个版本。

迁移期间,应用程序文件和配置会经过打包并上传到 Amazon S3,并在部署前注册为应用程序版本。

DescribeEvents

一种 Elastic Beanstalk API 操作,用于检索环境的事件列表,包括部署、配置更改和操作问题。eb migrate 命令使用此 API 监控迁移进度。

您还可以在迁移后使用 eb events 命令来查看环境事件历史记录。

DescribeEnvironmentHealth

一种 Elastic Beanstalk API 操作,用于提供有关实例和环境其他组件的详细运行状况信息。此 API 用于在部署后验证迁移的应用程序的运行状况。

迁移后,您可以使用 eb health 命令检查环境的状态并确定需要注意的任何问题。

HealthD

Elastic Beanstalk 中的一种监控代理,用于收集环境中 EC2 实例的指标、监控日志并报告运行状况。HealthD 为迁移应用程序提供增强型运行状况报告。

迁移后,HealthD 会监控应用程序的性能、资源利用率和请求成功率,从而帮助您全面了解环境运行状况。

捆绑日志

Elastic Beanstalk 中的一项功能,用于从 EC2 实例压缩日志并将其上传到 Amazon S3 以进行集中存储和分析。此功能可帮助您对与迁移应用程序相关的问题进行故障排除。

迁移后,您可以使用 eb logs 命令从环境中检索和查看日志。

aws-windows-deployment-manifest.json

一种文件,用于描述软件包或应用程序的内容、依赖关系和配置。此清单将在迁移过程中生成,用于定义应如何在 Elastic Beanstalk 上部署您的 IIS 应用程序。

自定义清单部分

aws-windows-deployment-manifest.json 中的部分,用于提供对应用程序部署的自定义控制。此部分包含在部署过程中执行的 PowerShell 脚本和命令。

在迁移过程中,系统会生成自定义清单部分来处理 IIS 配置的特定方面,例如虚拟目录设置、权限管理和应用程序池配置。

EB CLI

一种命令行工具,其提供用于创建、配置和管理 Elastic Beanstalk 应用程序和环境的命令。EB CLI 包含专门用于将 IIS 应用程序迁移到 Elastic Beanstalk 的 eb migrate 命令。

迁移后,您可以继续使用 EB CLI 管理环境、部署更新、监控运行状况和执行其他管理任务。

选项设置

配置值,用于定义 Elastic Beanstalk 如何在环境中预置并配置 AWS 资源。选项设置按命名空间进行组织,这些命名空间代表环境的不同组件,例如负载均衡器、实例和环境进程。

在迁移过程中,eb migrate 命令会根据您的 IIS 配置生成相应的选项设置,以确保云环境与源环境的功能相匹配。有关更多信息,请参阅《Elastic Beanstalk 开发人员指南》中的配置选项

aws:elbv2:listener:default

应用程序负载均衡器上默认侦听器的 Elastic Beanstalk 配置命名空间。在迁移过程中,此命名空间将根据您的 IIS 站点绑定进行配置,以确保正确的流量路由。

默认侦听器通常处理端口 80 上的 HTTP 流量,然后这些流量会根据路由规则转发到您的应用程序实例。

aws:elbv2:listener:listener_port

应用程序负载均衡器上特定侦听器端口的 Elastic Beanstalk 配置命名空间。此命名空间可用于为迁移的应用程序配置其他侦听器,例如端口 443 上的 HTTPS。

在迁移过程中,系统将基于 IIS 站点的端口绑定创建侦听器,从而确保您的应用程序在与源环境相同的端口上仍可访问。

aws:elbv2:listenerrule:rule_name

用于为应用程序负载均衡器侦听器定义路由规则的 Elastic Beanstalk 配置命名空间。这些规则决定如何根据路径模式或主机标头,将传入的请求路由到不同的目标组。

在迁移过程中,系统将创建侦听器规则以匹配 IIS 应用程序的 URL 结构,从而确保将请求路由到正确的应用程序路径。

aws:elasticbeanstalk:environment:process:default

环境中默认进程的 Elastic Beanstalk 配置命名空间。此命名空间定义了默认 Web 应用程序进程的配置方式,包括运行状况检查设置、端口映射和代理设置。

在迁移过程中,系统将根据主 IIS 站点的设置配置默认进程,从而确保适当的运行状况监控和请求处理。

aws:elasticbeanstalk:environment:process:process_name

环境中具有特定名称的进程的 Elastic Beanstalk 配置命名空间。此命名空间允许您定义具有不同配置的多个进程,相当于在 IIS 中拥有多个应用程序池。

在迁移过程中,系统可能会创建其他进程来表示与源环境不同的站点绑定。

注意

有关本主题所述某些术语的更多信息,请参阅以下资源:

Python 术语

pip

Python 的软件包安装程序,用于安装和管理用 Python 编写的软件包。EB CLI 使用 pip 安装和更新。

在迁移过程中,pip 用于在源服务器上安装 EB CLI 包及其依赖关系,从而提供迁移所需的工具。

PyPI

Python 包索引,第三方 Python 软件包的官方存储库,pip 从中检索和安装软件包。EB CLI 及其依赖项托管在 PyPI 上。

安装用于迁移的 EB CLI 时,pip 会连接到 PyPI 以下载和安装必要的软件包。

virtualenv

一种用于创建隔离 Python 环境的工具,这能让不同的项目在不冲突的情况下拥有自己的依赖关系和软件包。建议在安装 EB CLI 时使用 virtualenv,以免与其他 Python 应用程序发生冲突。

在安装 EB CLI 之前创建虚拟环境可确保为迁移工具提供干净的隔离环境,并具有正确的依赖关系。

pywin32

一组 Python 扩展,提供对许多 Windows API 的访问权限,从而实现与 Windows 操作系统及其组件的交互。在迁移期间,EB CLI 使用 pywin32 与 Windows 特定的功能进行交互。

在迁移过程中,系统使用 pywin32 访问正确打包和迁移应用程序所需的 IIS 配置、Windows 注册表设置及其他系统信息。

pythonnet

一个软件包,用于实现 Python 代码与 .NET 框架和 .NET Core 应用程序的交互。这种集成能在迁移过程中实现 EB CLI 与 .NET 组件的搭配使用。

在分析和打包应用程序以部署到 Elastic Beanstalk 时,迁移过程可能会使用 pythonnet 以与 .NET 程序集和组件进行交互。