AWS - [01] 概述
题记部分
001 || 概述
AWS,全称Amazon Web Services,是亚马逊公司旗下的云计算服务平台,自2006年起向全球用户提供广泛而深入的云计算服务。AWD是全球最全面、应用最广泛的云平台之一,它从全球的数据中心提供超过200项功能齐全的服务,旨在帮助各种规模的企业、政府机构和非盈利组织快速部署和管理应用程序。
主要服务领域包括:
(1)弹性计算:提供可随时调整的计算容量。用户可以根据需要租用虚拟服务器实例,轻松地进行扩展或缩减。
(2)存储服务:提供高可用、耐用、可扩展地对象存储解决方案,适合存放数据备份、归档和内容分发。
(3)数据库服务:提供托管的关系型数据库服务,以及Amazon DynamoDB等NoSQL数据库服务,满足不同数据存储和访问需求。
(4)网络服务:允许用户配置隔离的私有网络,以及一系列安全和内容分发解决方案。
(5)数据分析:包含Amazon EMR、Kinesis和Redshift等,用于大数据处理、实时流处理和数据仓库分析。
(6)机器学习与人工智能:如Amazon SageMaker,帮助开发者和数据科学家构建、训练和部署机器学习模型。
(7)开发人员工具:包括AWS CodePipeline、CodeDeploy和CodeBuild等,支持持续集成和持续部署(CI/CD)。
(8)安全与合规:提供一系列服务和功能以帮助用户遵守行业标准和法规要求。
002 || EC2(Amazon Elastic Compute Cloud)
亚马逊网络服务(AWS)中的一项核心服务,它提供了灵活的且可扩展的云计算能力,实质上是作为一种虚拟机服务,让用户能够构建和管理不同配置的虚拟服务器实例来满足多样化的业务需求。这些实例通过虚拟机镜像创建,按照其性能特点分为以下几种主要类型。
- 通用型:均衡的计算、内存和网络资源,适合大多数应用情景。
- 计算优化型:专为需要高性能处理器的任务设计,如大规模计算、媒体处理和机器学习。
- 内存优化型:针对处理大量内存数据集的场景,适合缓存服务、大数据分析等。
- 存储优化型:专注于提供高速存储访问,适用于频繁读写操作的工作负载,如大数据处理和日志分析。
安全组作为EC2的一个重要安全特性,扮演了虚拟防火墙的角色,负责控制实例的网络流量进出。用户可以为每个安全组设置规则来定义允许或拒绝的流量类型,包括协议(如TCP、UDP、ICMP)、端口号范围以及源和目标IP地址/CIDR块。这些规则自动应用于与安全组关联的所有实例,确保了灵活且统一的安全策略管理。
003 || S3(Amazon Simple Storage Service)
S3(Simple Storage Service)是AWS的对象存储服务。S3使用HTTP的方式提供服务,计价方式通过存储用量和HTTP请求次数综合定价。S3存储分为两级:bucket(对象桶)和object(对象)。对象桶是一组对象的集合,在创建对象之前必须先创建对象桶,每个对象可以是一个视频或者一个文本文档。
关键特性:
(1)高可靠性与持久性:S3旨在提供99.999999999%的数据持久性,确保数据长期安全可靠。
(2)多种存储类别:S3提供了多种存储类别以适应不同的访问模式和成本需求,包括:
- S3 Standard:适用于频繁访问数据,提供高吞吐量、低延迟访问。
- S3 Intelligent-Tiering:自动在访问频率变化时在存储类间移动数据,以降低成本。
- S3 Standard-Infrequent Access(S3 Standard-IA):适合不太常访问但需快速访问的数据,成本低于S3 Standard
- S3 One Zone-Infrequent Access(S3 One Zone-IA):与S3 Standard-IA类似,但数据仅存储在一个区域,成本更低。
- S3 Glacier:极低成本的长期归档存储,数据检索可能需要数小时。
(3)安全性:支持服务器端加密、客户端加密、访问控制列表(ACL)、跨域资源共享(CORS)、Bucket策略和AWS Identity and Access Management(IAM)权限管理。
(4)可扩展性:能够存储无限量的数,并根据需求自动扩展存储容量。
(5)数据传输:支持RestFul API、AWS SDKs和CLI等多种数据上传下载方式,以及跨区域复制功能,确保数据的地理冗余。
(6)成本效益:采用按需付费模式,只需为实际使用的存储量、数据传出和请求次数付费,没有最低费用或前期投入。
004 || RDS(Amazon Relational Database Service)
适用场景:需要高效管理和维护数据库的用户,特别是那些希望将数据库管理任务外包给专业服务的用户。它提供经济有效的解决方案,用户只需为所使用的资源付费,无需预先投资。
RDS(Amazon Relational Database Service)是一项托管式关系型数据库服务,旨在简化在云中设置、运营和扩展数据库的过程。它提供八种热门数据库引擎供用户选择,包括:
- Amazon Aurora PostgreSQL 兼容版
- Amazon Aurora MySQL 兼容版
- RDS for PostgreSQL
- RDS for MySQL
- RDS for MariaDB
- RDS for SQL Server
- RDS for Oracle
- RDS for Db2
主要功能:
(1)管理数据库管理任务:Amazon RDS负责处理常见的数据库管理任务,如配置、修补、备份、恢复、故障检测和修复,从而减轻用户的管理负担。
(2)高可用性和灾难恢复:通过主实例和同步辅助实例实现高可用性,并在发生故障时进行故障转移操作。此外,用户可以手动创建备份快照并使用这些备份还原数据库。
(3)监控和指标:提供Amazon CloudWatch指标,用户可以通过AWS Management Console查看关键运行指标,包括计算/内存/存储容量使用率、I/O活动和实例连接数。
005 || VPC(Amazon Virtual Private Cloud)
Amazon VPC(Amazon Virtual Private Cloud)是在AWS上创建隔离的私有虚拟网络。可以在VPC中启动实例。一个VPC与传统数据中心的一个网络相似,提供了动态变更和扩展的能力。在VPC中可以设定IP地址段,创建子网,并配置路由表、网关和安全设置。绑定浮动IP能够为VPC的实例提供公网服务,甚至可以将VPC连接到自己企业的数据中心,并利用AWS云扩展数据中心。弹性IP地址是专为动态云计算设计的静态IPv4地址,弹性IP地址可以快速地将地址重新映射到用户账户中地另一个实例中,从而屏蔽实例故障。
(1)VPC由多个组件组成,包括:
- 子网:VPC内的IP地址范围,可以进一步划分为公有子网和私有子网,分别支持Internet出入站和受限出战访问。
- 路由表:用于判断网络流量的导向目的地,每个子网必须且只能与一个路由表关联。
- 互联网网关:实现VPC中实例与Internet之间的通信。
- NAT网关:允许私有子网中的实例连接到Internet或其他AWS服务,但阻止Internet发起与私有实例的连接。
- 安全组和网络访问控制列表:提供多层安全控制,保护子网中的资源。
(2)使用场景和优势
- 提供安全性:用户可以全面控制虚拟网络环境,包括资源放置、连接性和安全性
- 节省时间和成本:通过自定义网络配置,用户可以更高效地管理和使用AWS资源。
- 灵活性和可扩展性:VPC支持IPv4和IPv6,提供高度的灵活性和可扩展性。
006 || EMR(Amazon Elastic MapReduce)
EMR(Amazon Elastic MapReduce)是一种基于Amazon EC2和Amazon S3技术的Hadoop托管服务,旨在提升企业、研究人员、数据分析师和开发人员处理海量数据的能力。EMR通过自动加速MapReduce框架在EC2实例上的Hadoop部署,实现了数据的快速并行处理和高效资源管理。
(1)主要功能和服务
- 数据并行处理:EMR将任务流程中的数据细分为更小的数据块,以进行并行处理,最终将处理后的数据重新组合为最终解决方案。
- 灵活配置:用户可以根据需求即时调整EMR集群的容量,执行数据密集型应用计算,如Web索引、数据挖掘、日志文件分析、数据仓库、机器学习、财务分析和科学模拟等任务。
- 安全访问:EMR自动配置EC2防火墙,控制实例的网络访问安全,并支持在Amazon Virtual Private Cloud(VPC)中启动任务流程,确保网络安全。
(2)适用场景
- 数据分析:快速处理和分析大量数据集
- 机器学习:训练和测试机器学习模型。
- 科学研究和开发:进行复杂的科学计算和模拟。
- 财务分析:处理金融数据和进行市场分析。
(3)定价信息
EMR的定价是基于使用EC2实例类型和运行时间。具体费用取决于实例的类型和数量,以及它们运行的时间。例如,m5.xlarge实例每小时的费用为¥1.356,而m5a.xlarge实例每小时的费用为¥1.219
007 || Kinesis(Amazon Kinesis)
Kinesis是AWS提供的一项完全托管的流数据处理服务,旨在为实时数据处理应用提供高性能和低管理开销。它能够收集、处理和分析来自数千个来源的任意数量的流数据,并以低延迟进行处理,使用户能够在几秒或几分钟内获得分析结果,而无需等待几小时或几天。
(1)功能和用途
- Kinesis Data Streams:这是一种无服务器流数据服务,用户捕获、处理和存储数据流。它可以从成千上万个来源中以每秒数GB的速度持续捕获数据,适用于各种规模的数据处理需求。
- Kinesis Video Streams:专门用于处理视频流数据,适用于安全监控、人脸检测、机器学习等应用。
(2)使用场景
- 实时应用程序:构建用于应用程序监控、欺诈检测和实时排行榜的应用程序。
- 实时分析:对以前使用批处理进行分析的数据执行实时分析,获取最新信息。
- 物联网设备数据:处理来自IoT设备的流媒体数据,发送实时报警并响应传感器数据。
- 视频分析应用程序:从配备摄像头的设备安全地传输视频,进行视频播放、安全监控、人脸检测等。
(3)优势
- 实时处理:Amazon Kinesis能够实时接收、缓冲和处理流数据,提供快速响应时间
- 完全托管:用户无需管理任何基础设施,降低了运维成本
- 可扩展性:能够处理来自几十万个来源的任意数量的流数据,延迟非常低。
008 || Redshift
Amazon Redshift是AWS提供的一种在云端中完全托管的PB级数据仓库服务,专为大规模数据处理和高性能查询而设计。
(1)基本概念
- Amazon Redshift的功能和特点:Amazon Redshift使用大规模并行处理(MPP)架构,能够并行处理大规模数据集,提供快速、高效的数据查询和分析能力。它支持列式存储,数据加载速度与集群大小呈线性关系,适合数据仓库查询。
- Amazon Redshift与Amazon S3的结合使用:Amazon Redshit 可以将查询扩展到Amazon S3数据湖中,无需加载数据,从而实现对EB级非结构化数据的分析。
(2)工作原理
Amazon RedShift通过其独特的MPP架构,能够将数据分布到多个计算节点上,并行执行查询,从而大大提高了查询性能。此外,它还支持自动备份和快速恢复,确保数据的安全性和可用性。
(3)适用场景:适用于需要处理大量数据、进行复杂查询和分析的企业和团队。它可以帮助用户快速做出明智的商业决策,实现商业价值的最大化。
009 || Amazon SageMaker
Amazon SageMaker是AWS的一项完全托管的服务,旨在帮助数据科学家和开发人员快速构建、训练和部署机器学习(ML)模型。它提供了一个集成开发环境,支持多种机器学习框架,并能够自动优化模型参数,使得机器学习项目的开发过程更加高效和自动化。
(1)主要功能和特点
- 端到端工作流:支持从数据准备到模型部署的完整工作流,包括数据清洗、模型训练、模型调优、模型部署和模型监控。
- 集成开发环境:提供Jupyter笔记本支持,允许开发者在云端编写和测试机器学习代码。
- 预置算法和框架:内置TensorFlow、PyTorch、MXNet等多种流行的机器学习算法和深度学习框架。
- 自动模型调优:通过自动模型调优(Hyperparameter Optimization, HPO)功能,自动寻找最佳的超参数组合,提高模型性能。
- 可扩展性和弹性:支持大规模GPU集群,提供按需扩展的能力,根据训练任务动态调整资源。
(2)适用场景:Amazon SageMaker适用于数据探索和特征工程、模型训练、模型评估和选择、模型部署、模型管理和监控等多种场景。它能够帮助企业快速构建和部署机器学习应用,从而提高业务效率和决策质量。
010 || AWS CodePipeline
AWS CodePipeline 是一种完全托管的持续集成与持续交付(CI/CD)服务,它自动化了应用程序和基础设施更新的发布流程通过 CodePipeline,用户可以定义一个发布流程模型,该模型包括代码的构建、测试和部署阶段,从而确保每次代码更改都能快速而可靠地交付。
(1)AWS CodePipeline 的主要特点
- 快速交付:自动化软件发布过程,使您能够向用户快速发布新功能。
- 质量提高:通过自动化构建、测试和发布过程,轻松测试每次代码更改并捕捉易于修复的小型漏洞。
- 可配置工作流:通过图形用户界面模拟软件发布过程的各个阶段,指定要运行的测试以及部署应用程序及其依赖项的步骤。
(2)AWS CodePipeline 的主要功能
- 与 AWS 服务的集成:CodePipeline 可以与 AWS 的其他服务无缝集成,如 CodeBuild 和 CodeDeploy,以及 GitHub、Bitbucket 等第三方服务。
- 审批流程:在自动化的部署流程中,CodePipeline 支持审批流程,确保每次部署前都经过必要的审查和批准。
- 按实际使用量付费:CodePipeline 提供灵活的付费模式,用户只需按实际使用量付费,没有前期费用或长期承诺。
(3)使用场景
AWS CodePipeline 适用于需要频繁发布更新、希望提高软件交付速度和质量的团队。无论是软件开发团队还是运维团队,都可以利用 CodePipeline 来简化和自动化他们的发布流程。通过 AWS CodePipeline,用户可以实现从代码提交到应用部署的完整自动化流程,从而提高工作效率,缩短上市时间,并提升用户体验.
011 || AWS CodeDeploy
AWS CodeDeploy 是一种完全托管的自动化部署服务,它能够让 AWS 用户方便快速地将应用自动部署到 Amazon EC2 实例上。通过部署流程的标准化和自动化,CodeDeploy 加快了部署的速度,控制了部署节奏,降低了应用升级更新的复杂度,并减少了手工部署操作的错误和风险。
(1)AWS CodeDeploy 的主要特点和功能
- 自动部署:自动将应用程序部署到 Amazon EC2、AWS Fargate、AWS Lambda 和本地实例。
- 滚动更新和蓝绿部署:通过滚动更新和蓝绿部署,保持应用程序在部署期间的高度可用性,减少停机时间
- 部署运行状况跟踪:监控部署过程,确保应用程序的可用性,并在发生多次更新失败时停止部署。
- 集中控制:通过 AWS 管理控制台、AWS CLI、开发工具包或 API 集中控制部署,启动、控制和监控部署过程。
(2)使用 AWS CodeDeploy 的场景和优势
- 适用场景:适用于需要频繁发布更新、希望提高软件交付速度和质量的团队,无论是软件开发团队还是运维团队,都可以利用 CodeDeploy 来简化和自动化他们的发布流程
- 优势:通过自动化部署流程,提高工作效率,缩短上市时间,并提升用户体验。
(3)AWS CodeDeploy 的集成和扩展性
- 与 AWS CodePipeline 和 CodeBuild 的集成:CodeDeploy 可以与 AWS CodePipeline 和 CodeBuild 无缝集成,实现从代码提交到应用部署的完整自动化流程
- 支持多种计算环境:支持 Amazon EC2、AWS Fargate、AWS Lambda 和本地实例,适用于各种规模和复杂度的应用程序部署
通过 AWS CodeDeploy,用户可以实现快速、可靠的应用程序部署,同时提高软件交付的质量和效率。
012 || AWS CodeBuild
AWS CodeBuild 是一项完全托管的持续集成服务,旨在帮助开发人员自动化构建、测试和部署应用程序的过程。通过 CodeBuild,用户可以编译源代码、运行测试并生成可供部署的软件包,无需预置和管理构建服务器.
(1)主要特点
- 完全托管:无需管理或安装软件,CodeBuild 会自动处理构建环境的配置和管理。
- 自动化持续集成和交付 (CI/CD):支持创建自动化的软件发布流程,通过多个部署环境推进代码更改。
- 预配置和自定义构建环境:提供多种预配置构建环境,支持自定义构建环境,适用于多种编程语言和工具。
- 按需付费:按使用的计算资源分钟数收费,无需为未使用的资源付费。
- 安全性:与 Amazon Identity and Access Management (IAM) 集成,实现精细的权限控制。
(2)使用场景
- 自动化 CI/CD 管道:创建全自动化的软件发布流程,通过多个部署环境推进代码更改。
- 简化构建服务器管理:在 CodeBuild 上运行现有的 Jenkins 构建作业,无需配置和管理 Jenkins 构建节点。
- 构建托管于 GitHub 上的源代码:使用现有的 GitHub 存储库自动启动软件构建流程,并将构建结果发布回 GitHub。
- 与AWS CodePipeline 的集成:CodeBuild 可以与 CodePipeline 无缝集成,实现从代码提交到应用部署的完整自动化流程
013 || IAM(Identity and Access Management)
Identity and Access Management(IAM)是一种安全策略,用于控制谁可以访问网络资源以及他们可以访问哪些资源。IAM系统通常包括以下几个关键功能:身份认证、访问控制、用户账户管理、密码(凭据)管理、审计和监控。
(1)IAM系统的主要功能
- 身份认证:验证用户或设备的身份,确保他们是谁声称的那样。
- 访问控制:确定用户或设备在身份认证后可以访问哪些资源和执行哪些操作。
- 用户账户管理:创建、修改和删除用户账户,以及管理账户的权限。
- 密码(凭据)管理:确保密码的安全性,包括密码策略和密码重置功能。
- 审计和监控:跟踪和记录用户的活动,以便进行安全审计和监控潜在的不当行为。
(2)AWS IAM概述
AWS IAM是Amazon Web Services提供的身份管理服务,主要用来解决AWS账户中的身份认证和授权问题。IAM服务设计了主体、实体、用户、角色、用户组、权限策略等概念和机制,以集中管理控制用户或应用程序访问AWS资源的精细权限
(3)AWS IAM最新功能
可信身份传播:允许使用数据的应用程序(如Amazon QuickSight、Amazon Redshift查询编辑器等)将用户的身份和群组成员资格传播到存储和管理数据访问权限的服务(如Amazon Redshift、Amazon Athena等)。这一功能简化了最终用户的登录体验,使数据所有者能够根据真实的最终用户身份定义访问权限,并使审计人员能够验证用户的数据访问权限。
— 业精于勤荒于嬉,行成于思毁于随 —
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南