AWS计算
#aws #教程 #python #lambda

AWS有4种基础服务:

  1. Compute
  2. 存储
  3. 数据库
  4. 网络

我们将介绍计算服务。

什么是AWS中的计算?

AWS计算是指在Amazon Web Services(AWS)上运行应用程序和服务的能力。可以将其视为CPU和RAM等应用程序所需的大脑和处理能力。

在AWS中,您可以使用多个计算源。 AWS提供了云计算索引,可以在此处找到。您可以看到可以使用不同的计算资源的不同方案。

EC2 - 弹性计算云

EC2代表亚马逊弹性计算云。它是一款Web服务,可在Amazon Web服务(AWS)云中提供可扩展的计算能力。使用EC2消除了预先投资硬件的需求,因此您可以更快地开发和部署应用程序。

EC2提供各种实例类型,每种类型都具有不同的CPU,内存和存储配置。您可以选择最能满足应用程序需求的实例类型。 EC2还提供了各种操作系统,因此您可以选择适合您的操作系统。

选择了实例类型和操作系统后,您可以启动EC2实例。启动实例时,将为您提供一个公共IP地址,可以使用该地址连接到实例。您还可以创建一个控制可以访问您实例的安全组。

EC2是一种强大的工具,可用于运行各种应用程序。对于从小型创业公司到大型企业的各种企业,这是一个不错的选择。

这是使用EC2的一些好处:
可伸缩性:EC2高度可扩展,因此您可以根据需要轻松添加或删除资源。
可靠性:EC2非常可靠,有99.99%的正常运行时间SLA。
安全性:EC2非常安全,具有各种功能来保护您的数据。
成本效益:EC2具有成本效益,具有适合您预算的各种定价选项。

如果您正在寻找一种可扩展,可靠且安全的运行应用程序的方法,那么EC2是一个不错的选择。

EC2服务可以分解为以下组件:

  • 亚马逊机器图像
  • 实例类型
  • 实例购买选项
  • 租赁
  • 用户数据
  • 存储选项
  • 安全

亚马逊机器图像

AMI或A​​mazon Machine Image是一个模板,您可以使用该模板来启动EC2实例。 AMIS包括要在实例上使用的操作系统,软件和配置设置。基本上,它是预先配置的EC2实例。这样可以防止您安装操作系统或任何其他可能需要在EC2实例上安装的常见应用程序。

假设您需要在AWS上创建Linux服务器。您可以从选择AWS AMI开始,该模板包括要在服务器上使用的操作系统,软件和配置设置。服务器启动并运行后,您可以安装自己的自定义应用程序并进行特定的配置更改。

如果您需要使用相同的配置创建另一台服务器,则可以通过选择AMI并安装应用程序的相同过程,也可以从第一个服务器创建自定义AMI。要创建自定义AMI,您只需要拍摄第一个服务器的快照,然后从快照中创建AMI。

创建自定义AMI后,您可以使用它来启动具有相同配置的新服务器。这可以节省大量的时间和精力,尤其是当您需要创建大量服务器时。

创建自定义AMIS也是保持服务器一致的好方法。如果您更改一台服务器,则只需创建一个新的AMI,然后使用该AMI来更新所有其他服务器。这可以帮助确保所有服务器都运行相同的软件和配置设置。

总的来说,创建自定义AMIS是在AWS上管理服务器时节省时间和精力的好方法。这也是保持服务器一致的好方法。

插型类型

EC2实例类型是可以在Amazon Elastic Compute Cloud(EC2)上启动的虚拟机(VM)类型的类型。实例类型由其CPU,内存和存储容量定义。

有许多不同的实例类型,每种实例类型都有自己的优点和劣势。选择实例类型时,您需要考虑应用程序的需求。
选择实例类型时需要考虑一些因素:

CPU :CPU是计算机的中央处理单元。它负责执行运行您的应用程序所需的计算。选择实例类型时要考虑的CPU内核数和CPU的时钟速度是要考虑的重要因素。

内存:内存用于存储您应用程序当前正在使用的数据。您需要的内存量取决于应用程序的大小和所需的数据量。

存储:存储用于存储您应用程序当前未使用的数据。您需要的存储类型将取决于您需要存储的数据类型以及您需要存储的数据量。

一旦考虑了应用程序的需求,就可以选择满足您要求的实例类型。

这是实例类型的一些示例:
通用实例类型:这些实例类型是各种工作负载的好选择,包括Web应用程序,数据库和开发环境。
计算优化实例类型:这些实例类型是需要大量CPU功率的工作负载的一个好选择,例如高性能计算(HPC)和机器学习(ML)。
内存优化实例类型:这些实例类型是需要大量内存的工作负载的一个不错的选择,例如内存数据库和大数据分析。
存储优化实例类型:这些实例类型是需要大量存储的工作负载的一个不错的选择,例如媒体流和内容传递网络(CDNS)。

EC2实例类型为您提供了多种运行应用程序的选项。通过选择正确的实例类型,您可以确保您的应用程序具有最佳执行的资源。

