Java AWS Lambda

2025年03月17日 | 阅读 22 分钟

AWS Lambda 是一个“无服务器”的计算服务,开发者无需担心要启动哪些 AWS 资源或如何管理它们。他们只需将代码放在 Lambda 上,它就会运行。但是,Lambda 只能用于执行后台任务。

AWS 计算域

此域下的主要服务包括EC2、Elastic Beanstalk 和 AES Lambda。在这三者中,最重要的服务是 EC2,它是一个原始服务器,就像我们远程工作的个人电脑一样。它可以安装我们选择的任何操作系统(AWS 基础设施支持),然后我们可以以任何我们想要的方式使用它;我们可以将其配置为 Web 服务器,也可以将其配置为工作环境。

Elastic Beanstalk

它是 EC2 的自动化版本,使用 Elastic Beanstalk,我们无法访问操作系统。但是,我们仍然可以控制系统配置,以便选择要启动的实例类型。因此,Elastic Beanstalk 用于部署应用程序,我们只需上传代码,然后应用程序就会部署在 AWS 基础设施上。

AWS Lambda

AWS Lambda 服务是 EC2 的自动化版本,我们无法访问操作系统。使用 AWS Lambda,我们甚至无法选择服务器的配置。在 AWS Lambda 中,我们必须上传将要执行的代码。

为什么使用 AWS Lambda?

正如我们所讨论的,它是 EC2 的自动化版本,类似于 Elastic Beanstalk,但使用 AWS Lambda,我们只能执行后台任务。我们不能部署应用程序,所以 AWS Lambda 不用于部署应用程序,而是用于执行后台任务。我们不必选择 AWS Lambda 中的配置,也不必决定需要哪种服务,根据我们的工作负载,会为我们分配服务器配置类型。所以,这就是我们使用 AWS Lambda 的原因。

AWS SDK

SDK 只是软件开发工具包,它们是开发者用来连接到所需服务的API。它使开发者生活更轻松,因为他们现在可以专注于应用程序的逻辑部分,而不是浪费时间去理解如何将代码连接到 AWS 上的服务。

可以使用 API 为我们喜欢的编程语言或平台量身定制的 API 在我们的应用程序中使用 AWS 服务。AWS SDK 称为软件开发工具包,是为特定编程语言定义的 API。

这些 API 可以与IDE集成,因此可以轻松使用。

另一部分是这些 SDK 将与 IDE 一起使用,目前我们只有两个支持的 IDE:Eclipse 和 Visual Studio。

Lambda 在哪里使用?

企业使用 AWS Lambda 的方式非常多;其中一些是:AWS Lambda 用于处理图像的上传,或者例如,当一个对象以我们不期望的格式上传到存储桶时,这意味着文件需要被格式化,所以它以原始形式上传,并且 AWS Lambda 会触发任何时候添加到存储桶的新对象,图像将被处理并根据设备转换为缩略图。设备可以是PC,如苹果电脑、Android 和平板电脑

根据设备的不同格式,Lambda 可以触发并将视频或图片转换为所需的其他格式。

Lambda 的另一个用例是分析社交媒体数据。例如,我们正在收集热门话题标签数据,并且数据已接收。它被添加到Amazon Kinesis 以馈送到Amazon 环境。Lambda 操作会被触发,它接收数据,然后数据被存储在数据库中,企业可以稍后进行分析。

一些从使用 Lambda 中获得巨大收益的公司是Thomson Reuters、Benchling、Nordstrom、Coca-cola 和 Robot;一些公司,仅举几例,已经从 Lambda 中获得了巨大的帮助。

Lambda 如何工作?

客户端将数据发送到 Lambda,客户端可以是任何向AWS Lambda发送请求的人。它可以是一个应用程序或其他Amazon Web Services向 Lambda 发送数据。然后 Lambda 接收请求,根据数据大小、数量或数据量,它会在定义的容器数量上运行。如果是一个请求或少量请求,它会在单个容器上运行。因此,会向容器提供处理建议,包含用户提供的用于满足查询的代码的容器将运行。

AWS Lambda in Java

容器镜像是一个轻量级的独立可执行软件包,其中包含运行它所需的一切,例如代码、运行时、系统工具、系统库和所需的设置。它目前可用于Linux 和 Windows 应用程序,并且容器化软件无论在何种环境中运行,其表现都将保持一致,并且容器会使软件与其环境隔离。例如,开发环境和预生产环境之间可能存在差异。这样就可以实现隔离,有助于减少团队在同一基础设施上运行不同软件之间的冲突。

