欢迎光临散文网 会员登陆 & 注册

SAA-C03-002_EC2_01_Basics

2023-07-02 15:16 作者:Isaac_LeeKain  | 我要投稿

## Amazon EC2


- EC2 是AWS最受欢迎的产品之一

- EC2 = Elastic Compute Cloud = Infrastructure as a Service(基础及设施)

- 主要包括以下功能:

- 租用虚拟机(EC2)

    - 数据存储在虚拟驱动器上(EBS)

    - 在机器间进行负载分配(ELB)

    - 使用自动缩放组来扩展服务(ASG)

- 了解 EC2 对于了解云服务的工作原理至关重要


* * *


## EC2 Sizing & Configuration Options


- 操作系统(OS):Linux,Windows,Mac

- 需要多少计算力与核心(CPU)

- 需要多少随机存储内存(RAM)

- 需要多少存储空间

    - 网络连接存储(EBS & EFS)

    - 硬件存储(EC2 Instance Store)

- 网卡:网卡速度,公共 IP 地址

- 防火墙规则:Security Group(安全组)

- Bootstrap 脚本(**首次启动配置**):EC2 User Data


* * *


## EC2 User Data


- 可以通过使用 EC2 User Data 脚本来引导启动(bootstrap) EC2 实例

- 引导启动(bootstrapping)意味着在机器启动时启动命令

- 该脚本仅在 EC2 实例首次启动时运行一次

- EC2 User Data 通常用于自动化启动任务

    - 安装更新

    - 安装软件

    - 从互联网下载公共文件

    - 任何可以想到的事情

- EC2 User Data 脚本通过 Root 用户来运行


* * *

* * *


## EC2 Instance Types


### Overview


- 根据不同 use case(用例)进行 optimised(最优化)选择不同的 EC2 Instance Type

- AWS 拥有以下命名规定:m5.2xlarge

    - m:实例类

    - 5:随时间推移进行改进而生成

    - 2xlarge:实例类的大小


* * *


### General Purpose(一般目的,性能平衡)


- 适合多种工作负载,比如 Web 服务器或代码储存库(repositories)

- Balance between(平衡):

    - Compute

    - Memory

    - Networking


* * *


### Compute Optimized(计算优化)


- 适合需要高性能处理器的计算密集型任务:

    - 批处理(Batch)

    - 媒体转码(Media Transcoding)

    - 高性能 Web 服务器

    - 高性能计算(High Performance Computing = HPC)

    - 科学建模和机器学习

    - 专用游戏服务器


* * *


### Memory Optimized(内存优化)


- 可以为内存中处理大型数据集的工作负载提供快速性能

- Use case:

    - 高性能,关系型/非关系型数据库

    - 分布式(Distrubuted)Web 规模缓存存储

    - 针对BI(商业智能)优化的内存数据库

    - 对大型非结构化数据进行实时处理的应用程序


* * *


### Storage Optimized(存储优化)


- 适合需要对本地存储上的**大型数据集**进行**高顺序读写访问**的存储密集型任务

- Use case:

    - 高频率在线事务处理(High frequency online transaction processing = OLTP)系统

    - 关系型 & NoSQL 数据库

    - 内存数据库缓存(例:Redis)

    - 数据仓库应用程序

    - 分布式文件系统


* * *

* * *


## Security Groups Introduction


- 安全组(Security Groups)是AWS网络安全的基础

- **安全组**控制了流量如何允许**进出 EC2 实例**

- 安全组仅包含**允许**规则

- 安全组可以引用 **IP** 或者**安全组**


* * *


## Security Groups Deeper Dive


- 安全组充当 EC2 实例的防火墙

- 规定(Regulate):

    - Access to Ports(访问端口)

    - 授权 IP 范围 - IPv4 和 IPv6

    - 控制**入站**(inbound)网络(从其他位置到实例)

    - 控制**出站**(outbound)网络(从实例到其他位置)


* * *


## Security Groups Diagram


EC2 Instance IP xxx.xxx.xxx.xxx (attached)SG1,Inbound,Filter IP/Port with Rules(√) ←—— IP xxx.xxx.xxx.xxx(authroised port 22)

EC2 Instance IP xxx.xxx.xxx.xxx (attached)SG1,Inbound,Filter IP/Port with Rules (×)XXX← IP xxx.xxx.xxx.xxx(not authorised port 22)

EC2 Instance IP xxx.xxx.xxx.xxx (attached)SG1,Outbound,Filter IP/Port with Rules (√)——→ WWW,Any IP - Any Port


