AWS,S3, DynamoDB ,API Gateway,EC2分别是什么?
1、AWS,S3, DynamoDB ,API Gateway 分别是什么?
AWS、S3、DynamoDB 和 API Gateway 的介绍
1. AWS(Amazon Web Services)
AWS 是 Amazon 提供的云计算服务平台,提供了各种云基础设施和服务,包括计算、存储、数据库、人工智能等。AWS 允许用户按需使用计算资源,无需自己管理物理服务器,常用于构建可扩展、高可用的应用程序。
2. S3(Amazon Simple Storage Service)
S3 是 AWS 提供的对象存储服务,主要用于存储和检索任何类型的数据(如图片、视频、日志文件等)。它的特点包括:
- 高可用性:数据分布存储在多个数据中心,保证可靠性。
- 无限存储:可以存储任意大小的数据文件。
- 按需付费:只为存储和流量付费,没有固定费用。
- 版本控制:支持数据版本管理和生命周期规则。
应用场景:
- 存储静态文件(如网页、视频、备份数据)。
- 作为数据湖,用于大数据分析和机器学习。
- 作为 CDN(CloudFront)的后端存储,提高全球访问速度。
3. DynamoDB
DynamoDB 是 AWS 提供的完全托管的 NoSQL 数据库,适用于需要低延迟和高吞吐量的应用。它的特点包括:
- 自动扩展:可以根据流量自动调整性能,无需手动分片。
- 高可用性:数据分布式存储,提供 99.99% 的可用性。
- 无服务器(Serverless):无需管理数据库服务器,只需要定义表结构和访问方式。
- 支持 TTL(Time-To-Live):可自动删除过期数据。
应用场景:
- 需要高并发的应用,如社交媒体、游戏排行榜、电商订单系统。
- 需要存储和检索JSON 文档的应用。
- 作为 AWS Lambda(无服务器计算)应用的数据库。
4. API Gateway
API Gateway 是 AWS 提供的API 托管和管理服务,可以帮助开发者创建、发布、管理 RESTful API 或 WebSocket API。它的特点包括:
- 支持流量控制和负载均衡:可以限制 API 请求频率,防止 DDoS 攻击。
- 支持身份验证:集成 IAM、Cognito、JWT 进行 API 访问控制。
- 与 AWS 其他服务集成:可以作为 AWS Lambda、DynamoDB、S3、EC2 等的前端入口。
- 支持缓存:减少 API 响应时间,提高性能。
应用场景:
- 构建基于微服务的 API 网关,作为前端和后端之间的桥梁。
- 提供 REST API 访问 DynamoDB、S3 或 Lambda 计算。
- 保护 API 免受恶意请求,提供安全性和速率限制。
总结
| 服务 | 类型 | 用途 |
|---|---|---|
| AWS | 云计算平台 | 提供计算、存储、数据库、人工智能等云服务 |
| S3 | 对象存储 | 存储文件、备份数据、数据湖等 |
| DynamoDB | NoSQL 数据库 | 适用于高并发、低延迟应用,如社交媒体、电商等 |
| API Gateway | API 管理服务 | 用于创建、管理和保护 API,集成 AWS 服务 |
如果你在实际应用中需要结合这些服务,比如搭建无服务器(Serverless)架构,可以使用:
- API Gateway 作为入口,接收用户请求。
- Lambda 处理业务逻辑,如计算或数据存储操作。
- DynamoDB 存储应用数据。
- S3 用于存储静态资源,如用户上传的文件。
2、EC2是什么?
EC2(Amazon Elastic Compute Cloud)是什么?
EC2(Elastic Compute Cloud)是 AWS 提供的弹性云服务器,相当于云端的虚拟机,可以用于运行各种应用程序。它的主要特点包括:
- 按需使用:可以根据业务需求随时创建或销毁实例,不需要长期租用物理服务器。
- 多种实例类型:提供不同配置的 CPU、内存、存储类型,以满足不同计算需求(如通用型、计算优化型、内存优化型等)。
- 可伸缩性:可以手动或自动扩展实例数量,以应对业务流量变化。
- 安全性:支持 VPC(虚拟私有云)、安全组、IAM 角色等安全措施,确保数据和服务的安全。
- 可自定义:用户可以选择操作系统(Linux/Windows)、安装软件、配置环境等,类似传统服务器。
EC2 的应用场景
EC2 适用于需要完整服务器环境的应用,包括:
- 托管 Web 服务器(如 Nginx、Apache)
- 运行数据库(如 MySQL、PostgreSQL,但 AWS 建议使用 RDS 代替 EC2 部署数据库)
- 部署应用服务器(如 Python、Node.js、Java 后端服务)
- 高性能计算(如 AI/机器学习模型训练、视频渲染)
- 作为 VPN、代理服务器
- 开发和测试环境
EC2 vs. Lambda(Serverless)
| 对比项 | EC2(云服务器) | Lambda(无服务器) |
|---|---|---|
| 管理 | 需要手动管理服务器 | AWS 全面托管,无需管理 |
| 计费 | 按实例运行时间收费 | 按函数调用次数和执行时间收费 |
| 启动时间 | 需要几秒到几分钟 | 毫秒级启动 |
| 可扩展性 | 需要手动或自动扩展 | 自动扩展 |
| 适用场景 | 持续运行的应用,如网站、数据库 | 事件驱动,如 API 处理、定时任务 |
如果你的应用需要长期运行(如网站、数据库、后台任务),EC2 是合适的选择。如果你希望减少服务器管理工作量,并且应用是短时执行的(如计算、数据处理、API),那么 AWS Lambda(Serverless)会更合适。
EC2 的基本使用
-
创建 EC2 实例
- 选择合适的实例类型(如 t3.micro、m5.large)
- 选择操作系统(如 Amazon Linux、Ubuntu、Windows Server)
- 配置存储、网络、安全组等
- 通过 SSH(Linux)或 RDP(Windows)连接
-
部署应用
- 在 EC2 上安装 Web 服务器、数据库等
- 部署代码和应用
- 配置负载均衡(ELB)和自动扩展(Auto Scaling)
-
管理 EC2
- 监控 CPU、内存、流量等指标
- 设置安全组和防火墙
- 进行定期备份(如 EBS 快照)
总结
EC2 适用于需要完整服务器控制权的应用,比如运行网站、数据库、后台任务、AI 计算等。如果你不想管理服务器,并且应用是事件驱动的,可以考虑使用 Lambda(Serverless)。

浙公网安备 33010602011771号