用户数据

EC2用户数据是启动EC2实例时执行的一组命令或脚本。用户数据可用于安装软件,配置实例或执行其他任务。

用户数据将传递给Base64编码字符串中的实例。用户数据的最大尺寸为16KB。

用户数据是一种强大的工具,可用于自动化EC2实例的配置。它可以用来:

  • 安装软件
  • 配置实例
  • 执行其他任务

用户数据是EC2用户的宝贵资源。它可以通过自动化实例的配置来节省时间和精力。

以下是如何使用用户数据的一些示例:

  • 要安装软件,您可以使用用户数据运行安装软件的脚本。
  • 要配置实例,您可以使用用户数据设置环境变量或创建用户。
  • 要执行其他任务,您可以使用用户数据运行任何命令或脚本。

用户数据是一种强大的工具,可用于自动化EC2实例的配置。它可以通过自动化实例的配置来节省时间和精力。

存储选项

EC2提供了各种存储选项,每个存储选项都具有自己的优点和劣势。选择存储选项时,您需要考虑应用程序的需求。

选择存储选项时需要考虑一些因素:
费用:存储是一种经常出现的成本,因此您需要选择适合您预算的选项。
性能:存储的性能会影响您的应用程序的性能。
耐用性:您的数据需要耐用,因此您需要选择一个可靠的存储选项。
可伸缩性:您的存储需要可扩展,因此您需要选择一个可以随着应用程序增长而增长的选项。

一旦考虑了应用程序的需求,就可以选择满足您要求的存储选项。

这是EC2存储选项的一些示例:
Amazon弹性块存储(EBS):EBS是一种块存储服务,可为EC2实例提供持久存储。 EBS量附加到实例上,即使实例已停止或终止,也可以用于存储需要保留的数据。
Amazon弹性文件系统(EFS):EFS是一种文件存储服务,提供了可以通过多个EC2实例安装的共享文件系统。 EFS是存储需要在实例之间共享的数据(例如Web应用程序代码或媒体文件)的好选择。
Amazon简单存储服务(S3):S3是一种对象存储服务,它提供了一种存储和检索数据的简单方法。 S3是存储不需要持久的数据的不错选择,例如媒体文件或备份。
Amazon Elastic Cache(Elasticache):Elasticache是​​一种内存数据存储服务,可为苛刻的应用程序提供高性能,可扩展和耐用的内存数据缓存。 Elasticache是​​存储需要快速访问的数据的不错选择,例如数据库缓存或会话商店。

EC2存储选项为您提供了许多用于存储数据的选项。通过选择正确的存储选项,您可以确保以满足应用程序需求的方式存储数据。

安全

创建EC2实例时,将要求您选择一个安全组。安全组是一个虚拟防火墙,可控制您实例的入站和出站流量。您可以为入站和出站流量指定源端口和协议。然后,您的实例与此安全组相关联。

钥匙对是一对公共钥匙和私钥。公钥存储在AWS上,并且私钥存储在您的计算机上。创建EC2实例时,将提示您创建一个键对或选择现有的对。私钥用于连接到您的实例。

创建钥匙对时,您将有机会下载私钥。确保该文件安全很重要。如果私钥丢失或妥协,任何人都可以连接到您的实例。

创建了一个EC2实例并连接到它,就可以设置其他访问控件。例如,您可以创建本地用户帐户或使用Microsoft Active Directory。

确保您的EC2实例安全很重要。您应该定期安装最新的安全更新和补丁。

您还应该监视您的实例可疑活动。

这是确保您的EC2实例的一些其他技巧:

  • 使用强密码和安全键。
  • 保持您的软件最新。
  • 使用安全组控制对您的实例的访问。
  • 使用网络访问控制列表(ACL)控制对您的子网的访问。
  • 启用数据加密。
  • 监视您的可疑活动实例。

通过遵循这些安全性最佳实践,您可以帮助确保EC2实例安全。

ECS-弹性容器服务

aws ECS(Amazon弹性容器服务)是一种完全管理的容器编排服务,可轻松部署,管理和扩展容器化应用程序。 ECS提供了各种功能,使其成为容器编排的强大工具,包括:
可伸缩性:EC可以根据需求自动向上或向下扩展应用程序。
高可用性:EC可以在多个可用性区域中自动分配您的应用程序以获得高可用性。
安全:ECS提供了各种安全功能来帮助您保护应用程序。
成本效益:ECS是部署和管理集装箱应用程序的一种成本效益的方式。

ecs是各种应用程序的理想选择,包括:

  • Web应用程序:ECS可用于部署和扩展Web应用程序。
  • 微服务:ECS可用于部署和扩展微服务应用程序。
  • 批处理处理:EC可用于运行批处理处理作业。
  • 数据处理:EC可用于处理大量数据。

AWS Fargate

AWS Fargate是用于容器的无服务器计算引擎,可让您专注于构建应用程序而无需管理服务器。借助Fargate,您不必自行配置,配置或比例尺的虚拟机组才能运行容器。您也不需要选择服务器类型,决定何时缩放节点组或优化集群包装。

