使用 AWS EC2 和 Application Load Balancer 部署 Web 应用程序 – 实践项目

发布: (2026年3月15日 GMT+8 22:03)
3 分钟阅读
原文: Dev.to

Source: Dev.to

项目概述

在本项目中,我创建了一个简单的 Web 应用,并使用 AWS 基础设施进行部署。该应用由多个 EC2 实例提供服务,流量通过应用负载均衡器(ALB)进行分配。此设置确保当某台服务器出现故障时,应用能够通过其他服务器平稳运行。

架构

User

Application Load Balancer

Target Group

EC2 Instances running Nginx Web Server

负载均衡器将传入请求分配到多个 EC2 实例,以实现更好的性能和高可用性。

使用技术

  • AWS EC2
  • AWS 应用负载均衡器(Application Load Balancer)
  • AWS 目标组(Target Groups)
  • Nginx Web 服务器
  • HTML 与 CSS
  • GitHub Pages

步骤实现

启动 EC2 实例

使用 AWS 免费套餐创建了两台 EC2 实例。通过 EC2 User Data 配置了 Nginx,使网站在实例启动时自动部署。

在实例上部署网站

网站包含:

  • 欢迎页面
  • 用户登录表单
  • 建议输入框
  • 项目描述部分

配置目标组

在 AWS 中创建了目标组,并将 EC2 实例注册为目标,使负载均衡器能够监控它们的健康状态并分配流量。

创建应用负载均衡器

设置了 ALB 来处理传入流量。ALB 将请求转发到目标组,目标组再将请求路由到可用的 EC2 实例,从而实现流量分配和可靠性提升。

配置安全组

配置安全组以允许:

  • 端口 80 的 HTTP 流量
  • 用于实例管理的 SSH 访问

GitHub 部署

将网站代码上传至 GitHub,并使用 GitHub Pages 托管静态版本。

  • 实时网站:
  • GitHub 仓库:

关键收获

  • 启动和配置 EC2 实例
  • AWS 应用负载均衡器如何分配流量
  • 使用目标组管理后端服务器
  • 使用 GitHub Pages 部署静态网站
  • 通过云基础设施实现高可用性

结论

该项目提供了使用 AWS 服务部署基于云的 Web 应用的实践经验。了解负载均衡是现代云计算和 DevOps 环境中的关键技能,即使是简单的架构也能展示可伸缩和容错系统的核心原理。

0 浏览
Back to Blog

相关文章

阅读更多 »