【AWS - 核心服务,必知必会】

本文详细介绍了AWS的四大核心服务类别,包括计算和分析、存储服务、网络与管理以及APP和部署,涵盖了AmazonEC2、AutoScaling等关键服务及其应用场景。通过实例和架构图,帮助读者理解和应用AWS在业务落地中的角色。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【AWS - 核心服务,必知必会】

请添加图片描述

前言

AWS作为国际市场上最强的公有云服务之一,其提供的能力和涵盖的功能 不容小视,更是很多公司业务出海,首选的一艘有力战舰。

今天让我们来看下其核心服务有哪些典型的服务应用架构,使用AWS去构建,落地实践,是什么样的。

区域节点

Region

开篇先介绍下AWS在世界上的服务区域分布,

1,截止24年初,AWS 包含 北美洲,南美洲,欧洲,中东,非洲,亚太地区 6大区域,几十个服务可用区。(国内有北京和宁夏2个服务可用区,海外北美,欧洲有更多服务可用区)

2, 开通服务前,想知道什么服务在什么区域 是否可用,怎么看?

有个便捷工具, 可以查看aws对于每个区域的支持情况 https://www.aws-services.info/me-central-1.html

请添加图片描述

OK 前言到此,下面进入正题,

服务4大类

1 计算和分析

在这里插入图片描述

服务名称服务介绍使用场景
EC2提供可调整大小的计算容量,允许在云中运行虚拟服务器实例,虚拟机实例托管 Web 应用程序、扩展计算资源、运行容器化应用程序等。
Auto Scaling自动根据负载需求增加或减少 EC2 实例数量。自动调整应用程序的容量以满足流量变化,实现弹性扩展和收缩。
Lambdaserverless无服务器计算服务,允许在无需管理服务器的情况下运行代码。处理后端任务、事件驱动的计算、构建微服务等。
ELB提供自动负载均衡,将流量分配到多个 EC2 实例上。提高应用程序的可用性和可扩展性,确保流量能够均匀地分布到各个实例上。
ECS容器化服务,允许在云中轻松运行、停止和管理 Docker 容器部署和管理容器化应用程序,实现弹性和灵活性。
EMR管理大数据应用程序的服务,简化在云中运行大规模数据处理框架的流程。处理大数据工作负载,包括批处理、实时流处理、机器学习等。
Kinesis实时数据处理服务,用于收集、处理和分析大量实时数据流处理和分析实时数据流,如日志收集、实时分析、事件驱动应用程序等。
Athena交互式查询服务,可通过标准 SQL 查询 S3 中的数据,无需预先加载或转换数据。针对 S3 存储的数据进行交互式查询和分析,无需管理基础设施。
QuickSight可视化分析服务,用于创建、查看和共享数据驱动的仪表板和报告。通过简单的拖放操作创建数据仪表板,实现数据可视化和分析。
Glue管理和自动化数据集成、转换和加载(ETL)任务的服务。数据湖构建、数据清洗、数据转换等大数据处理任务。

2 存储服务

请添加图片描述

服务名称服务介绍使用场景
EBS提供持久性块存储,可附加到 EC2 实例上用作主要存储设备存储应用程序数据、数据库、文件系统等。
S3提供高度可扩展的对象存储服务,用于存储和检索任意类型的数据。静态网站托管、备份和归档、大数据存储、多媒体存储、数据湖等。
EFS提供高度可扩展的文件存储,可在多个 EC2 实例之间共享文件。共享文件系统、容器存储、数据共享等场景。
RDS管理关系型数据库的服务,支持多种数据库引擎,如 MySQL、PostgreSQL、Oracle 等。托管生产数据库、开发和测试环境、数据分析等场景。
DynamoDB完全托管的 NoSQL 数据库服务,适用于需要快速且可扩展的应用程序。Web 应用程序、游戏后端、实时流处理等高吞吐量和低延迟的应用程序。
Redshift全托管的数据仓库服务,用于分析大规模数据集。大规模数据分析、商业智能、报表生成等。
ElasticCache托管的内存缓存服务支持 Redis 和 Memcached 引擎,提高应用程序的性能和可伸缩性。减轻后端数据库负载、缓存频繁访问的数据、提高应用程序性能等。

3 网络与管理

请添加图片描述

