AWS组件使用

kafka或kinesis 做数据收集

S3+redshift 做数仓

EMR做计算

RDS做数据市场

AWS Glue / AWS Data Pipeline 做数据集成

这些组件配合起来,几乎可以做各种方式的数据分析

kinesis还是比较推荐,延迟时间可以配置的算是实时的,而且功能会多一点,聚合、过滤什么的都可以

亚马逊云科技的历史

新用户入门学习计划 (海外区域)

亚马逊在94年由Jeff Bezos创立,95年初步在网上推广,经过几年发展亚马逊迅速成为全球最大的电商平台,06年时候亚马逊正式上线Amazon Web Services,如今亚马逊云平台发展成5百亿美金的企业及IT提供商而且还快速发展着。亚马逊云科技已经应用于6100领域。

目前亚马逊云科技功能有:存储、开发与管理工具、分析、内容分发、消息收发、计算、数据库、应用程序服务、5G、移动、联网、机器学习等等

Amazon Elastic Compute Cloud添加服务器,部署第一个应用需要了解的知识点

先要了解Amazon Elastic Compute Cloud服务可以做什么??

1、可调整大小计算容器

2、完全掌握你的计算资源

3、缩短获取并启动新服务所需要的时间

4、Web服务接口非常简单

5、在几分钟内增加或减少容量

6、为每个亚马逊云科技区域提供99.99%的可用性

7、较全球第二大云服务提供商停机时间少到7倍

计算机服务

通过管理控制台启动EC2实例

1、选择区域(宁夏、北京)

2、如果使用x86架构的操作系统,推荐选择t2.micro实例;如果使用ARM架构,则推荐选择t4g.micro。

3、选择实例类型(通用型、计算优化型、内存优化型、加速计算、存储优化)

4、配置实例(T3、 C5、P3等)

用户数据示例-Linux如下:

用户实例数据-Windows

#!/bin/bash

yum update -y

amazon-linux-extras install -y lamp-mariadb10.2-php7.2 php7.2

yum install -y httpd mariadb-server

systemctl start httpd

systemctl enable httpd

usermod -a -G apache ec2-user

chown -R ec2-user:apache /var/www

chmod 2775 /var/www

find /var/www -type d -exec chmod 2775 {} ;

find /var/www -type f -exec chmod 0664 {} ;

echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php

1

2

3

4

5

6

7

8

9

10

11

12

如果管理Amazon EC2网络

Amazon Virtual private cloud (Amazon VPC)允许你预置托管在亚马逊云科技上并专提供你的账户使用的虚拟网络。

云中的私有虚拟网络、Amazon VPC与其他虚拟网络逻辑上隔离。

很多亚马逊科技云资源都会在Amazon VPC中启动。

允许完全控制网络配置,其中包括:

Internet协议 (IP)地址范围

-子网创建

路由表创建

网络网关

安全设置

网络服务

Amazon VPC功能

区域和可用区(AZ)的高可用性构建:

每个Amazon VPC都位于一个区域内。

每个账号可以创建多个Amazon VPC。

子网:

用于划分Amazon VPC内的空间。

每个子网位于一个可以区内。

属于用户自己的私有安全隔离的网络环境

互联网网关

网关是将两个使用不同传输协议的网络段连接在一起的设备,网关一般用作网络的入口和出口点,因为所有数据必须在路由之前通过或与网关通信。在大多数基于IP的网络中,唯一不通过至少一个网关的流量是在同一局域网(LAN)段上的节点之间流动的流量。

在个人或企业场景中使用网关的主要优点是将互联网连接简化为一个设备。在企业中,网关节点还可以充当代理服务器和防火墙。

注意:公有子网中的服务可以直接被internet访问到

私有子网中服务不可以直接被internet访问到

子网(Subnet)

子网是您的 VPC 内的 IP 地址范围。您可以将AWS资源(例如 EC2 实例)在特定子网中启动。在创建子网时,指定子网的 IPv4 CIDR 块,它是 VPC CIDR 块的子集。每个子网都必须完全位于一个可用区之内,不能跨越多个可用区。通过在独立的可用区内启动实例,您可以保护您的应用程序不受单一可用区故障的影响。

