AWS 是什么? (完整指南)

什么是 AWS

AWS 是什么?

过渡到云可能很困难,尤其是在您不熟悉行话和概念的情况下。 为了充分利用 Amazon Web Services (AWS),首先了解基础知识很重要。 我将讨论一些有助于您入门的关键术语和概念。

什么是云计算?

云计算是一种交付模式 信息 通过基于 Web 的工具和应用程序而不是本地服务器或个人计算机从 Internet 检索资源的技术服务。 云计算允许用户访问存储在远程服务器上的应用程序和数据,从而可以通过 Internet 连接在任何地方工作。

Amazon Web Services 等云服务平台提供各种可用于构建和运行应用程序的服务。 这些服务通过 Internet 提供,可以通过基于 Web 的工具或 API 访问。

云计算的好处是什么?

云计算有很多好处,包括:

 

– 可扩展性:云服务旨在实现可扩展性,因此您可以根据需求的变化轻松添加或删除资源。

– 即用即付定价:使用云计算,您只需为使用的资源付费。 无需前期投资。

– 灵活性:云服务可以快速供应和发布,因此您可以快速试验和创新。

– 可靠性:云服务旨在提供高可用性和容错能力。

– 全球覆盖:云服务可在全球多个地区使用,因此您可以将应用程序部署在离用户更近的地方。

什么是亚马逊网络服务 (AWS)?

Amazon Web Services (AWS) 是 Amazon.com 提供的一个全面的、不断发展的云计算平台。 AWS 提供范围广泛的服务,可用于在云中构建和运行应用程序,包括计算、存储、数据库和网络。

AWS 是一种按使用量付费的服务,因此您只需为使用的资源付费。 无需前期投资。 AWS 还提供免费服务层,可用于了解和试验该平台。

本地与云

内部部署与。 云计算

另一个需要理解的重要概念是本地计算和云计算之间的区别。 本地计算是指在您自己的服务器上本地存储的应用程序和数据。 另一方面,云计算是指存储在远程服务器上并通过互联网访问的应用程序和数据。

云计算使您可以利用规模经济和现收现付的定价模式。 使用本地计算,您必须在硬件和软件方面进行大量前期投资,并且您还需要负责维护和升级您的基础设施。

IaaS、PaaS 和 SaaS 之间有什么区别?

云服务主要分为三种类型:基础架构即服务 (IaaS)、平台即服务 (PaaS) 和软件即服务 (SaaS)。

 

IaaS 是一种云计算,可为用户提供对存储、计算和网络资源的访问。 IaaS 提供商管理基础设施并为用户提供自助服务平台来配置和管理资源。

 

PaaS的 是一种云计算类型,它为用户提供访问用于开发、部署和管理应用程序的平台的权限。 PaaS 提供商管理基础设施并提供可用于开发、部署和管理应用程序的平台。

 

SaaS的 是一种云计算,可为用户提供对软件应用程序的访问权限。 SaaS 提供商管理基础架构并提供可供用户使用的软件应用程序。

软件作为一种服务

AWS 的全球基础设施

AWS 是一个全球云计算平台,在全球 70 个地区拥有 22 多个可用区。 区域是相互隔离的地理区域,每个区域包含多个可用区。

可用区是设计为与同一区域中的其他可用区隔离的数据中心。 这确保了如果一个可用区出现故障,其他可用区将继续运行。

AWS 上的开发人员工具

亚马逊使用 API 调配和管理资源的调用。 AWS 命令​​行界面 (CLI) 是一种可用于管理 AWS 资源的工具。

AWS 管理控制台是一个基于 Web 的界面,可用于配置和管理资源。

AWS 还提供了一组 SDK,可用于开发在 AWS 上运行的应用程序。 支持的编程语言包括 Java、.NET、Node.js、PHP、Python 和 Ruby。

 

您可以通过多种不同的方式管理 AWS 的 API 调用:

 

– AWS 管理控制台:AWS 管理控制台是一个基于 Web 的界面,可用于调用 API。

 

– AWS 命令​​行界面 (CLI):AWS CLI 是一种可用于调用 API 的工具。 可以在 Linux、Windows 和 Mac OS 中运行调用。

 

