AWS学习手稿


记录一下学习AWS时的知识点,方便自己后面翻阅查看。

0. 基本概念

Region(区域)

区域是不同的亚马逊云的地理区域,如亚太、中东、南美等。举例欧洲爱尔兰区域的实际命名为 “eu-west-1” ,eu是欧洲,west是西部,后面数值从1开始累加。

Availability Zone(可用区)

可用区简称AZ。一个区域有多个可用区,可用区之间物理隔离,可以简单理解为每个区域有多个独立的物理机房,当一个机房发生灾难挂了,不用影响到其它的机房。一个区域最少有3个可用区,多的有6个可用区。可用区名字为区域后加a、b、c,如 “eu-west-1a”、“eu-west-1b”。

提示

AWS有许多产品,大多数AWS产品是基于区域的,如EC2、S3等,也有些AWS产品是不区分区域的,如IAM、Route 53。如果右上角有地理区域信息,则表示当前页面的产品是基于区域的,可以点击展开区域列表更换区域;如果显示的是Global则表示该产品不区分区域,点击展开区域也不可变更(区域列表是置灰不可点击状态)。


1. IAM

AWS的root账号非常危险,所以我们不用root账号,而是用IAM用户。

User(用户)

就是一个个的真实存在的用户(人类)。可以给用用户添加权限,也可以给用户组添加权限,然后把该用户添加到指定的用户组,这样该用户会继承组权限(即拥有用户组的所有权限)。用户可以属于多个用户组,这种情况该用户将获得所有用户组的并集权限(即将所有用户组的权限加到一块儿并去重)。

User Group(用户组)

就是一个个用户组,可将用户添加到一个组中,或从一个组中移除。添加或移除指定用户组的权限时,该组下的用户也将增加或删除对应的权限。

Role(角色)

AWS的产品也需要使用一些权限,我们给这些AWS服务创建角色供它们使用而不是使用用户。

MFA(多因验证)

了解一下,考试可能会有。除了密码策略外,我们还能用MFA,它更加安全,即使密码泄露也不会被别人登录。MFA = Password + Security Device。主要的MFA厂商有Google Authenticator(手机上的软件)、Amazon Authy(多设备软件)和YubiKey的U2F(实体硬件,像一个U盘)、Gemalto的Fob MFA(实体硬件,像银行的U盾)。MFA一定要妥善保存,一旦丢失无法登录

IAM Credentials Report

账户级。可以下载账户级别的报告,报告中可以看到某某用户的创建时间、最后一次使用密码的时间、最近一次更改密码时间、有没有使用MFA等等之类的详细信息。

IAM Access Advisor

用户级。可以查看用户使用权限的情况。通过该工具我们看到用户今天有使用到A权限、最近一月使用了B权限,还可以看到用户从来没有用过C权限。我们应该给用户分配足够用的最小权限,这时我们可以移除用户从来没有使用过的C权限。


2. AWS的交互

交互方式概论

我自己总结的通用交互方式,万变不离其宗,只有三种:

  • GUI(Graphical User Interface):图形化界面,方便用户使用,如QQ、迅雷。GUI不只是安装在系统上的软件,也包括浏览器网页等所有以图形方式和用户交互的系统。
  • CLI(Command-line Interface):命令行,对于用户来说没有GUI方便,但对程序来说方便之间互相交互,介于GUI和API之间取个平衡。如ffmpeg
  • API(Application Programming Interface):应用编程接口,对于程序来说最佳的交互方式,但是用户无法使用。API的方式很多,如通过HTTP协议提供get、post等方法请求的网络API、JDK中的方法、.NET中的函数、动态链接库(.dll、.so)中可被外部程序调用的函数、各种编程SDK中的函数/方法等。

交互方式

AWS的交互方式有三种

  1. AWS Console
    aws-console就是浏览器中的控制台网页,方便用户使用。

  2. AWS CLI
    aws-cli命令行方式,需要在Windows / Linux / Mac OS系统上安装aws-cli,然后就可以通过命令的方式使用了。aws-cli其实就是用python语言基于 aws sdk for pyhton 做一个封装开发。

  3. AWS SDK
    aws提供了可用于许多编程语言开发的库,称为aws-sdk,如aws sdk for java、aws sdk for .net、aws sdk for go、aws sdk for python等。

AWS Cloud Shell