简单来说,子网就是在可用区内基于 IP 地址再划分出的专属区域,每个子网的 IP 地址段互不重叠。下图展示了 VPC、可用区和子网的关系。该示例中的 VPC 总共包含三个可用区,每个可用区划分出了若干个子网。

子网类型

子网存在的意义是什么?为什么要在可用区里创建子网?要回答这个问题,首先要知道有哪几种类型的子网。

VPC 总共有三种类型的子网

公有子网

带有 NAT 网关的私有子网

被隔离的私有子网

有的子网可以访问外网,有的则不能;有的子网可以被外网访问,而有的则不能。听着有些拗口,像绕口令一样,下面具体看看这 3 种子网都有什么特性。

公有子网

公有子网具有最大的连通性,既可以访问 Internet 也可以被 Internet 访问。公有子网中的资源有两个 IP 地址:外网 IP 和内网 IP,Internet 网关作为桥梁,连接了 Internet 和公有子网。

需要注意的是每个 VPC 只有一个 Internet 网关,而且 Internet 网关只是 VPC 和 Internet 之间的一个逻辑连接,不是一个物理设备。因此 Internet 网关的带宽并不由 Internet 网关本身决定,而是由 EC2 的带宽决定。

如果没有 Internet 网关,VPC 将失去和 Internet 的连接。

最后再总结一下 Internet 网关的作用:让公有子网内的资源连接 Internet,同时也让 Internet 连接公有子网内的资源。

带有 NAT 网关的私有子网

NAT 网关介于私有子网和 Internet 网关之间,能够将私有子网内的多个私有 IP 映射到一个公有 IP,从而让私有子网内的资源可以访问 Internet。下图展示了一个 NAT 网关的使用案例。

NAT 网关是和 EC2 平级的位于公有子网内的计算资源,负责私有 IP 和公有 IP 的转换及流量转发。

可用区 1 中的 EC2 通过 NAT 网关访问 Internet。而可用区 2 没有 NAT 网关,因此该可用区内的 EC2 无法访问 Internet。

NAT 网关和 Internet 网关有以下几个区别:

NAT 网关负责让私有子网访问 Internet;Internet 网关负责让公有子网访问 Internet。

NAT 网关的连接是单向的,私有子网可以访问 Internet,但是 Internet 无法访问私有子网(除非显示地允许该访问,但不在本文的讨论范围之内);Internet 网关的连接是双向的。

NAT 网关工作在可用区,Internet 网关工作在 VPC。

NAT 网关运行于具体的物理设备,带宽从 5Gbps 至 45Gbps 不等,因此使用 NAT 网关会产生额外费用;Internet 网关只是个逻辑连接,没有带宽限制,也不会产生费用。

隔离的私有子网

隔离的私有子网就是没有 NAT 网关的私有子网,上图中可用区 2 的私有子网就是一个隔离的私有子网。隔离的私有子网无法访问或被 Internet 访问,只能和 VPC 内的资源相互连接。

下图是融合了公有子网、带有 NAT 的私有子网以及隔离的私有子网的使用案例。

安全组与NACL

安全组 NACL

实列级别防护 子网级别防护

与实列操作系统无关 无状态

有状态 规则具有优先级

只有"允许"规则 "允许"和"拒绝"规则

存储服务

数据存储选项

数据块存储:块存储就是在物理层这个层面对外提供服务,使用它的系统,有用自己的文件系统化。这样一旦被一个系统使用,就独占了。

优点:

这种方式的好处当然是因为通过了Raid与LVM等手段,对数据提供了保护。

另外也可以将多块廉价的硬盘组合起来,成为一个大容量的逻辑盘对外提供服务,提高了容量。

写入数据的时候,由于是多块磁盘组合出来的逻辑盘,所以几块磁盘可以并行写入的,提升了读写效率。

很多时候块存储采用SAN架构组网,传输速率以及封装协议的原因,使得传输速度与读写速率得到提升。

缺点:

采用SAN架构组网时,需要额外为主机购买光纤通道卡,还要买光纤交换机,造价成本高。

主机之间的数据无法共享,在服务器不做集群的情况下,块存储裸盘映射给主机,再格式化使用后,对于主机来说相当于本地盘,那么主机A的本地盘根本不能给主机B去使用,无法共享数据。