– AWS 软件开发工具包 (SDK):AWS SDK 可用于开发进行 API 调用的应用程序。 这些 SDK 可用于 Java、.NET、PHP、Node.js 和 Ruby。

– Amazon 简单存储服务 (S3):S3 提供

 

适用于 AWS 的 IDE:有多种不同的集成开发环境 (IDE) 可用于在 AWS 上开发应用程序。 Eclipse 是一种流行的开源 IDE,可用于开发 Java 应用程序。 Eclipse 可用于连接到 AWS 并进行 API 调用。Visual Studio 是 Microsoft 的一种流行 IDE,可用于开发 .NET 应用程序。 Visual Studio 可用于连接到 AWS 并进行 API 调用。

 

– AWS API 网关:AWS API 网关是一个 托管服务 可用于创建、发布和管理 API。

 

进行 API 调用时,您需要指定 HTTP 方法(例如 GET、POST 或 PUT)、路径(例如 /users 或 /items)和一组标头。 请求正文将包含您发送到 API 的数据。

 

来自 API 的响应将包含状态代码、标头和正文。 状态代码将指示请求是否成功(例如 200 表示成功或 404 表示未找到)。 标头将包含有关响应的信息,例如内容类型。 响应正文将包含从 API 返回的数据。

基础架构即代码 (IaC)

AWS 允许您使用基础设施即代码 (IaC) 来配置和管理资源。 IaC 是一种在代码中表示基础设施的方式。 这允许您使用代码定义您的基础架构,然后可以使用这些代码来配置和管理资源。

 

IaC 是 AWS 的重要组成部分,因为它允许您:

– 自动配置和管理资源。

– 版本控制您的基础架构。

– 模块化您的基础设施。

 

AWS 提供了几种不同的方式来使用 IaC 来配置和管理资源:

 

– AWS CloudFormation 服务:CloudFormation 允许您使用以 JSON 或 YAML 编写的模板来定义您的基础设施。 然后可以使用这些模板来供应和管理资源。

 

– AWS 命令​​行界面 (CLI):AWS CLI 可用于使用 IaC 预置和管理资源。 AWS CLI 使用声明性语法,允许您指定基础设施的所需状态。

 

– AWS SDK:AWS SDK 可用于使用 IaC 来配置和管理资源。 AWS 开发工具包使用命令式语法,允许您指定要执行的操作。

 

为了使 IaC 有效,了解 AWS 工作原理的基础知识很重要。 这包括了解如何使用 API 来供应和管理资源。 了解 AWS 提供的不同服务以及如何使用它们也很重要。

 

AWS 云开发工具包 (AWS CDK) 是一个工具包,允许您使用代码定义您的基础设施。 AWS CDK 使用声明性语法,可以轻松定义您的基础设施。 AWS CDK 适用于 Java、.NET 和 Python。

 

使用 AWS CDK 的好处包括:

– 使用 AWS CDK 很容易上手。

– AWS CDK 是开源的。

– AWS CDK 与其他 AWS 服务集成。

 

AWS CloudFormation 如何工作?

AWS CloudFormation 堆栈是作为一个单元创建和管理的资源集合。 堆栈可以包含任意数量的资源,包括 Amazon S3 存储桶、Amazon SQS 队列、Amazon DynamoDB 表和 Amazon EC2 实例。

 

堆栈由模板定义。 该模板是一个 JSON 或 YAML 文件,用于定义堆栈的参数、映射、条件、输出和资源。

 

当您创建堆栈时,AWS CloudFormation 将按照资源在模板中定义的顺序创建资源。 如果一个资源依赖于另一个资源,AWS CloudFormation 将等待创建依赖资源,然后再创建堆栈中的下一个资源。

 

AWS CloudFormation 还将按照资源在模板中定义的相反顺序删除资源。 这确保资源不会处于未定义状态。

 

如果在 AWS CloudFormation 创建或删除堆栈时发生错误,堆栈将回滚到之前的状态。

 

什么是 Amazon S3 存储桶?

