# Amazon云平台相关技术及服务简介及总结 ## 弹性计算服务 ### EC2 Amazon EC2(Elastic Compute Cloud)是亚马逊云计算服务的一部分,提供可扩展的计算能力。用户可以根据需求创建和管理虚拟服务器,这些服务器可以运行各种应用程序和操作系统。以下是一些主要特点: - 弹性计算:用户可以根据需求动态地增加或减少计算资源,只需按实际使用的时间付费。 - 多种实例类型:EC2提供多种实例类型,适用于不同的工作负载,包括适用于高性能计算的GPU实例,适用于高I/O任务的通用型实例等。 - M(General Purpose):通用型 - T(Burstable Performance):突发性能型 - C(Compute Optimized):计算优化型 - R(Memory Optimized):内存优化型 - X(High Memory Optimized):高内存优化型 - Z(Memory and Compute Optimized):内存和计算优化型 - D(Dense Storage):高密度存储型 - I(I/O Optimized):I/O优化型 - H(High Storage Throughput):高存储吞吐量型 - G(Graphics/Accelerated Computing):图形处理/加速计算型 - P(Accelerated Computing):加速计算型 - F(Field Programmable Gate Array):可编程门阵列 - 安全性:EC2提供多层安全架构,包括虚拟私人网络(VPC)、安全组、身份和访问管理等。 - 可扩展性:用户可以轻松地扩展应用程序,无论是水平扩展(增加实例数量)还是垂直扩展(升级实例规格)。 - 全球覆盖:EC2在亚马逊全球各地的数据中心提供服务,用户可以选择最近的数据中心以减少延迟。 ### Lambda Amazon Lambda(AWS Lambda)是亚马逊提供的一种无服务器计算服务,允许用户运行代码而无需预配或管理服务器。以下是一些主要特点: - 无服务器计算:Lambda 会自动管理所需的计算资源,包括服务器和操作系统的维护、容量配置和自动扩展。 - 按需计费:用户只需支付实际使用的计算时间,当代码不运行时不收取费用。 - 事件驱动:Lambda 可以根据事件触发代码执行,如 Amazon S3 中的文件上传事件、Amazon DynamoDB 中的数据更改事件等。 - 高可扩展性:Lambda 可以快速扩展和缩小,适用于需要快速响应新信息的应用。 - 多语言支持:Lambda 支持多种编程语言,如 Node.js、Python、Java、Go 等。 Lambda 适用于各种场景,如文件处理、流处理、Web 应用、物联网(IoT)后端、移动后端等。它简化了开发和部署过程,使开发者能够专注于编写代码,而不用担心基础设施管理。 ### Auto Scaling Amazon Auto Scaling 是一种服务,用于自动调整 AWS 应用程序的容量,以保持稳定且可预测的性能,同时降低成本。以下是一些主要特点: - 自动扩展和缩减:Amazon Auto Scaling 可以根据应用程序的负载自动增加或减少计算资源,确保应用程序始终具有足够的资源来处理请求。 - 多资源管理:它可以管理多种 AWS 服务的资源,包括 Amazon EC2 实例、Amazon ECS 任务、Amazon DynamoDB 表和索引、Amazon Aurora 复制等。 - 简单的用户界面:Amazon Auto Scaling 提供了一个直观的用户界面,让用户可以快速设置和管理扩展计划。 - 成本优化:通过自动调整资源,Amazon Auto Scaling 可以帮助用户优化资源利用率,只支付实际使用的资源费用。 - 高可用性和弹性:它确保应用程序在高负载时保持高性能,并在负载减少时减少资源,从而节省成本。 Amazon Auto Scaling 适用于需要动态扩展和缩减的应用程序,如 Web 应用、数据处理和分析等。 ### Load Balancing Amazon Web Services (AWS) 提供了一系列的负载均衡解决方案,帮助在分布式应用程序中均匀地分配流量,从而提高应用的可用性、可靠性和性能。AWS 的负载均衡器可以自动将流量分发到多个后端服务器,确保高效的资源利用,并避免任何单点故障。 ## 存储及缓存服务 ### Elastic Block Storage Amazon Elastic Block Store (EBS) 是 Amazon Web Services (AWS) 提供的一种持久性块存储服务,专门为 Amazon EC2 实例提供高性能、低延迟的存储。EBS 可以与 EC2 实例配合使用,提供持久化存储,保证即使在 EC2 实例停止或终止的情况下数据也不会丢失。EBS 允许用户为 EC2 实例附加多个卷,这些卷可以用作操作系统磁盘、应用程序数据存储或数据库存储等。 ### Elastic File System Amazon EFS 是一款高度可扩展、高可用性的文件存储服务,适用于需要共享文件存储的应用场景。EFS 提供自动扩展、高性能的存储解决方案,并且支持多协议访问、加密和与 AWS 服务的深度集成。它可以广泛应用于大数据分析、媒体处理、开发测试、容器存储等多个领域,尤其适用于需要跨多个 EC2 实例并发访问的工作负载。 Amazon EFS (Elastic File System) 和 EBS (Elastic Block Store) 都是 Amazon Web Services (AWS) 提供的存储解决方案,但它们在功能、设计目标和使用场景上有一些显著的不同。以下是它们的主要区别和适用场景: 1. 存储类型 EBS (Elastic Block Store):是一种块级存储,类似于硬盘驱动器(HDD)或固态硬盘(SSD),每个卷都与一个单独的 EC2 实例进行关联。它是为 EC2 实例提供持久性存储的解决方案,通常用于需要低延迟、密集 I/O 操作的场景。 EFS (Elastic File System):是一种文件级存储服务,类似于传统的网络文件系统(NFS)。它允许多个 EC2 实例共享同一个文件系统并并发访问文件,适合需要共享存储的应用程序。 2. 访问方式 EBS:只能与一个 EC2 实例挂载。它是针对单个实例的存储,主要用于需要高性能、高吞吐量、低延迟的本地存储。 EFS:支持多个 EC2 实例同时挂载同一个文件系统,可以通过 NFS(Network File System)协议从不同的 EC2 实例访问,因此适合共享文件和协作工作。 3. 扩展性 EBS:容量是固定的,必须手动调整。如果你需要更多的存储空间,必须扩展卷或创建新卷。扩展时通常需要停止实例并进行挂载。 EFS:自动扩展。存储容量根据数据存储需求自动扩展,无需手动干预。它可以轻松应对存储量的变化,适用于动态变化的数据存储需求。 4. 性能 EBS:性能高度可配置,用户可以选择不同类型的 EBS 卷(如 gp3, io2, st1, sc1),以满足不同工作负载的需求。例如,io2 提供高 IOPS 和低延迟性能,适合数据库等高性能应用。 EFS:性能通常与所选的性能模式(General Purpose 或 Max I/O)相关,适用于并发访问和高吞吐量需求的工作负载。虽然 EFS 的性能非常好,但在一些要求极高 IOPS 的场景下,EBS 可能更适合。 ### ElastCache Amazon ElastiCache 是 AWS 提供的一种托管式内存缓存服务,旨在通过减少数据库负载和加速应用程序的响应时间,提升性能。它提供了易于部署、管理和扩展的缓存解决方案,支持常见的缓存引擎如 Redis 和 Memcached。 ## 网络及安全 ### VPC Amazon VPC 是 AWS 提供的一个非常强大的网络管理工具,它让您能够在 AWS 云中创建和管理独立的虚拟网络环境。无论是构建完全隔离的私有网络,还是实现跨云和混合云架构,VPC 都为用户提供了高度的灵活性、安全性和可扩展性。VPC 提供了多种控制网络流量的功能,例如子网、路由表、VPN、NAT 网关等,使得用户可以根据应用的需求进行精细的网络管理。 主要特点和功能 1. VPC 网络隔离 网络隔离:在 VPC 中创建的资源(如 EC2 实例、RDS 数据库等)是隔离的,可以控制与其他网络(包括互联网)和本地数据中心的通信。 自定义网络架构:用户可以设计符合自己需求的子网、路由表和安全组,精细控制网络流量。 2. 子网(Subnets) 公有子网与私有子网: - 公有子网:能够直接访问互联网,通常用于托管需要公共访问的服务,如 Web 服务器、负载均衡器等。 - 私有子网:没有直接的互联网访问权限,通常用于托管数据库、应用服务器等需要保护的资源。 子网的区域分布:VPC 支持跨可用区(AZ)部署子网,确保高可用性和容错性。每个可用区都可以拥有多个子网。 3. Internet Gateway (IGW) - 互联网网关:通过互联网网关,VPC 中的资源可以访问互联网。一个 VPC 可以有一个互联网网关,用于将公有子网中的资源连接到互联网。 - 双向通信:互联网网关允许从 VPC 内部访问互联网,也允许外部用户访问公有子网中的资源。 4. NAT 网关与 NAT 实例 NAT 网关:用于让私有子网中的实例访问互联网,同时防止外部互联网直接访问这些实例。NAT 网关是 AWS 托管的服务,易于设置和管理。 NAT 实例:作为替代方案,NAT 实例允许私有子网的实例访问互联网,但与 NAT 网关相比,NAT 实例需要更多的管理工作(例如高可用性、负载均衡等)。 5. VPC Peering VPC 对等连接:通过 VPC Peering,您可以将两个不同的 VPC 网络连接起来,以便它们可以相互通信。VPC 对等连接是基于私有 IP 地址的,不通过互联网流量。 同一区域和跨区域对等连接:VPC Peering 可以是同一区域的对等连接,也可以是跨区域的对等连接。 6. VPN 连接 AWS Site-to-Site VPN:VPC 支持通过 VPN 连接将本地数据中心与 VPC 连接起来,从而构建一个混合云架构。Site-to-Site VPN 使用加密隧道保护传输的数据。 AWS Client VPN:支持通过客户端 VPN 连接(例如 AWS 提供的 OpenVPN 客户端)安全地访问 VPC 内部资源,适用于远程工作者访问。 7. Direct Connect AWS Direct Connect:通过物理专线将本地数据中心与 AWS 直接连接,可以实现更低的延迟、更高的带宽和更稳定的连接。适合有大量数据传输需求的企业。 8. 路由表(Route Tables) 路由控制:VPC 允许用户定义路由表,用来控制流量的传递路径。每个子网都可以与一个路由表关联,决定流量如何从一个子网流向另一个子网或互联网。 动态路由:VPC 支持与 AWS 的 VPN、Direct Connect 等其他网络服务进行动态路由选择。 9. 安全组(Security Groups) 虚拟防火墙:安全组作为一种虚拟防火墙,控制进出实例的流量。用户可以基于 IP 地址、端口号、协议类型等设置规则。 状态检测:安全组是“状态检测”的,即它只跟踪每个请求的状态,因此可以动态更新规则而不需要显式地管理连接的状态。 10. 网络ACL(Network Access Control Lists) 子网级别的访问控制:网络ACL 是用于控制子网级别的流量的访问控制列表。与安全组不同,网络 ACL 是无状态的,即它们会对入站和出站流量进行独立的检查。 11. VPC 流日志 监控和日志记录:VPC 流日志用于捕获经过 VPC 中网络接口的所有 IP 流量,帮助用户监控、分析和故障排除网络流量。通过与 CloudWatch 集成,用户可以实时查看日志数据。 ### API Gateway Amazon API Gateway 是一个强大且灵活的服务,能够帮助用户构建、发布和管理 API。它可以与 AWS 上的各种服务(如 Lambda、EC2、DynamoDB 等)无缝集成,支持各种应用场景,包括无服务器架构、微服务、移动应用后端、实时通信等。通过 API Gateway,开发者可以专注于业务逻 ### IAM AWS IAM 是一项强大的服务,可以帮助用户在 AWS 环境中安全地管理身份和权限。通过精细化的权限控制和策略管理,IAM 允许用户灵活地控制谁可以访问 AWS 资源,并以安全、可扩展的方式进行身份验证和授权。无论是在单一账户还是跨多个账户、跨组织的环境中,IAM 都为用户提供了非常强大的安全性和管理能力。 ## 问题 ### amazon的auto scaling和load balancing的关系? Amazon Auto Scaling 和 Load Balancing 是两种不同但互补的服务,它们协同工作以提高应用程序的可用性、性能和弹性。以下是它们之间的关系和协同方式: - Auto Scaling - 主要功能:根据设定的策略自动调整计算资源的数量,如增加或减少 EC2 实例,以应对应用程序的负载变化。 - 目标:确保应用程序始终具有足够的资源来处理请求,同时在负载减少时缩减资源以降低成本。 - Load Balancing - 主要功能:在多个服务器之间分配传入的应用程序或网站流量,确保每个服务器的负载均衡,防止任何单个服务器过载。 - 目标:提高应用程序的可用性和可靠性,提供故障转移机制,确保高可用性。 关系与协同: - 动态调整:Auto Scaling 会根据应用程序的需求自动增加或减少 EC2 实例,而 Load Balancer(例如,Elastic Load Balancer, ELB)会将流量自动分配到这些实例上。 - 提高可用性:Auto Scaling 确保在高负载时提供足够的计算资源,而 Load Balancer 确保流量均匀分布,防止某些实例过载。 - 故障转移:如果某个实例发生故障,Load Balancer 会将流量重新分配到健康的实例上,而 Auto Scaling 可以在需要时启动新的实例来替换故障实例。 通过结合使用 Auto Scaling 和 Load Balancing,您可以实现高度可用、可扩展和成本效益的云架构。如果您有更多具体问题或需要进一步的帮助,请告诉我! ## 附录 - 1、公有IP和私有IP的区别 回答: 有A、B、C类三种网络 - A类网络1.0.0.0 - 126.255.255.255(1.0.0.0/8,CIDR(classless inter domain routing),126个A类网络,每一个A类网络有2^24-2个主机) - 私有IP:10.0.0.0-10.255.255.255 - B类网络:128.0.0.0-191.255.255.255(128.0.0.0/16,2^16-2) - 私有IP:172.16.0.0-172.31.255.255 - C类网络:192.0.0.0-223.255.255.255(192.0.0.0/24,2^8-2) - 私有IP:192.168.0.0-192.168.255.255 VPC:192.168.2.60 10.0.02.10 10.0.0.0/8 10.1.0.0/16 10.2.0.0/16