服务名称服务介绍使用场景
VPC虚拟私有云服务,允许在 AWS 中创建一个隔离的网络环境部署多层应用程序、保护敏感数据、连接到企业数据中心等。
Route53可扩展的域名系统(DNS)服务,用于注册和管理域名以及路由 Internet 流量到 AWS 资源。托管域名、路由流量、实现高可用性和容错性的应用程序。
Direct Connect通过专用网络(专线)连接连接企业数据中心和 AWS。提供私有网络连接、增强安全性和性能、减少网络延迟等。
CloudFront全球内容分发网络(CDN)服务,加速分发静态和动态内容到全球用户。提高网站速度、降低延迟、减轻源服务器负载等。
CloudWatch监控和管理 AWS 资源的服务,收集和跟踪指标、监控日志和设置警报。监控资源使用率、性能指标、应用程序日志、实现自动化操作等。
CloudTrail审计日志,记录 AWS 账户的 API 调用活动,用于审核和故障排除。审计和合规性要求、故障排除、安全分析等场景。
CloudFormation提供资源配置模板化通过模板,可以简化并复制资源的创建过程,比如创建EC2的模板,通过模板可以快速复制创建多个EC2
OpsWorksOpsWorks 是一项 DevOps 服务,用于自动化配置、管理和部署应用程序。它支持 Chef 和 Puppet 自动化工具。自动化部署和配置应用程序。管理基础架构和应用程序生命周期。实现持续集成和持续部署流程。

4 APP和部署

请添加图片描述

服务名称服务介绍使用场景
API Gateway网关,API Gateway 是一个托管服务,用于创建、发布、维护、监控和保护面向开发者的 API。创建和管理 RESTful API 和 WebSocket API。 实现 API 访问控制、请求转换和数据验证, 提供 API 的监控和日志记录。
SQSSQS 是一项完全托管的消息队列服务,用于将消息传递给一个或多个组件。解耦应用程序的组件。实现异步消息传递。缓冲和调节不同速度的工作负载之间的压力。
SNSSNS 是一项完全托管的消息发布/订阅服务,用于跨各种分布式服务和应用程序发送通知发布和传递实时通知、警报和通知。将消息广播到多个终端节点。 通过多种传输协议发送消息,如 HTTP、SMS、电子邮件等。
SESSES 是一项可靠的、可扩展的电子邮件服务,用于发送和接收电子邮件。发送电子邮件通知、确认和验证消息。 构建可信的电子邮件发送流程, 管理电子邮件通讯、订阅列表等。
Cognito鉴权服务,Cognito 是一项托管的身份验证、授权和用户管理服务,用于在 Web 和移动应用程序中添加用户身份验证和用户管理功能。实现用户身份验证和授权。 管理用户帐户和用户组。向应用程序添加多因素身份验证和社会登录功能。
CodeCommitCodeCommit 是一个托管的 Git 存储库服务,用于安全存储和管理私有 Git 存储库。存储和管理应用程序代码。 实现团队协作和版本控制。 集成 CI/CD 流程,如与 CodeBuild、CodeDeploy 和 CodePipeline 配合使用。
CodeBuildCodeBuild 是一项完全托管的持续集成服务,用于编译、测试和部署代码。自动化构建、测试和打包应用程序。 集成测试框架和构建工具,如 JUnit、Maven、Gradle 等。 与 CI/CD 工作流程无缝集成。
CodeDeployCodeDeploy 是一项托管的部署服务,用于自动化应用程序部署到 EC2 实例、Lambda 函数、服务器等。自动化应用程序部署到各种计算资源。灰度部署和滚动回滚功能。 集成与 CI/CD 工作流程,如与 CodeBuild、CodePipeline 配合使用。
CodePipelineCodePipeline 是一项托管的持续交付服务,用于自动化构建、测试和部署工作流程。自动化构建、测试和部署应用程序的工作流程。集成多个构建和部署阶段,形成完整的 CI/CD 流水线。实现持续交付和持续部署。

典型在线应用

服务抽象

该图描述了一个标准的大型网站 fb.com 的架构部署图,

请添加图片描述

下图中左侧红框A,为 在线服务 (指ToC业务服务,实时在线为客户提供服务)。

下图中右侧红框B,为 离线数据处理 ,进行用户相关数据的提取,转换,分析,展示。

请添加图片描述

A区域 在线服务