Amazon S3 存储桶是文件的存储位置。 Bucket可以存储任何类型的文件,例如图片、视频、文档等。 存储桶被组织到文件夹中,类似于文件夹在您的计算机上的使用方式。

 

存储桶中的文件可通过 URL 访问。 文件的 URL 由存储桶名称和文件路径组成。

 

什么是亚马逊 SQS?

Amazon Simple Queue Service (SQS) 是一种消息队列服务。 消息队列用于存储需要由应用程序处理的消息。

 

SQS 使分离和扩展微服务、分布式系统和无服务器应用程序变得容易。 SQS 可用于传输任何类型的消息,例如命令、通知或警报。

 

什么是亚马逊 DynamoDB?

Amazon DynamoDB 是一种快速、灵活的 NoSQL 数据库服务,适用于需要在任何规模下保持一致的个位数毫秒延迟的所有应用程序。 它是一个完全托管的云数据库,支持文档和键值数据模型。

 

DynamoDB 使开发人员能够构建现代的无服务器应用程序,这些应用程序可以从小规模开始并扩展到全球范围以支持数百万用户。

 

什么是亚马逊 EC2?

Amazon Elastic Compute Cloud (EC2) 是一种 Web 服务,可在云中提供可调整大小的计算容量。 它旨在让开发人员更轻松地进行网络规模的云计算。

 

EC2 提供了多种针对不同用例进行优化的实例类型。 这些实例可用于从运行 Web 服务器和应用程序服务器到运行大数据应用程序和游戏服务器的一切。

 

EC2 还提供自动缩放和负载平衡等功能,使您可以根据需要轻松扩展或缩减应用程序。

 

什么是 AWS Lambda?

AWS Lambda 是一种无服务器计算服务,让您无需预置或管理服务器即可运行代码。 Lambda 处理底层基础设施的所有管理,因此您只需编写代码,让 Lambda 处理其余部分。

 

Lambda 是运行后端服务的绝佳选择,例如 Web API、数据处理作业或 cron 作业。 Lambda 也是运行需要根据需求向上或向下扩展的应用程序的不错选择。

 

什么是亚马逊 API 网关?

Amazon API Gateway 是一种 Web 服务,可以轻松创建、发布、维护、监控和保护任何规模的 API。

 

API 网关处理接受和处理来自客户端的请求所涉及的所有任务,包括流量管理、授权和访问控制、监控和 API 版本管理。

 

API Gateway 还可用于创建公开来自其他 AWS 服务(例如 DynamoDB 或 SQS)的数据的 API。

 

什么是亚马逊 CloudFront?

Amazon CloudFront 是一种内容分发网络 (CDN),可加快静态和动态 Web 内容(例如 HTML 页面、图像、视频和 JavaScript 文件)的分发。

 

CloudFront 通过称为边缘位置的全球数据中心网络交付您的内容。 当用户请求您的内容时,CloudFront 会将请求路由到最能提供内容的边缘站点。

 

如果内容已缓存在边缘位置,CloudFront 会立即提供。 如果内容未缓存在边缘位置,CloudFront 会从源(存储原始文件的 Web 服务器)检索它并将其缓存在边缘位置。

 

什么是亚马逊 Route 53?

Amazon Route 53 是一种可扩展且高度可用的域名系统 (DNS) 服务。

 

Route 53 根据多种因素将用户请求路由到您的应用程序,包括请求的内容、用户的地理位置以及您的应用程序的状态。

 

Route 53 还提供健康检查以监控应用程序的健康状况,并自动将流量从不健康的端点路由出去。

 

什么是亚马逊 S3?

Amazon Simple Storage Service (S3) 是一种对象存储服务,可提供行业领先的可扩展性、数据可用性、安全性和性能。

 

S3 是存储您需要经常访问的数据(例如网站图像或视频)的绝佳选择。 S3 还可以轻松存储和检索您需要与其他人或应用程序共享的数据。

 

什么是亚马逊 EFS?

Amazon Elastic File System (EFS) 是一种用于 Amazon Elastic Compute Cloud (EC2) 实例的文件存储服务。

 