最后,我们了解到 Lambda 会将多个请求发送到容器,并将多个请求分发到不同的容器。

当请求减少时,容器数量也会减少,这将有助于节省成本。我们不为资源收费,只为函数在这些容器中运行的时间收费。

用例 - 备份数据

现在考虑一种情况,我们需要设置一个临时存储系统,以便在数据上传后立即备份数据,这是一种近乎实时的备份。

近乎实时的人工备份几乎是不可能的,而且近乎实时的人工备份效率不高,而企业对此有需求,但这不是近乎实时的备份,即使我们想出一种手动备份接近实时的方法。考虑到要放入的数据量,它不会看起来很高效,而且考虑到将数据放入源存储桶的随机时间,无法进行手动备份。

AWS Lambda 手动处理备份。换句话说,对于像这样的不可能或困难的情况,AWS Lambda 会挺身而出。

创建两个S3 存储桶;一个将是源存储桶,数据将上传到其中,另一个是目标存储桶,数据将从中备份。要让这些存储桶相互通信,需要一个IAM 规则,然后为了自动复制,需要一个Lambda 函数来复制这些存储桶之间的文件。

是什么触发了 Lambda 函数?

每次存储桶的元数据发生更改时,Lambda 函数都会被触发,然后这些数据会被上传到目标存储桶。设置好所有这些之后,我们可以通过将信息放入源存储桶来测试它,这些信息将自动复制或复制数据。

让我们看看如何在两个存储桶之间复制数据。为此,我们有一个跨区域复制的功能,这是S3附带的一个功能。如果我们想在两个不同账户的两个不同存储桶之间复制,在这种情况下,我们可以使用 Lambda 在存储桶之间复制数据,所以我们放入一份数据,或者我们将数据放入源存储桶。数据将被复制到目标存储桶,让我们看看如何完成。

这里的过程是首先要有两个存储桶,然后创建一个IAM 规则,该规则允许我们访问从源存储桶拉取数据并将其放入目标存储桶,然后创建Lambda 文件或 Lambda 事件或触发器来监视源存储桶中的事件,并且只要有新信息添加。Lambda 就会被触发,复制数据从源存储桶并将其移动到目标存储桶,它使用IAM 规则和策略来获取所需的权限。

什么是云?

在云计算之前,我们想托管一个网站;我们需要做以下事情

首先,我们必须购买大量服务器,因为我们将要在某个东西上托管一个网站,而每个网站都有高峰时段。

其次,考虑到高峰时段,我们应该购买更多服务器。

第三,由于是我们的服务器,我们必须监视和维护这些服务器,我们必须持续监视它们,以便我们的应用程序不会出现停机。

所以,这些事情会导致问题。

云的缺点

  1. 首先,这种设置很昂贵,因为我们购买了大量服务器,而服务器并不便宜,而且很昂贵。
  2. 我们必须解决问题;它们会与我们的业务目标发生冲突,因为我们的目标应该是让我们的应用程序变得更好。
  3. 第三,由于我们的流量是变化的,我们的服务器大部分时间都会处于空闲状态。我们购买的服务器数量最少是考虑到高峰时段。假设我们的高峰时段是在下午 4 点到 6 点之间,当我们说高峰时段时,是指网站流量最大的时段。如果我们的网站在下午 4 点到 6 点之间的流量最大,并且我们部署了五台服务器来处理这种流量。下午 6 点之后,当流量下降时,服务器将成为我们投资的负担,因为我们在这些服务器上投资了很多,但我们没有利用它们,因为下午 6 点之后我们就用不到了。

这些是我们云计算之前面临的问题。现在,我们必须解决这些问题。

云计算用途

  1. 将我们的数据放在云服务器上并租用这些服务器。
  2. 在云计算中,我们可以根据我们的需求进行扩展或缩减。
  3. 在云计算中,云提供商将管理我们的服务器;因此,我们不必担心底层基础设施。

云计算使用互联网上的远程服务器来存储、管理和处理数据,而不是我们个人电脑上的本地服务器。

AWS 数据库服务

主要有五种数据库服务。

1. 关系数据库管理服务 (RDS)