组成由以下5部分

  1. 流量入口
    • DNS 服务: 进行域名的注册和IP的绑定。
    • 负载均衡 Load Balancer:分发流量到后续机器上。
  2. 业务处理逻辑
    • Web Server: 协议上严格意义Web服务器只负责处理HTTP协议,逻辑上强调只发送静态页面等资源内容,不做过多的业务逻辑处理,典型的就是Nginx。

    • App Server: 协议上可以使用HTTP, WSGI,FastCGI等不同协议,逻辑上强调业务逻辑的处理,典型的java tomcat, python flask框架。

      但是由于App Server也可以提供HTTP协议,所以有时和Web Server在实际使用上的区分度不大,只是概念逻辑上的区分。

    • 消息队列: 服务中间件,用于数据传递

  3. 数据存储
    • 缓存:cache,内存型存储,读写快,典型 Redis。
    • 结构化数据存储:结构化存储,严格的数据格式和关系,十分严谨,典型 MySQL
    • 非结构化数据存储:非结构化存储,无需预定义数据格式和关系,十分灵活,典型MongoDB
    • 文件存储:一般用于中大型数据存储,比如文件。
  4. 媒体资源加速
    • 多地域同步:数据扩散存储在不同地域
    • 内容分发网络:CDN 访问加速
  5. 消息通知
    • 邮件 Email
    • 手机消息通知 Mobile Push
    • 短信 Message

B区域 离线数据处理

进行用户行为日志数据处理,分析等。

  1. 数据处理分析
    • Click stream Analysis: 流式分析,这里指对记录的用户数据进行分析。
    • ETL:Extract-Transform-Load,将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程,这里指代将一些如日志数据,进行抽取,转换,格式化以后做后续分析使用。
    • 大数据处理:使用Spark 、Hadoop进行大批量的数据分析处理。
    • Data Warehouse 数据仓库:整合不同的数据源,清洗、转换整合后的数据都放在这里。
    • business intelligence (BI) : 用数据仓库、线上分析、展现分析结果。

现身吧, AWS!

服务填空

现在让我们用填空法,把上面的服务抽象 填成 对应的AWS服务

请添加图片描述

附上大图,

请添加图片描述

填空结果

服务类型AWS对应服务备注
【流量入口】
DNS 服务Route53
负载均衡 Load BalancerELB
【业务处理逻辑】
Web ServerEC2
App ServerEC2
消息队列SQS对标业内开源Kafka ,但是在功能和特性上有差异
【数据存储】
缓存型数据存储Elastic Cache对标业内开源Redis,且基本sdk接口都兼容
结构化数据存储RDS多种数据库引擎支持,比如MySQL
非结构化数据存储DynamoDB对标业内开源MongoDB,但是不兼容,完全2套
文件存储S3
【媒体资源加速】
多地域同步Lambda经典serverless服务
内容分发网络 - CDNCloudFront
【消息通知】
邮件SES
手机消息通知SNS
短信SMS

还没完,再补充2个重点公共服务

关于API Gateway 和 Cognito 都是重要的公共服务,一个用作网关, 一个用作鉴权,可以作为服务组件,加到上述的其它AWS服务中去使用,给服务赋能,让服务填上左膀右臂,拥有安全保障和鉴权能力。

API Gateway 网关

请添加图片描述

AWS API Gateway 对于要提供给互联网外部访问的服务,有很好的保护作用,

此外还有其它具体功能如下:

1 路由 ,2 鉴权 ,3 防火墙,4 缓存, 5 限流

在AWS使用lambda(serverless) 或者 http,都可以用API Gateway进行暴露,里面提供的防火墙,限流功能对安全有一定保障。(PS:毕竟我们很难自己实现一个防火墙 😛)

鉴权认证

请添加图片描述

Cognito: 鉴权服务,用以身份验证。提供账号密码登录 以及 OIDC- OAuth 2.0,Google , Facebook等第三方平台认证。

作为鉴权服务,其可用作AWS上的鉴权服务,如API Gateway等众多服务的鉴权,也可以作为我们自己开发业务的鉴权服务。

总之,AWS上的服务涉及到动态鉴权,账号密码,或者OIDC流程的,基本都可以用Cognito,我们自己开发的业务需要鉴权服务的也可以选择接入Cognito。

结语

通过对AWS 核心服务的掌握 ,可以更好的进行 业务场景的设计,架构的落地。

本文通过介绍重点的AWS服务,典型场景下的实践,来对AWS进行整体的阐述,希望对大家有所帮助!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值