EFS 提供了一种简单、可扩展且经济高效的方式来管理云中的文件。 EFS 旨在与 EC2 实例一起使用,并提供高可用性和持久性等功能。

 

什么是亚马逊冰川?

Amazon Glacier 是一种安全、持久且低成本的数据归档存储服务。

 

Glacier 是长期存储不需要经常访问的数据的不错选择。 存储在 Glacier 中的数据可能需要几个小时才能检索,因此它不适合需要实时访问数据的应用程序。

 

什么是 AWS 存储网关?

AWS Storage Gateway 是一种混合存储服务,可让您在本地访问几乎无限的云存储。

 

Storage Gateway 将您的本地应用程序连接到云,从而可以轻松地在云中存储和检索数据。 Storage Gateway 可与各种存储设备一起使用,例如硬盘驱动器、磁带和 SSD。

 

什么是 AWS 雪球?

AWS Snowball 是一种 PB 级数据传输服务,它使用物理存储设备将大量数据传入和传出 Amazon Simple Storage Service (S3)。

 

当您需要高吞吐量或低延迟时,或者当您想要避免 Internet 带宽成本时,Snowball 是传输数据的不错选择。

 

什么是亚马逊云搜索?

Amazon CloudSearch 是一种完全托管的搜索服务,可让您轻松地为您的网站或应用程序设置、管理和扩展搜索引擎。

 

CloudSearch 支持广泛的搜索功能,例如自动完成、拼写更正和通配符搜索。 CloudSearch 易于使用,并提供与您的用户高度相关的结果。

 

什么是亚马逊弹性搜索服务?

Amazon Elasticsearch Service (Amazon ES) 是一项托管服务,可让您轻松地在 Amazon Web Services (AWS) 云中部署、操作和扩展 Elasticsearch。

 

Elasticsearch 是一种流行的开源搜索和分析引擎,它提供了一组强大的功能来索引、搜索和分析数据。 Amazon ES 让您可以轻松设置、扩展和监控您的 Elasticsearch 集群。

 

什么是亚马逊 Kinesis?

Amazon Kinesis 是一种基于云的服务,可以轻松收集、处理和分析实时流数据。

 

Kinesis 可用于广泛的应用程序,例如处理日志文件、监控社交媒体活动以及为实时分析应用程序提供支持。 Kinesis 使实时收集和处理数据变得容易,因此您可以快速获得见解。

 

什么是亚马逊红移?

Amazon Redshift 是一个快速、可扩展的数据仓库,可以轻松存储和分析数据。

 

Redshift 是数据仓库、商业智能和分析应用程序的不错选择。 Redshift 易于使用并提供快速的性能。

 

什么是 AWS 数据管道?

AWS Data Pipeline 是一种基于云的服务,可以轻松地在不同的 AWS 服务之间传输数据。

 

Data Pipeline 可用于在 Amazon S3、Amazon EMR、Amazon DynamoDB 和 Amazon RDS 之间移动数据。 Data Pipeline 易于使用,并提供了一种在云中管理数据的简单方法。

 

什么是 AWS 导入/导出?

AWS Import/Export 是一项数据迁移服务,可轻松将大量数据传入和传出 Amazon Web Services (AWS) 云。

 

Import/Export 可用于在 Amazon S3、Amazon EBS、Amazon Glacier 和您的本地存储设备之间移动数据。 导入/导出快速可靠,可用于快速高效地传输大量数据。

 

什么是 AWS OpsWorks?

AWS OpsWorks 是一种基于云的服务,可以轻松地在 Amazon Web Services (AWS) 云中部署和管理应用程序。

 

OpsWorks 可用于管理各种规模的应用程序,从小型网站到大型 Web 应用程序。 OpsWorks 易于使用,并提供了一种在云中管理应用程序的简单方法。

 

什么是亚马逊 CloudWatch?

Amazon CloudWatch 是一项基于云的服务,可让您轻松监控 Amazon Web Services (AWS) 资源。

 

CloudWatch 可用于监控 Amazon EC2 实例、Amazon DynamoDB 表和 Amazon RDS 数据库。 CloudWatch 易于使用,并提供了一种监控 AWS 资源的简单方法。

 