我们必须了解 RDS 不是一个数据库,而是管理我们数据库的数据库管理服务。它与关系数据库和数据库(如MySQL、Oracle、MariaDB、PostgreSQL、Microsoft SQL Server 或 Amazon Aurora)一起工作。它会自动更新数据库引擎,自动安装安全补丁,并自动完成以前需要手动完成的所有工作,如果我们自己托管数据库服务器的话;它会自动为我们完成,这就是为什么它被称为管理服务。RDS 会自动完成所有工作。

2. Amazon Aurora

Amazon Aurora 是亚马逊自己开发的数据库。因此,它包含在 RDS 中,是一种关系数据库,RDS 也对其进行管理。Amazon Aurora 与其他现有数据库的区别在于 Amazon Aurora 基于MySQL。这意味着我们正在使用的 MySQL 代码也可以与 Amazon Aurora 一起使用。但是,亚马逊声称 Amazon Aurora 的速度是 MySQL 的五倍。如果我们用Amazon Aurora 服务器替换 MySQL 服务器,我们的性能将提高五倍,这就是亚马逊的说法,也是 Amazon Aurora。

如果我们使用 Amazon Aurora,并且之前使用的是 MySQL,我们不必更改我们的代码,因为它与以前使用 MySQL 时的代码相同。

3. DynamoDB

DynamoDB 也是一种管理服务,但它管理非关系数据库,即NoSQL数据库。如果我们拥有必须存储在数据库中的非结构化数据,那么我们不能将其存储在关系数据库中,我们必须将其存储在非关系数据库中,而 DynamoDB 管理非关系数据库。它也是自动管理的,并且会自动更新;安全补丁会自动安装,DynamoDB 会自动完成所有工作,无需手动干预。我们不必指定所需空间,一旦更多数据进入,数据库就会自动扩展,它会自动增长和缩小,无需手动干预。

AWS Lambda in Java

如果存储空间不足,DynamoDB 无需任何操作;我们只需转到 DynamoDB 控制台并开始创建新表,它不会要求任何其他东西。

4. ElastCache

ElastiCache 是一种缓存服务,用于在云中设置、管理和扩展分布式环境。这意味着假设我们有一个应用程序并查询数据库;数据库将处理查询,然后给我们一个结果。如果对特定结果集的需求量很大,那么相同的查询将一遍又一遍地运行,从而增加了从数据库获取相同结果的开销。

AWS Lambda in Java

因此,使用ElastiCache,用户首先从数据库访问查询。但是,现在已经分析出此查询被频繁询问,它会将结果集存储在 ElastiCache 中。每当收到该查询时,它会直接提供该结果。因此,数据库的开销降低了,因为请求永远不会到达数据库。毕竟,它已经被处理并存储在 ElastiCache 中,而 ElastiCache 反过来为用户提供结果。因此,这个过程变得更快,这就是 ElastiCache 的全部内容。

5. RedShift

RedShift 是一种数据仓库服务,它是一种 PB 级别的数据仓库服务。它从 RDS 获取数据,从DynamoDB获取数据,并且它自己不做分析。它是一个分析工具和一个数据仓库服务,可以分析我们数据库中存储的所有数据,例如RDS 或 DynamoDB。我们也可以从 RDS 和 DynamoDB 馈送数据。

AWS 网络服务

AWS 网络服务将展示网络域提供的所有服务。主要有三种网络服务

1. VPC (虚拟私有云)

虚拟私有云是一个虚拟网络,如果我们把我们启动的所有 AWS 资源都放在一个 VPC 中,那么所有这些资源都会对彼此可见或相互交互,一旦它们在 VPC 内。

VPC 的另一个用途是当我们有一个私有数据中心,并且我们正在使用 AWS 基础设施,就像它们在我们自己的网络上一样。在这种情况下,我们将建立一个“虚拟专用网络”,即 VPN 连接到我们的私有云,其中包含了我们在私有网络上想要的所有服务。

我们将使用VPN将我们的私有网络连接到 VPC,然后我们可以像访问我们网络上的所有 AWS 资源一样访问它们,这就是 VPC 的全部内容。它为我们提供了安全性和 AWS 服务之间的可访问通信,并且还有助于我们将私有数据中心连接到 AWS 基础设施。

2. Direct Connect

