Amazon Elastic Compute Cloud
Windows 实例用户指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

教程:提高应用程序在 Amazon EC2 上的可用性

假设您一开始在单个 EC2 实例上运行应用程序或网站,随着时间的推移,流量会增加到需要多个实例才能满足需求的数量。您可以从 AMI 启动多个 EC2 实例,然后使用 Elastic Load Balancing 来跨这些 EC2 实例为应用程序分配传入流量。这将提高应用程序的可用性。将实例放置在多个可用区中还可提高应用程序的容错能力。如果一个可用区发生中断,流量将路由到另一个可用区。

您可以使用 Auto Scaling 将您的应用程序的运行中的实例始终保持在最低数量。Auto Scaling 可检测您的实例或应用程序在何时运行状况不佳并自动替换它,从而保持应用程序的可用性。您还可以使用 Auto Scaling,通过您指定的条件来基于需求自动向上或向下扩展 Amazon EC2 容量。

在本教程中,我们将 Auto Scaling 与 Elastic Load Balancing 结合使用,以确保您在负载均衡器后保持指定数量的正常运行的 EC2 实例。请注意,这些实例不需要公有 IP 地址,因为流量会流入负载均衡器,然后再路由到这些实例。有关更多信息,请参阅 Auto ScalingElastic Load Balancing

 采用 Auto Scaling 和 Elastic Load Balancing 的架构

先决条件

本教程假定您已执行以下操作:

  1. 如果您没有默认的 Virtual Private Cloud (VPC),请在两个或更多可用区中利用公有子网创建一个 VPC。有关更多信息,请参阅 创建 Virtual Private Cloud (VPC)

  2. 在 VPC 中启动实例。

  3. 连接到实例并对其进行自定义。例如,您可以安装软件和应用程序、复制数据和连接更多的 EBS 卷。有关在实例上设置 Web 服务器的信息,请参阅教程:在运行 Windows Server 的 Amazon EC2 实例上安装 WAMP 服务器教程:在运行 Windows Server 的 Amazon EC2 实例上安装 WIMP 服务器

  4. 测试您的实例上的应用程序以确保您的实例配置正确。

  5. 从您的实例创建自定义 Amazon 系统映像 (AMI)。有关更多信息,请参阅创建 Amazon EBS 支持的 Windows AMI

  6. (可选) 如果您不再需要实例,请终止它。

  7. 创建一个 IAM 角色,该角色将为您的应用程序授予对所需的 AWS 的访问权限。有关更多信息,请参阅 使用 IAM 控制台创建 IAM 角色

对应用程序进行扩展和负载均衡

使用以下过程创建负载均衡器、为您的实例创建启动配置、使用两个或更多实例创建 Auto Scaling 组以及将负载均衡器与 Auto Scaling 组关联。