什么是亚马逊机器学习?

Amazon Machine Learning 是一项基于云的服务,可以轻松构建、训练和部署机器学习模型。

 

机器学习是一种流行的技术,用于构建可用于预测未来事件的预测模型。 Amazon Machine Learning 易于使用,并提供了一种构建、训练和部署机器学习模型的简单方法。

 

什么是亚马逊简单通知服务?

Amazon Simple Notification Service (Amazon SNS) 是一种基于云的服务,可以轻松发送和接收通知。

 

SNS 可用于将消息发送到 Amazon SQS 队列、Amazon S3 存储桶或电子邮件地址。 SNS 易于使用,并提供了一种发送和接收通知的简单方法。

 

什么是亚马逊简单工作流服务?

Amazon Simple Workflow Service (Amazon SWF) 是一种基于云的服务,可以轻松构建、运行和扩展后台作业。

 

SWF 可用于处理图像、转码视频文件、索引文档和运行机器学习算法。 SWF 易于使用,并提供了一种运行后台作业的简单方法。

 

什么是 Amazon Elastic MapReduce?

Amazon Elastic MapReduce (Amazon EMR) 是一种基于云的服务,可以轻松处理大数据。

 

EMR 可用于在 Amazon EC2 实例上运行 Apache Hadoop、Apache Spark 和 Presto。 EMR 易于使用,并提供了一种处理大数据的简单方法。

架构完善的基础设施的 AWS 概念

AWS 架构良好的基础设施概念是一组用于在 Amazon Web Services 上构建和运行应用程序的指南。

 

架构完善的框架可帮助您决定如何在 AWS 上设计、部署和操作您的应用程序。 架构完善的框架基于五个支柱:性能、安全性、可靠性、成本优化和卓越运营。

 

性能支柱可帮助您设计高性能的应用程序。 安全支柱可帮助您保护您的应用程序免受安全威胁。 可靠性支柱可帮助您设计具有高可用性的应用程序。 成本优化支柱可帮助您优化 AWS 成本。 卓越运营支柱可帮助您有效地运营您的应用程序。

 

当您在 AWS 上设计和运行您的应用程序时,请务必考虑架构良好的框架的所有五个支柱。

 

忽略任何一个支柱都可能导致未来出现问题。 例如,如果您忽略安全支柱,您的应用程序可能容易受到攻击。 或者,如果您忽略成本优化支柱,您的 AWS 账单可能会比需要的高。

 

架构完善的框架是开始使用 AWS 的绝佳方式。 它提供了一组指南,可以帮助您决定如何在 AWS 上设计、部署和操作您的应用程序。

 

如果您是 AWS 的新手,我建议您从架构良好的框架开始。 它将帮助您以正确的方式开始并避免一些常见的错误。

AWS 上的安全性

AWS 与客户共同承担维护安全性和合规性的责任。 AWS 负责保护客户用来构建和运行其应用程序的底层基础设施。 客户负责保护他们放在 AWS 上的应用程序和数据。

 

AWS 提供了一组可用于保护您的应用程序和数据的工具和服务。 这些工具和服务包括 Amazon Virtual Private Cloud (Amazon VPC)、Amazon Elastic Compute Cloud (Amazon EC2)、Amazon Simple Storage Service (Amazon S3) 和 AWS Identity and Access Management (IAM)。

 

AWS 承担的职责包括:

– 数据中心的物理安全

- 网络安全

– 主机安全

– 应用安全

 

客户负责:

– 保护他们的应用程序和数据

– 管理用户对 AWS 资源的访问

– 监控威胁

结论

AWS 是在云中运行应用程序的绝佳方式。 它易于使用,并提供了一种运行后台作业的简单方法。

 

AWS 是处理大数据的好方法。 它易于使用,并提供了一种处理大数据的简单方法。

 

架构完善的框架是开始使用 AWS 的绝佳方式。 它提供了一组指南,可以帮助您决定如何在 AWS 上设计、部署和操作您的应用程序。

 

如果您是 AWS 的新手,我建议您从架构良好的框架开始。 它将帮助您正确起步并避免在基础设施方面犯下代价高昂的错误。