Direct Connect 是互联网连接的替代品;它是一条专线,是直接连接到 AWS 基础设施的线路,所以如果我们觉得互联网的带宽不足以满足我们的数据需求或网络需求,我们可以通过Direct Connect 服务获取一条专线到 AWS 基础设施,所以我们不再使用互联网,而是使用 Direct Connect 服务来处理我们数据中心与AWS 基础设施之间的数据流,这就是 Direct Connect 的全部内容。

3. Route 53

Route 53 是一个域名系统。域名系统就是当我们输入一个 URL 时,它必须被导向一个域名系统,该系统将URL 转换为 IP 地址;IP 地址是托管我们网站的服务器的 IP 地址。

它的工作原理是当我们购买域名时;我们可以在该域名中进行的唯一设置,或者域名中需要的设置是名称服务器。现在,Roue53 为我们提供了这些名称服务器。这些Route53提供的名称服务器需要输入到该域名的设置中。

AWS Lambda in Java

所以,当用户指向该URL时,用户将指向Route53。域名设置工作已完成,现在我们需要配置 Route53。现在我们的请求已经到达 Route53,它必须指向托管我们网站的服务器。所以,在 Route53 上,现在我们必须输入 IP 地址或我们希望流量指向的实例。我们的 URL 将直接指向 Route53,它将指向托管我们的应用程序或网站的示例。

AWS 管理服务

管理域包括以下所有服务

1. CloudWatch

CloudWatch 是一个监控工具,可以监控我们在 AWS 基础设施中的所有 AWS 资源。现在,让我们看看如何监控所有这些。

假设我们想监控我们的EC2实例,并在我们的 EC2 模型 CPU 使用率超过 90% 时收到通知。所以,我们可以在 CloudWatch 中创建一个警报。当我们的使用量超过 90%时,它会触发一个警告。该警报反过来会向我们发送通知,例如电子邮件,或者可能是我们设置的任何参数,我们将收到该通知。这就是 CloudWatch 的全部内容。

我们可以说,我们可以设置警报并对我们的 AWS 资源做出反应。

2. CloudFormation

CloudFormation 用于模板化我们的 AWS 基础设施。我们需要模板化我们的 AWS 基础设施,因为我们有不同的环境,并且希望在不同的环境中启动相同的基础设施。

当我们创建基础设施并且不希望再次创建它时,我们可以始终使用CloudFormation 创建一个快照;我们可以模板化该基础设施并在其他测试环境中使用。

假设我们有测试、生产和借贷环境,并且希望在这三个环境中都拥有相同的基础设施。我们可以使用 CloudFormation 来实现。

因此,CloudFormation 是一个用于模板化我们 AWS 基础设施的工具。

3. CloudTrail

CloudTrail 是 AWS 的一个日志记录服务。当我们需要对问题进行故障排除时,我们可以在CloudTrail中记录所有 API 请求和 API 响应。

假设我们在使用应用程序时遇到了一些错误,由于有无数种情况我们没有收到错误,但在特定情况下我们收到错误,现在我们必须跟踪问题。

我们将使用日志记录服务来跟踪它。因此,由于每个请求都使用 CloudTrail 记录,我们可以找到发生错误的特定日志,记下问题,记下发生错误的那一行,然后解决它,这就是 CloudTrail 的全部内容。

日志如何存储?

假设 CloudTrail 在特定服务上启用,那么 CloudTrail 将生成日志并将这些日志存储在 S3 中,S3 是 AWS 提供的一个文件系统。

AWS Lambda in Java

所以,这就是整个过程的发生方式。

1. CLI (命令行界面)

CLI 是命令行界面,取代了我们的GUI (图形用户界面)

我们也可以使用命令行来部署实例,并且做到这一点的方法是使用 AWS CLI。它只是我们 GUI 的任何请求的替代品。

2. OpsWorks

AWS OpsWorks 是一个配置管理工具。它由两部分组成,分别是堆栈和层

层是不同的AWS 服务,我们已经组合了它们,当我们组合它们时,这个整个系统被称为堆栈

当我们假设有一个应用程序使用许多 AWS 服务时,我们需要一个配置管理工具。我们想更改一些基本设置,一种更改方法是单独访问每个服务并更改该设置,另一种方法是使用 OpsWorks。如果我们使用OpsWorks部署了我们的应用程序,我们需要在一个基本设置中更改我们所有基础设施中的内容,这可以在堆栈级别进行。我们所有的资源,我们使用的所有服务以及该堆栈中的不同层都称为堆栈。