对应用程序进行扩展和负载均衡

  1. 打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/

  2. 在导航窗格上的 LOAD BALANCING 下,选择 Load Balancers

  3. 选择 Create Load Balancer

  4. 对于 Application Load Balancer,选择 Create

  5. Configure Load Balancer 页面上,执行以下操作:

    1. 对于 Name,键入负载均衡器的名称。例如,my-lb

    2. 对于 Scheme,保留默认值 internet-facing

    3. 对于 Listeners,保留默认值,默认侦听器负责接收端口 80 上的 HTTP 流量。

    4. 对于 Availability Zones,选择用于 实例的 VPC。选择一个可用区,然后选择该可用区的公有子集。针对另一可用区重复这一步骤。

    5. 选择 Next: Configure Security Settings

  6. 在本教程中,您不使用安全侦听器。选择 Next: Configure Security Groups

  7. Configure Security Groups 页面上,执行以下操作:

    1. 选择 Create a new security group

    2. 为安全组键入名称和描述,或者保留默认名称和描述。这个新的安全组包含一个规则,该规则允许为侦听器配置的流量流入端口。

    3. 选择 Next: Configure Routing

  8. Configure Routing 页面上,执行以下操作:

    1. 对于 Target group,保留默认值 New target group

    2. 对于 Name,键入目标组的名称。

    3. Protocol 保留为“HTTP”,Port 为“80”,Target type 为“instance”。

    4. 对于 Health checks,保留默认协议和 路径。

    5. 选择 Next: Register Targets

  9. Register Targets 页面上,选择 Next: Review 可继续到下一页,我们将使用 Auto Scaling 向目标组添加 EC2 实例。

  10. Review 页面上,选择 Create 。创建负载均衡器之后,选择 Close

  11. 在导航窗格中的 AUTO SCALING 上,选择 Launch Configurations

    • 如果您是首次接触 Auto Scaling,您将看到欢迎页面。选择 Create Auto Scaling group 以启动“Create Auto Scaling Group”向导,然后选择 Create launch configuration

    • 否则,请选择 Create launch configuration

  12. Choose AMI (选择 AMI) 页面上,选择 My AMIs (我的 AMI) 选项卡,然后选择在先决条件中创建的 AMI。

  13. Choose Instance Type 页面上,选择实例类型,然后选择 Next: Configure details

  14. Configure details 页面上,执行以下操作:

    1. 对于 Name,为您的启动配置键入一个名称 (例如,my-launch-config)。

    2. 对于 IAM role,选择您在先决条件中创建的 IAM 角色。

    3. (可选) 如果您需要运行一个启动脚本,请展开 Advanced Details 并在 User data 中键入该脚本。

    4. 选择 Skip to review

  15. Review 页面上,选择 Edit security groups。您可以选择现有安全组或创建新安全组。此安全组必须允许来自负载均衡器的 HTTP 流量和运行状况检查。如果您的实例将拥有公有 IP 地址,您也可以选择允许 RDP 流量 (前提是您需要连接到该实例)。完成后,请选择 Review

  16. Review 页上选择 Create launch configuration

  17. 在系统提示时,请选择一个现有密钥对、创建一个新的密钥对或在没有密钥对的情况下继续。选中确认复选框,然后选择 Create launch configuration

  18. 创建启动配置后,您必须创建 Auto Scaling 组。

    • 如果您是初次使用 Auto Scaling 并且正在使用“Create Auto Scaling group”向导,则会自动进入下一步。

    • 否则,请选择 Create an Auto Scaling group using this launch configuration

  19. Configure Auto Scaling group details (配置 Auto Scaling 组详细信息) 页面上,执行以下操作:

    1. 对于 Group name,键入 Auto Scaling 组的名称。例如,my-asg

    2. 对于 Group size,键入实例数量 (例如,2)。请注意,建议您在每个可用区中保留数量大致相同的实例。

    3. Network 中选择您的 VPC,然后从 Subnet 中选择您的两个公有子网。

    4. Advanced Details 下方,选择 Receive traffic from one or more load balancers。从 Target Groups 中选择您的目标组。

    5. 选择 Next: Configure scaling policies

  20. Configure scaling policies 页面上,选择 Review,因为我们打算让 Auto Scaling 将组保持在指定大小。请注意,您稍后可以手动扩展此 Auto Scaling 组、根据计划配置要扩展的组或根据需求配置要扩展的组。

  21. Review 页面上,选择 Create Auto Scaling group

  22. 创建组后,选择 Close

测试负载均衡器

当客户端将请求发送到您的负载均衡器时,负载均衡器会将请求路由到已注册实例之一。

测试负载均衡器

  1. 验证您的实例已准备就绪。从 Auto Scaling Groups 页面中选择 Auto Scaling 组,然后选择 Instances 选项卡。最初,您的实例处于 Pending 状态。如果状态为 InService,则表示相应实例已就绪。

  2. 验证您已向负载均衡器注册您的实例。从 Target Groups 页面中选择目标组,然后选择 Targets 选项卡。如果实例的状态是 initial,可能表示它们仍在注册过程中。当实例状态为 healthy 时,即可供使用。实例就绪后,您可通过以下步骤测试负载均衡器。

  3. Load Balancers (负载均衡器) 页面选择您的负载均衡器。

  4. Description (描述) 选项卡上,找到 DNS 名称。此名称具有以下形式:

    my-lb-xxxxxxxxxx.us-west-2.elb.amazonaws.com
  5. 在 Web 浏览器中,将负载均衡器的 DNS 名称粘贴到地址栏并按 Enter。您将看到您的网站。