AWS 系列词汇备忘录

521 阅读7分钟

0 云计算

云计算是通过 Internet 按需提供计算能力、数据库存储、应用程序和其他 IT 资源,采用按使用量付费的定价模式。
云计算让您可以通过 Internet 访问服务器、存储空间、数据库和各种应用程序服务。Amazon Web Services 等云服务提供商拥有和维护此类应用程序服务所需的联网硬件,而您只需要通过 Web 应用程序就可以预置和使用需要的资源。
云计算包含三个主要类型,通常被称作:
基础设施即服务 (IaaS)
平台即服务 (PaaS)
软件即服务 (SaaS)
根据需要选择合适的云计算类型可以帮助您保持适当的控制平衡,同时避免没有意义的繁重工作。

1 IAC ( Infrastructure as Code 基础设施即代码)

这里的Code就是对基础设施资源的代码定义和描述,也就是通过代码表达我们想要管理的资源。将基础设施作为代码,版本管理起来。

IAC 是基于从软件开发实践的基础设施自动化的方法。它强调配置和改变系统及其配置的一致性,可重复的程序。变更转化为定义,然后通过包括彻底的验证的无人值守过程应用到系统中。其原则如下:

容易重现的系统。能够毫不费力且可靠地重建基础设施中的任何元素。
可任意处理系统。可以轻松创建、销毁、替换、更改以及移动资源。
一致的系统。假设两个基础设施元素提供相似的服务,比如同一个集群中有两个应用程序服务器。这些服务器应该几乎完全相同。它们的系统软件和配置应该是一样的,除了一丁点配置(比如IP地址)用于区分彼此。
可重复的过程。基于可再生原则,对基础设施执行的任何行为都是可以重复的。也就是说Duang了之后,对于所有人的效果应该是一样的。
变化的设计。确保系统能够安全地改变,迅速的频繁做出变化。

常见的基础设施、配置管理的工具:cloudformation,chefpuppetansible

2 Terraform

Terraform 就是运行在客户端的一个开源的,用于资源编排的自动化运维工具。以代码的形式将所要管理的资源定义在模板中,通过解析并执行模板来自动化完成所定义资源的创建,变更和管理,进而达到自动化运维的目标。

Terraform 基于一种特定的配置语言(HCL, Hashicorp Configuration Language)来描述基础设施资源。

Terraform 几乎可以支持所有市面上能见到的云服务。

Terraform 作为 DevOps 的一个利器,大大降低了基础设施的管理成本。

3 AWS CloudFormation

AWS CloudFormation 云资源服务可使开发人员和系统管理员轻松有序地创建、管理和更新相关 AWS 云资源模板。使用 AWS 模板或创建您自己的云资源。

利益相关者:运维或DevOps领域
一种管理云资源的服务
由AWS提供 通过模板文件(或者说配置文件、代码)管理云资源

DevOps 要求能把运维纳入软件开发体系,比如运用敏捷等软件开发方法、实现自动化持续集成、测试、交付、可被代码管理等等;其次,要求开发具备运维意识,将交付基础设施作为交付软件的一部分,借助云计算给开发人员赋能从而达到端到端交付的全栈能力,从而极大地提高研发效能。

在这个意义上,Cloudformation就是这样一个工具,可以将基础设施作为代码纳入到软件开发的一部分,并运用软件工程方法管理基础架构。

4 AWS IAM

AWS Identity and Access Management (IAM) 是一种 Web 服务,可以帮助您安全地控制对 AWS 资源的访问。您可以使用 IAM 控制对哪个用户进行身份验证 (登录) 和授权 (具有权限) 以使用资源。
AWS 管理控制台提供一个基于 Web 的方法以管理 AWS 服务。您可以登录该控制台并使用 AWS 服务为您的账户创建、列出和执行其他任务。这些任务可能包括启动和停止 Amazon EC2 实例和 Amazon RDS 数据库、创建 Amazon DynamoDB 表、创建 IAM 用户等。

5 AWS Cognito

Amazon Cognito 为您的 Web 和移动应用程序提供身份验证、授权和用户管理。您的用户可使用用户名和密码直接登录,也可以通过第三方 (如 Facebook、Amazon 或 Google) 登录。

6 Amazon EC2

Amazon Elastic Compute Cloud (Amazon EC2) 在 Amazon Web Services (AWS) 云中提供可扩展的计算容量。使用 Amazon EC2 可避免前期的硬件投入,因此您能够快速开发和部署应用程序。通过使用 Amazon EC2,您可以根据自身需要启动任意数量的虚拟服务器、配置安全和网络以及管理存储。Amazon EC2 允许您根据需要进行缩放以应对需求变化或流行高峰,降低流量预测需求。

7 ECS

Amazon Elastic Container Service (Amazon ECS) 是一项高度可扩展的快速容器管理服务,它可轻松运行、停止和管理集群上的 Docker 容器。
您可以通过使用 Fargate 启动类型启动服务或任务,将集群托管在由 Amazon ECS 管理的无服务器基础设施上。若要进行更多控制,您可以在使用 EC2 启动类型进行管理的 Amazon Elastic Compute Cloud (Amazon EC2) 实例集群上托管您的任务

8 AWS Lambda

AWS Lambda 是一项计算服务,可使您无需预配置或管理服务器即可运行代码。AWS Lambda 只在需要时执行您的代码并自动缩放,从每天几个请求到每秒数千个请求。您只需按消耗的计算时间付费 – 代码未运行时不产生费用。

9 AWS S3 bucket

Amazon Simple Storage Service (Amazon S3) 是一项面向 Internet 的存储服务。您可以通过 Amazon S3 随时在 Web 上的任何位置存储和检索的任意大小的数据。您可以通过 AWS 管理控制台这一简单直观的 Web 界面来完成这些任务。

10 API Gateway

API Gateway 是一项 AWS 服务,支持以下操作:
创建、部署和管理 REST 应用程序编程接口 (API) 以公开后端 HTTP 终端节点、AWS Lambda 函数或其他 AWS 服务。
创建、部署和管理 WebSocket API 以公开 AWS Lambda 函数或其他 AWS 服务。
通过前端 HTTP 和 WebSocket 终端节点调用公开的 API 方法。
API Gateway REST API
与后端 HTTP 终端节点、Lambda 函数或其他 AWS 服务集成的 HTTP 资源与方法的集合。这种集合可以在一个或多个阶段中部署。通常情况下,根据应用程序逻辑将 API 资源组织成资源树形式。每个 API 资源均可公开一个或多个 API 方法,这些方法具有受 API Gateway 支持的唯一 HTTP 命令动词。

API Gateway WebSocket API 与后端 HTTP 终端节点、Lambda 函数或其他 AWS 服务集成的 WebSocket 路由和路由键的集合。这种集合可以在一个或多个阶段中部署。API 方法通过可以与注册的自定义域名关联的前端 WebSocket 连接进行调用。

11 AWS RDS

Amazon Relational Database Service (Amazon RDS) 是一项 Web 服务,让用户能够在 AWS 云中更轻松地设置、操作和扩展关系数据库。它可以为行业标准关系数据库提供经济高效且可以调节大小的容量,并管理常见数据库管理任务。
利用 Amazon ECS,您可以通过简单的 API 调用来启动和停止基于容器的应用程序,可以从集中式服务获取集群状态,并且可以访问许多熟悉的 Amazon EC2 功能。