不利于不同操作系统主机间的数据共享:另外一个原因是因为操作系统使用不同的文件系统,格式化完之后,不同文件系统间的数据是共享不了的。例如一台装了WIN7/XP,文件系统是FAT32/NTFS,而Linux是EXT4,EXT4是无法识别NTFS的文件系统的。就像一只NTFS格式的U盘,插进Linux的笔记本,根本无法识别出来。所以不利于文件共享。

对象存储:也是文件系统一级提供服务,只是优化了目前的文件系统,采用扁平化方式,弃用了目录树结构,便于共享,高速访问。

优点:

具备块存储的读写高速。

具备文件存储的共享等特性。

使用场景: (适合更新变动较少的数据)

图片存储。

视频存储。

Amazon EC2 中EBS与实列存储

什么是EBS

EBS 卷是一种耐用的数据块级存储设备,您可以将其附加到您的实例。将卷附加到实例后,您可以像使用其他物理硬盘一样使用它。EBS 卷非常灵活。对于附加到当前一代实例类型的当前一代卷,您可以动态增加大小、修改预配置 IOPS 容量以及更改实际生产卷上的卷类型。

可以将 EBS 卷用作需要频繁更新的数据的主存储 (如实例的系统驱动器或数据库应用程序的存储)。这包括在调度时间起 24 小时内的不成功重试。EBS 卷始终不受 EC2 实例运行时间的影响。

您可以将多个 EBS 卷附加到单个实例。该卷与实例必须位于同一可用区。 根据卷和实例类型,您可以使用 Multi-Attach (多重挂载) 将卷同时挂载到多个实例。

Amazon EBS 提供以下卷类型:通用型 SSD(gp2 和 gp3)、预置 IOPS SSD(io1 和 io2)、吞吐量优化型 HDD (st1)、Cold HDD (sc1) 以及磁介质卷 (standard)。它们的性能特点和价格不同,您可根据应用程序要求定制您所需的存储性能和相应费用。有关更多信息,请参阅 Amazon EBS 卷类型。

使用 EBS 卷的优势:

数据可用性

数据持久性

数据加密

数据安全性

快照

弹性

挂载卷

查看已经附加的 EBS 卷

$ sudo fdisk -l

创建 ext4 的文件系统

$ sudo mkfs -t ext4 /dev/xvdf

挂载文件系统到一个目录

$ sudo mkdir /mnt/volume/

$ sudo mount /dev/xvdf /mnt/volume/

查看已经挂载的卷

$ df -h

解除挂载

$ sudo umount /mnt/volume/

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

性能测试

硬盘的性能测试:读操作测试、写操作测试。

使用 dd 工具进行性能测试。

存储性能取决于 EC2 的实例类型和 EBS 卷的类型。

EBS 卷必须能够充分使用 EC2 实例提供的带宽。

可以把两个甚至更多的 EBS 卷挂载到同一台 EC2,并使用软件 RAID 来提升性能。在 Linux 系统中可以使用 mdadm 来创建软件 RAID。

Amazon EC2 实例存储

实例存储 为您的实例提供临时性块级存储。此存储位于已物理附加到主机的磁盘上。实例存储是一种理想的临时存储解决方案,非常适合存储需要经常更新的信息,如缓存、缓冲、临时数据和其他临时内容,或者存储从一组实例上复制的数据,如 Web 服务器的负载均衡池。

实例存储由一个或多个显示为块储存设备的实例存储卷组成。实例存储的大小以及可用设备的数量因实例类型而异。

实例存储卷的虚拟设备为 ephemeral[0-23]。支持一个实例存储卷的实例类型具有 ephemeral0。支持两个实例存储卷的实例类型有 ephemeral0 和 ephemeral1 等。

备份数据

实例存储卷没有内建的方法来进行备份。可以使用 Cron 和 S3 来定义备份数据。

使用 AWS CLI 查询实例存储卷信息

您可以使用 describe-instance-types AWS CLI 命令来显示有关实例类型的信息,例如其实例存储卷。以下示例显示了包含实例存储卷的所有 R5 实例的实例存储总大小。