AWS提供了一种云Shell,叫CloudShell,在AWS控制台可以看到。CloudShell就是一个位于云端的Shell,可供我们执行一些命令、上传下载文件等等。CloudShell重启后文件还在,我们在home目录创建一个文件,关闭网页或者重启CloudShell后这个文件还在。CloudShell已经预装了aws-cli,并且我们当前网页位于那个区域,CloudSh在这里插入代码片ell就自动设定为哪个区域,我们使用什么用户登录的,CloudShell就采用什么用户来配置cli,方便得开箱即用。


3. 云产品 — EC2

实例类型

a. General purpose(通用型)

通用型实例的计算、内存和网络能力是均衡。适合做web服务器、代码仓库等场景。

b. Compute optimized(计算优化型)

高水平处理器,针对计算密集型任务进行了优化。应用场景如批处理数据、媒体转码、高性能web服务器、机器学习、游戏服务器。

c. Memory optimized(内存优化型)

拥有较大的内存,可以在内存中处理大型数据集。应用场景如关系型和非关系型数据库(主要是内存数据库)、分布式网络缓存、非结构化大数据应用程序的实时处理。

d. Storage optimized(存储优化型)

针对访问大量本地存储的数据集进行优化。应用场景如高频在线事务处理(OLTP)系统、关系型和非关系型数据库、内存数据库(如redis)的缓存、数据仓库应用、分布式文件系统。

e. Accelerated computing(加速计算型)

Linux 加速计算实例,使用硬件加速器或协处理器来执行一些功能,如浮点数计算、图形处理或数据模式匹配,比在 CPU 上运行的软件更有效(指GPU)。这些实例能在计算密集型工作负载上提供更高的并行度,以实现更高的吞吐量。

安全组

安全组就像位于EC2前面的防火墙,它根据规则管理进站和出站的流量。安全组的规则可以根据IP地址进行设置,也可以引入另一个安全组。注意:

  • 安全组之间可以互相引用
  • 安全组和EC2实例之间是多对多关系
  • 一个安全组归属于一个Region下的VPC
  • 默认情况下所有入站流量都被阻止,所有出站流量都被允许

实例角色

一般AMI预装了aws-cli,执行一些aws命令时会让用户进行配置,非常不建议在ec2实例上配置access key和key id,而是在控制台给该实例设置一个角色。为其指定特定的角色后,该ec2实例将具备该角色的所有权限。这时再执行aws命令,将能够正常执行。

关于登录EC2的一些坑

  • 默认情况下EC2实例每次重启都会获得一个新的公网IP和DNS域名;
  • 不同AMI的默认用户名不一样,比如Debian的用户名是admin,Amazon Linux的用户名是ec2-user,Windows的用户名是Administrator;
  • 对于Linux系统的EC2实例,控制台的EC2 Instance Connect工具并非支持所有AMI,因为它需要实例系统上安装“EC2 Instance Connect”程序,目前EC2 Instance Connect程序只支持Ubuntu和Amazon Linux。EC2 Instance Connect本质也是通过SSH连接,如果安全组没有允许SSH端口,该工具同样会受限制而无法连接;

EC2实例启动类型

a. On-Demand Instances(按需实例)

推荐需要短时间使用稳定可靠的实例时使用。对于Linux和Windows系统按秒计费,对于其它操作系统按小时计费。费用比较贵,但是不需要预先付款,没有最低使用时长要求,可以随时启动、停止、终止实例。

b. Reserved(预留)

其费用能比按需实例大约节省75%。预留实例需要购买一年或三年(更优惠),可选择按月付费、部分补款或一次性付全款(更优惠)。有三种类型:

  1. Reserved Instances(预留实例):适合长时间工作负载,如数据库
  2. Convertible Reserved Instances(可转换的预留实例):提供灵活的实例,比如你想以后改变实例的类型,但折扣力度小一些,大约可节省54%。
  3. Scheduled Reserved Instances(预定的预留实例):比如在未来一年,你只有每周周四下午3点至6点间才会使用该实例 【已过时】

c. Spot Instance(竞价实例)

适合短时间的工作,最省钱,最高可节省90%,但不太可靠。如果当前价格高于你所设置的“可接受最高价格”,就会失去该实例。适合批处理作业、一次性数据分析、图像处理等,不适合用于运行关键作业或数据库。

d. Dedicated Hosts(专用主机)

预定整个物理服务器并控制实例放置。满足企业合规性要求,允许客户使用现已绑定服务器的软件许可。预定3年,价格昂贵。适合有强烈的监管或合规性要求、复杂的软件许可情况。

e. Dedicated Instance(专用实例)

相当于专用主机的软件版本。可以在同一个账户中与其它实例共享硬件,但没有关于如何放置实例的控制权力。有专门服务的硬件,但无法访问底层硬件。

竞价实例

a. 请求竞价实例

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值