* * *


## Security Groups Good to Know


- 可以被附加到多个实例

- 锁定到一个区域,或者一个 VPC 组合

- 确保被阻止的流量不会被 EC2 看到

- 更好的维护通过 SSH 访问单独的安全组

- 如果应用程序无法被访问给出 time out(连接超时)错误,那么这是一个安全组问题

- 如果应用程序无法被访问给出 connection refused(连接被拒绝)错误,那么这是应用程序错误或应用程序未被启动

- **默认**情况下,所有**入站**流量都被**阻止**,所有**出站**流量都被**授权**


* * *


## Referencing other security groups Diagram


EC2 Instance IP xxx.xxx.xxx.xxx ←—— SG1,Inbound,Authorising SG1/SG2(√)←—— SG1(attached)EC2 Instance IP xxx.xxx.xxx.xxx

EC2 Instance IP xxx.xxx.xxx.xxx ←—— SG1,Inbound,Authorising SG1/SG2(√)←—— SG2(attached)EC2 Instance IP xxx.xxx.xxx.xxx

EC2 Instance IP xxx.xxx.xxx.xxx XXX← SG1,Inbound,Authorising SG1/SG2(×)XXX← SG3(attached)EC2 Instance IP xxx.xxx.xxx.xxx


* * *


## Classic Port to know


- 22 = SSH(Secure Shell) - 登录 linux 实例

- 21 = FTP(File Transfer Protocol) - 上传文件到文件共享

- 22 = SFTP(Secure File Transfer Protocol) - 使用 SSH 上传文件

- 80 = HTTP(Hyper Text Transfer Protocol) - 访问不安全网站

- 443 = HTTPS(Hyper Text Transfer Protocol Secure) - 访问安全网站

- 3389 = RDP(Remote Desktop Protocol) - 登录 Windows 实例


* * *

* * *

## EC2 Instance Connect


- 在浏览器中连接 EC2 实例

- 无需使用以下载的密钥文件

- AWS 自动将临时密钥上传到 EC2

- 仅适用于 Amazon Linux 2 开箱即用(out-of-the-box)

- 需要确保端口(Port)22 仍然是被打开的状态


* * *

* * *


## EC2 Instances Pirchasing Options


- On-Demand Instances(按需实例)

- Reserved(保留实例):

    - 1 & 3 年

    - Reserved Instances - 长期工作负载

    - Convertible Reserved Instance(可转换保留实例) - 长期工作负载,具有灵活性的实例

- Savings Plans(储蓄计划):

    - 1 & 3 年

    - 承诺使用量,长期工作负载

- Spot Instance(现货实例) - 短期工作负载,最便宜,可能会丢失实例(可靠度低)

- Dedicated Hosts(专用主机) - 预定整个物理服务器,控制实例放置

- Dedicated Instance(专用实例) - 没有其他客户会共享硬件

- Capacity Reservations(容量预订) - 在任何期限内保留特定 AZ(Available Zone) 的容量


* * *


### On Demand


- 仅支付使用的费用:

    - Linux 或者 Windows - 在一分钟后,按秒计费

    - 其他系统 \- 按小时计费

- Cost(成本)最高,但没有预付款

- 没有长期使用承诺

- 推荐用于**短期**和**不可间断**的,且无法预测应用程序行为的工作负载


* * *


### Reserved Instance


- 与按需实例相比,拥有72%的折扣

- 预定了特定的实例属性(实例类型,地区,租赁,操作系统)

- 租期

    - 1 年(+折扣)

    - 3 年(+++折扣)

- 付款选项

    - No Upfront(无预付)(+折扣)

    - Partial Upfront(部分预付)(++折扣)

    - All Upfront(全预付)(+++折扣)

- 推荐用于稳定使用应用程序(Think Database)

- 可以在保留实例商店(Market place)购买或出售

- 可转换保留实例

    - 可以转换EC2 实例类型,实例系列,操作系统,范围和租赁

    - 拥有高达66%的折扣

<br>  

#### *TIPS:折扣随着时间的推移而变化,并不固定*


* * *


### Savings Plans


- 根据长期使用情况获得折扣(高达72%的折扣,与Reserve类似)

- 承诺特定类型的使用(每小时$10,持续1年或3年)

- EC2 储蓄计划外的使用情况是按需付费

- 锁定到特定的实例系列和AWS区域(例:us-east-1区域的M5系列)

- 灵活性:

    - 实例大小(例:m5.large,m5.2xlarge)

    - 操作系统(例:Linux,Windows)

    - Tenancy(租赁)(Host,Dedicated,Default)