整个 AWS 基础设施将被称为一个堆栈,如果我们必须更改设置,我们将必须在堆栈级别进行更改,它将自动实施到所有级别。所以,这就是 OpsWorks 的功能。

3. Trusted Advisor

Trusted Advisor 就像 AWS 基础设施的个人助理,为我们提供关于月度支出的建议。假设我们有最佳实践,如果我们采用该实践,我们可以降低支出。如果它识别出许多用户和不同的人正在使用我们的 AWS 账户,它们会建议我们使用IAM 策略。我们没有在我们的AWS 账户上设置任何 IAM 策略;它会建议我们创建这些 IAM 策略,从而使我们能够改进我们的 AWS 账户。

AWS 安全服务

AWS 安全域包括两项服务。它们是

  1. IAM (身份和认证管理工具)
  2. KMS (密钥管理服务)

IAM (身份和认证管理工具)

IAM也被称为身份和管理工具。如果我们有一个企业,用户使用我们的AWS 账户来控制 AWS 基础设施,我们可以为他们提供细粒度的权限。假设我们希望用户查看所有实例,那么我们可以授予用户该访问权限。如果我们希望用户启动模型而不是删除它们,那么我们可以为该用户提供访问权限,这就是我们可以使用 IAM 授予的访问权限,这就是 IAM 的全部内容。

它让我们通过身份验证进入我们的 AWS 账户,或者在这种情况下,我们的员工以我们想要的方式访问 AWS 账户。

KMS (密钥管理服务)

AWS KMS 是一个密钥管理服务。我们在 AWS 中启动的任何实例都基于此基础设施,即有一个公钥,我们将提供一个私钥以及公钥与 AWS。当我们想连接我们的实例时,我们必须上传私钥或获取私钥,然后 AWS 会将私钥与我们的公钥进行匹配,如果匹配,它将通过身份验证让我们访问我们的 AWS 实例。所以,我们了解到KMS 为我们分配了私钥。我们可以创建一个新的密钥对或使用现有的密钥对,但我们必须谨慎处理我们的私钥。如果我们丢失了我们的私钥,在任何情况下,我们都无法重新访问使用该私钥的 AWS 资源。

所以,这些都是关于安全服务的。现在,我们将讨论 AWS 应用程序域。

AWS 应用程序服务

应用程序域包括三项服务

1. SES

SES 被称为简单邮件服务。如果我们有一个庞大的用户群并希望向他们发送电子邮件,我们可以通过 SES 一键完成。另外,如果我们希望自动回复,也可以通过 SES 完成,这是一个简单的服务

2. SQS

SQS 被称为简单队列服务,它是一项令人兴奋的服务,可以充当缓冲区

假设我们有一个图像处理应用程序,每当我们上传一个图像时,假设我们需要执行五个任务。现在,这五个任务将列在我们的简单队列中,服务器将与此队列保持引用,并查看图像上还有哪些任务需要完成。

这有什么帮助?

当我们在处理中有多个服务器运行时,这将会有帮助。假设第一台服务器执行我们的前两个操作,另一台服务器可能执行接下来的三个操作,另一台服务器可能执行接下来的三个操作。因此,下一台服务器应该知道已经完成了哪些操作,并且这个知识是通过我们的 SQS 来引用的。

当一项任务完成时,该任务将从队列中移除,下一项任务将被排入队列,这就是 SQS 所做的。当我们列出这些任务时,只有那些会优先。我们列出的第一个任务将首先执行,基于优先级,例如先进先出 (FIFO)

假设我们有五个待处理的图像,那么第二张图像在第一张图像之后,第三张图像在第二张图像之后,所以第一张图像将根据队列进行处理。然后第二张图像将被处理,然后第三张图像将被处理,所以它的工作方式是这样的。

AWS Lambda in Java

3. SNS

SNS 被称为简单通知服务,用于将通知发送到其他 AWS 服务。它的用途是,假设我们有一个应用程序,我们之前讨论过的图像处理应用程序,我们上传图像,现在我们希望在上传照片时收到电子邮件。

SNS 将通知SQS 和 SES图像已上传。当通知发送到 SQS 时,该通知还可以包含要对该图像执行的任务的数量。所以,SNS 将信息发送到 SQS,其中包含必须添加到队列的详细信息。SNS 还可以通知 SES 图像已添加,因此请向该人发送相应的电子邮件。