AWS Lambda

aws lambda是一款无服务器计算服务,可根据事件(例如HTTP请求,Amazon S3存储桶中的数据更改)或来自Amazon Kinesis流的消息来运行您的代码。 Lambda照顾所有基础计算资源的管理,因此您可以专注于编写代码,而不必担心管理服务器。

AWS lambda的组件:
lambda函数:AWS lambda的核心是lambda函数,这是对事件或触发器执行的代码单位。这些功能可以用各种编程语言编写,包括Python,Node.js,Java,C#,Ruby和GO,并为开发人员提供灵活性和选择。可以通过AWS管理控制台,AWS CLI或使用SDK来创建和管理Lambda功能。
事件源:事件源定义调用lambda功能的触发器。 AWS Lambda与许多AWS服务无缝集成,包括Amazon S3,DynamoDB,API Gateway,CloudWatch Events等。这些事件源生成可用于触发lambda函数执行的事件。例如,在DynamoDB中的新文件上传到S3存储键或数据库更新可以触发lambda函数。
运行时环境:运行时环境是lambda函数的执行环境。当触发lambda函数时,AWS lambda为该功能提供了运行时环境,包括基于所选编程语言的适当执行环境和依赖项。运行时环境由AWS管理,允许开发人员专注于其代码逻辑。
触发器:触发器是启动Lambda函数执行的事件或动作。 AWS Lambda与各种触发器无缝集成,使开发人员能够构建以事件为导向的应用程序。

让我们探索一些常见的触发器:

事件来源:AWS lambda可以是由来自Amazon S3,DynamoDB,AWS Spep Functions,Amazon Kinesis等各种AWS服务产生的事件触发的。例如,上传到S3存储桶或数据库更新的文件可以用作Lambda函数的触发器。
API网关:可以通过API网关调用lambda功能,从而使开发人员能够在不管理服务器的情况下构建Restful API。 API网关充当传入的HTTP请求与Lambda功能之间的桥梁,从而创建功能强大可扩展的API。
CloudWatch事件:CloudWatch事件可以根据AWS生态系统中发生的事件触发Lambda功能。例如,您可以使用CloudWatch Events的Cron表达式安排lambda函数以特定的间隔执行。
自定义触发器:AWS Lambda还通过使用AWS SDK和其他服务来支持自定义触发器。这种灵活性使开发人员能够以编程方式创建自己的事件源并触发lambda功能。

下游资源:下游资源是指lambda在执行过程中与之相互作用的服务或资源。 AWS Lambda与广泛的AWS服务无缝集成,使开发人员能够在Lambda功能中利用其功能。

以下是下游资源的一些示例:
Amazon S3 :Lambda功能可以从或写入Amazon S3存储桶中,从而可以与对象存储无缝集成。这对于作为无服务器工作流程的一部分处理和操纵文件特别有用。
dynamodb :AWS lambda可以与Amazon的托管NOSQL数据库服务DynamoDB进行交互。 Lambda功能可以检索,更新或插入DynamoDB表中的数据,从而促进实时数据处理和存储。
Amazon RDS :Lambda功能可以连接到Amazon RDS实例,允许在关系数据库系统(例如MySQL,Postgresql和Oracle)上进行数据库操作。

AWS步骤函数:AWS lambda与AWS步骤功能(无服务器工作流服务)集成。步骤功能使开发人员可以通过策划多个Lambda功能和其他AWS服务来创建和协调复杂的工作流程。
第三方服务:Lambda功能可以使用HTTP请求或SDK与外部API和服务进行通信。这允许与第三方服务集成,从而为数据处理,通知等提供了广泛的可能性。

日志流:aws lambda中的日志流代表了lambda函数生成的一系列日志事件。每个lambda功能都有自己的日志流,可在执行功能期间捕获输出和诊断信息。这些日志流在监视Lambda功能,识别问题和优化应用程序性能的行为中起着至关重要的作用。

总而言之,AWS提供了广泛的计算服务,这些服务几乎可以满足任何工作负载的需求,从简单的Web应用程序到复杂的高性能计算工作负载。 AWS提供的各种计算服务旨在提供可扩展性,灵活性和成本效益,使企业和开发人员易于部署和管理其应用程序和工作量。此外,AWS计算服务可以轻松地与其他AWS服务集成,从而使用户可以利用AWS生态系统的全部功能。

您是否需要运行一个简单的网站或复杂的科学模拟,AWS拥有完成工作所需的计算服务。凭借自动缩放,负载平衡和无服务器计算之类的功能,AWS使部署和管理您的应用程序和工作负载变得容易,而不必担心基础架构。因此,AWS计算服务仍然是希望优化其计算资源,降低成本并提高可扩展性和灵活性的企业和开发人员的首选。

我在本文中使用了此资料:

Fundamentals of AWS - Cloud Academy

该学习路径将向您介绍AWS基本原理的一些核心云原则:分布式存储,并发计算,冗余和安全性。

favicon Cloudacademy.com