aws ec2 describe-instance-types \ --filters "Name=instance-type,Values=r5*" "Name=instance-storage-supported,Values=true" \ --query "InstanceTypes[].[InstanceType, InstanceStorageInfo.TotalSizeInGB]" \ --output table

1

Amazon EFS介绍

Amazon Elastic File System (Amazon EFS) 提供简单、可扩展的弹性文件存储,可与 AWS 云服务和本地资源配合使用。它易于使用且界面简单,可让您轻松快速地创建和配置文件系统。 Amazon EFS 可在不中断应用程序的情况下按需弹性扩展,在您添加或删除文件时自动扩展或缩减,从而让您的应用程序在需要时获得所需存储。

Amazon EFS 是一项区域性服务,专为实现高可用性和耐久性而设计,支持各种使用案例,包括 Web 服务和内容管理、企业应用程序、媒体和娱乐处理工作流、主目录、数据库备份、开发人员工具、容器存储以及大数据分析工作负载。

Amazon EFS功能

亚马逊云科技云中的文件存储

适用于大数据和分析、媒体处理工作流程、内容管理、Web服务和主目录

PB级低延迟文件系统

共享存储

弹性容器

Amazon EFS框架

选择合适数据库类型

根据工作负载选择技术、而是根据现有的基础设施选择的。你需要考虑的从一系列关系数据库引擎、NoSQL解决方案、数据仓库选项和搜索优化的数据存储中进行选择。

数据库解决方案注意事项

1、读写需求

2、延迟要求

3、持久性要求

4、总存储要求

5、支持的最大并发用户数

6、查询的性质

7、完整性控制所需的

8、典型的对象大小意见这些对象的访问权限性质

SQL数据库与NoSQL数据库

简介

SQL (Structured Query Language) 数据库,指关系型数据库。主要代表:SQL Server,Oracle,MySQL(开源),PostgreSQL(开源)。

NoSQL(Not Only SQL)泛指非关系型数据库。主要代表:MongoDB,Redis,CouchDB。

区别

存储方式

SQL数据存在特定结构的表中;而NoSQL则更加灵活和可扩展,存储方式可以省是JSON文档、哈希表或者其他方式。SQL通常以数据库表形式存储数据

NoSQL存储方式比较灵活.

表/数据集合的数据的关系

在SQL中,必须定义好表和字段结构后才能添加数据,例如定义表的主键(primary key),索引(index),触发器(trigger),存储过程(stored procedure)等。表结构可以在被定义之后更新,但是如果有比较大的结构变更的话就会变得比较复杂。在NoSQL中,数据可以在任何时候任何地方添加,不需要先定义表。

NoSQL也可以在数据集中建立索引。以MongoDB为例,会自动在数据集合创建后创建唯一值_id字段,这样的话就可以在数据集创建后增加索引。

从这点来看,NoSQL可能更加适合初始化数据还不明确或者未定的项目中。

外部数据存储

SQL中如何需要增加外部关联数据的话,规范化做法是在原表中增加一个外键,关联外部数据表。

NoSQL中除了这种规范化的外部数据表做法以外,我们还能用如下的非规范化方式把外部数据直接放到原数据集中,以提高查询效率。缺点也比较明显,更新数据的时候将会比较麻烦。

目前许多大型互联网项目都会选用MySQL(或任何关系型数据库) + NoSQL的组合方案。

关系型数据库适合存储结构化数据,如用户的帐号、地址:

1、这些数据通常需要做结构化查询(嗯,好像是废话),比如join,这时候,关系型数据库就要胜出一筹

2、这些数据的规模、增长的速度通常是可以预期的

3、事务性、一致性

NoSQL适合存储非结构化数据,如文章、评论:

1、这些数据通常用于模糊处理,如全文搜索、机器学习

2、这些数据是海量的,而且增长的速度是难以预期的,

3、根据数据的特点,NoSQL数据库通常具有无限(至少接近)伸缩性

4、按key获取数据效率很高,但是对join或其他结构化查询的支持就比较差

Amazon RDS

关系型数据库与非关系数据库

Amazon关系型数据库

含义:

关系型数据库,是指采用了关系模型来组织数据的数据库,其以行和列的形式存储数据,以便于用户理解,关系型数据库这一系列的行和列被称为表,一组表组成了数据库。用户通过查询来检索数据库中的数据,而查询是一个用于限定数据库中某些区域的执行代码。关系模型可以简单理解为二维表格模型,而一个关系型数据库就是由二维表及其之间的关系组成的一个数据组织。

常见的关系型数据库

关系型数据库常见的有 Oracle,SQLServer,DB2,Mysql,Microsoft Access等多个品种,每种数据库语法功能各具特色。除了Mysql大多数的关系型数据库如果要使用都需要支付一笔价格高昂的费用,即使是免费的Mysql性能也受到了诸多的限制。

ACID原则

关系型数据库强调ACID规则

(即:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)),可以满足对事务性要求较高或者需要进行复杂数据查询的数据操作,而且可以充分满足数据库操作的高性能和操作稳定性的要求。并且关系型数据库十分强调数据的强一致性,对于事务的操作有很好的支持。关系型数据库可以控制事务原子性细粒度,并且一旦操作有误或者有需要,可以马上回滚事务。

Amazon非关系型数据库

含义:

非关系型数据库,又被称为NoSQL(Not Only SQL ),意为不仅仅是SQL( Structured QueryLanguage,结构化查询语言),据维基百科介绍,NoSQL最早出现于1998 年,是由Carlo Storzzi最早开发的个轻量、开源、不兼容SQL 功能的关系型数据库,2009 年,在一次分布式开源数据库的讨论会上,再次提出了NoSQL 的概念,此时NoSQL主要是指非关系型、分布式、不提供ACID (数据库事务处理的四个基本要素)的数据库设计模式。同年,在亚特兰大举行的"NoSQL(east)"讨论会上,对NoSQL 最普遍的定义是"非关联型的",强调Key-Value 存储和文档数据库的优点,而不是单纯地反对RDBMS,至此,NoSQL 开始正式出现在世人面前。

2、常见的非关系型数据库有Redis, Amazon DynamoDB, Memcached,Microsoft Azure Cosmos DB和Hazelcast

3、不遵循ACID原则

4、使用范围:分布式数据库,近几年分布式数据库用的比较火的是redis。

切记选择据库需要考虑

服务器维护和能源消耗

软件安装和补丁

数据库备份和高可用性

可扩展性限制

数据安全性

操作系统(os)安装和补丁

结语

新用户学习计划对于新手来说也是不错的,知识点确实都比较充足,讲解了对于新手来说不太了解,或者不了解,仅仅只是知道是什么的人来说,将是一个很好的选择,教程从深入浅,从基础服务方面,到数据库方面,再到安全方面,再到架构方面,全都概括到了,每个视频最后还有一个实操案例。

更多开发者相关内容推荐:

入门资源中心:从0到1 轻松上手云服务,内容涵盖:成本管理,上手训练,开发资源。

2.架构中心:亚马逊云科技架构中心提供了云平台参考架构图表、经过审查的架构解决方案、Well-Architected 最佳实践、模式、图标等。

3.构建者库:了解亚马逊云科技如何构建和运营软件。

  1. 开发工具包
相关推荐
dessler1 小时前
云计算&虚拟化-kvm-扩缩容cpu
linux·运维·云计算
学Linux的语莫1 小时前
Ansible Playbook剧本用法
linux·服务器·云计算·ansible
cloud studio AI应用5 小时前
腾讯云 AI 代码助手:产品研发过程的思考和方法论
人工智能·云计算·腾讯云
何遇mirror20 小时前
云原生基础-云计算概览
后端·云原生·云计算
嚯——哈哈21 小时前
轻量云服务器:入门级云计算的最佳选择
运维·服务器·云计算
请你喝好果汁6411 天前
Kingfisher 下载ENA、NCBI SRA、AWS 和 Google Cloud)序列数据和元数据
云计算·aws
九陌斋1 天前
如何使用AWS Lambda构建一个云端工具(超详细)
云计算·aws
嚯——哈哈1 天前
AWS云服务器:开启高效计算的新纪元
服务器·云计算·aws
嚯——哈哈1 天前
从入门到精通:解析如何使用亚马逊云服务器(AWS EC2)
运维·服务器·aws
w_t_y_y1 天前
aws服务(二)机密数据存储
aws