SNS 将通知发送到不同的 AWS 服务,这就是 SNS 的全部内容。

现在让我们讨论 AWS 定价,比如我们如何为这些服务收费。AWS 有两种模型

  1. 按需付费
  2. 多用少付

按需付费

这意味着我们可以为我们使用的付费。让我们以文件系统为例来更好地理解它,所以我们不必强加我们的需求并购买50GB的垃圾,即使我们只使用其中的10GB。如果我们使用其他服务,如果我们不使用 AWS 且他们不遵循“按需付费”模型。我们必须预见到我们的需求。我们必须预测我们一个月是否可能需要 50GB,但最终我们使用了10GB。但是,AWS 不是这种情况;我们根据我们的使用情况付费

所以,如果我们使用 S3,并且上面只有 6 或 7GB 的数据,我们将为这 6 或 7GB 付费,并且将来如果我们上传更多数据,我们将根据该数据或我们正在使用的存储付费。

所以,这就是“按需付费”模型。

多用少付

所以,这是一个令人兴奋的概念。这里我们包含了 S3 的定价。所以,如果我们将 S3 的存储容量使用到 50GB 以下,我们按0.023 美元/GB/月收费。如果我们的用量超过50GB,并且介于51-100TB之间,我们的费率将降至 0.022 美元/GB/月。如果我们使用500TB及以上的存储空间在S3上,我们将按0.021 美元/GB/月收费。

因此,随着我们使用量的增加,我们的价格也在下降,费率也越来越低,这就是“多用少付”的意思。

预留可节省

当我们在 AWS 中预留任何实例时,我们可以预订一年或三年。所以,如果我们有这样的使用量,我们可以预留我们的实例并节省高达 75% 的成本。

使用AWS EC2 和 RDS等服务,我们可以预留我们的实例一段时间。我们节省高达75% 的费用

如果我们知道我们将使用我们的实例至少一年,或者可能在三年后,我们可以预留它们并节省高达 75% 的费用。

在 AWS 上托管网站

我们有一个网站要托管,我们可以在上面上传图片,图片应该显示在主页上。一旦我们上传了它们,这个网站也应该自动扩展并且是高可用的。

所以,上面的用例是我们要在此AWS 基础设施上托管的应用程序。

让我们看看如何架构我们工作的各种网站。

根据上述用例,用户将指向一个网站地址,该地址将指向网站,而该网站将处理文件、文件服务器和数据库。

为什么需要文件服务器?

因为我们将把图片上传到某个地方,所以这就是为什么需要文件服务器,我们必须记住这些图片的路径,为此,我们正在使用数据库。

所以,上面是我们使用 AWS 资源构建的架构。

使用 AWS 服务的用例架构

在这里,让我们看看如何使用 AWS 资源架构上述架构。

用户必须指向一个网站地址,该地址将指向一个网站。我们将需要一个域名系统,所以我们将整合Route 53。用户将与 Route 53 交互,它将反过来指向一个服务器。服务器是我们托管网站的地方。

我们的应用程序或网站是一个PHP 应用程序;如果我们有一个 Elastic Beanstalk 环境,我们应该始终选择它。

由于 PHP 列在 Elastic Beanstalk 中,我们将使用 Elastic Beanstalk 而不是 EC2。

Elastic Beanstalk 的底层将有EC2 实例,这些实例已自动化,可在我们的EC2 模型上自动配置 PHP 环境。我们的 EC2 实例将通过自动扩展和负载均衡器来控制这些。当需要更多实例时,将启动更多 EC2 模型,并通过弹性负载均衡器相应地分配流量,这就是它在底层的工作原理。但我们不必担心这一点。我们也可以将Elastic Beanstalk 视为一个黑盒子

现在,我们的网站必须与RDS 和 S3交互。我们使用 RDS 和 S3 是因为S3 是架构中讨论过的文件系统,而RDS 是我们要连接的数据库

我们必须存储我们上传的文件的路径;这些路径可以保持结构化。由于这是结构化数据,我们将使用RDS,关系数据库管理服务,将我们的数据存储在一个假设的 MySQL 数据库中。这就是为什么我们使用 RDS 服务。

如果我们正在将第三方应用程序连接到我们的S3 文件系统,我们需要对该应用程序进行 S3 身份验证,为此,我们需要访问密钥,而IAM提供了这些访问密钥。


下一个主题AWS Polly in Java