* * *


### Spot Instance


- 与按需实例相比,可以获得搞到90%的折扣

- 如果租用时的最高价格低于当前现货价格,会在任何时候丢失实例(仅有2分钟保留期来进行调整)

- AWS 中最具有成本效益的实例

- 适用于抗故障能力高的工作负载:

    - 批处理

    - 数据分析

    - 图像处理

    - 任何分布式工作负载

    - 具有灵活开始和结束时间的工作负载

- 不适合关键工作负载或数据库


* * *


### Dedicated Hosts


- 具有 EC2 实例容量的物理服务器,完全专属使用

- 允许满足合规性要求并使用现有服务器绑定软件许可证(per-socket,per-core,pe-VM software licenses)

- 购买选项

    - On-demand - 为被激活的主机按秒支付费用

    - Reserved - 1 或 3 年(无预付,部分预付,全预付)

    - 最昂贵的选项

    - 适用于具有负载许可模式的软件(BYOL - Bring Your Own License)

    - 或者需要强监管或合规性需求的公司


* * *


### Dedicated Instances


- 实例在专用的硬件上运行

- 可以与统一账户中的其他实例共享硬件

- 无法控制实例放置(可以在 Stop/Start 之后移动硬盘)

* * *


### EC2 Capacity Reservations


- 在任何时间内都在特定的 AZ 中保留按需实例容量

- 需要时始终可以访问EC2容量

- 没有时间承诺(随时创建/取消),没有账单折扣

- 结合区域保留实例和储蓄计划,可以获得账单折扣

- 无论是否运行实例,都要按需付费

- 适用于需要位于特定 AZ 的短期且不间断的工作负载


* * *


## Example


- On demand:随时来度假村居住,支付全价

- Reserved:提前计划,如果计划长期入住,可以获得不错的折扣

- Saving Plans:在特定时期内每小时支付一定金额,并入住任何房间类型(例:特大号床,套房,海景房...)

- Spot Instances:酒店允许人们竞标空房间,出价最高的人保留房间,当然也随时会被踢出去

- Dedicated Hosts:预定了度假村的整栋建筑

- Capacity Reservations:即使不入住,也可以以全价预定一个房间


* * *


## EC2 Spot Instance Requests


- 与按需相比可以获得高达90%的折扣

- 当**当前现货价格**小于**最高可支付价格**时,定义**最高可支付价格**以获取实例

- 每小时现货价格因因容量而异

- 如果当前现货价格大于定义的最高可支付价格,则须在2分钟的宽限期内停止或终止(terminate)实例

- 其他策略:Spot Block(现货块)

- 在指定时间范围内(1至6小时)内不被打断的现货块

- 在极少数情况下,实例可以被回收

- 用于批处理,数据分析,或其他抗故障能力较强的工作负载

- 不适合关键工作或数据库


* * *


## Terminate Spot Instance


- 只能取消现货请求的打开,活动或禁用

- 取消现货请求不会终止实例

- 必须首先取消现货请求,然后再终止关联的现货实例,否则关闭实例后会立即被现货请求导致实例再次被打开


* * *


## Spot Fleets(现货队列)


- 现货队列 = 一组现货实例 + 按需实例(可选的)

- 现货队列将尝试在价格限制下满足目标容量

- 定义可能的启动池(Launch pool):实例类型(m5.large),操作系统,AZ(可用区域)

- 可以有多个启动池,以便队列可以选择

- 现货队列在达到容量或最大成本时,停止启动实例

- 现货实例分配策略

- LowestPrice(最低价格):来自价格最低的池(成本优化,短时工作负载)

- Diversified(多样化):分布在所有池中(可用性高,长时工作负载)

- CapacityOptimized(容量优化):对于数个实例具有最佳容量的池

- 现货队列允许我们以最低价格自动请求现货实例、


* * *


## EC2 Section - Summary


- EC2 Instance:AMI(OS) + Instance Size(CPU + RAM) + 存储 + 安全组 + EC2 User Data

- Security Groups:连接到 EC2 实例的防火墙

- EV2 User Data:在实例第一次启动时的脚本

- SSH:启动进入 EC2 实例的终端(port:22)

- EC2 Instance Role:连接到 IAM Role

- Purchasing Options:按需,现货,保留(Standard + Convertible + Scheduled),专用主机,专用实例)


* * *

* * *

* * *


SAA-C03-002_EC2_01_Basics的评论 (共 条)

分享到微博请遵守国家法律