AWS Certified Solution Architect Associate SAA-C03 笔记 (一)

最近花了相当长的时间在Pluralsight平台上学习AWS助理架构师的课程。下面是上课记得一些笔记,对于入门和复习都有很大帮助,欢迎阅读。

本篇是第一篇,涵盖了AWS基础,IAM,S3,EC2等内容。

持续更新中…

AWS Fundamentals

The Building Blocks of AWS: Availability Zones and Regions

Region: 2+ AZ
AZ: 独立机房
Edge Locations:CloudFront、AWS CDN 内容分发网络

Who Owns What in the Cloud?

toll 过路费
charge a toll for the use of (a bridge or road):

Compute, Storage, Databases, and Networking

Compute:
EC2, Lambda, EB
Storage:
S3, Elastic Block Store (EBS), Elastic File Server (EFS), FSx, Stroage Gateway
Databases:
RDS, DynamoDB, Redshift
Networking:
VPCs (Virtual DC), Direct Connect, Route 53 (DNS), API Gateway, AWS Global Accelerator

What Is the Well-Architected Framework?

AWS Witepapers & Guide:
考试前必读。
Operational Excellence, Performance Efficiency, Security, Cost Optimization, Reliability, Sustainability

AWS Fundamentals Exam Tips

Review:

Region: 2+AZ
AZ: different dc
Edge locations: AWS CDN, (CloudFront)

Responsibility:
SG, IAM, patching EC2, patching DB on EC2, etc
Mgmt DC, sec came, etc

Key Services:
Compute: EC2, Lam, EB
Storage: S3, EBS, EFS, FSx, SG
DB: RDS, DDB, Rs
Net: VPCs, DirC, R53, ApiG, AGA

Whitepaper reading.

Identity and Access Management (IAM)

Securing the Root Account

IAM:
Create user
Create groups and roles
Control access to AWS resources

Permanent IAM Credentials

PowerUser除了不能搞IAM其他和Admin一样
IAM全球
Root全能,不日用
新用户默认无权限
Access Key ID是编程用的
新用户密码等只能看一次
设置密码轮换是必要的
IAM Federation 可以用LDAP
Id Federation 也能用LDAP,SMAL协议。

IAM Exam Tips

4安全方法:
1 Root MFA
2 Admin组创建,分配权限
3 创建Admin用户
4 Admin用户加入到Admin组

IAM JSON
考点:
IAM是全球的
Root全能,不日用
New User无权限
Access key ID和secret access key不是用户名密码;是编程用的
密码等只能看一次
密码轮换是必要的
IAM自治:可以复用现有账户
ID 自治: 添加SAML标准的Active Dir。(LDAP)

Simple Storage Service (S3)

S3 Overview

S3目录
S3
对象存储
任意文件类型
无法用来跑OS或者DB。仅仅是静态存储。
S3 基本
无线容量
单个文件最大5TB
S3 Buckets概念。(buckets类似文件夹)
S3 Bucket名字注册在全局命名空间,全球唯一
举例
https://bucket名称.s3.region.amazonaws.com/key-name
文件上传,成功则返回200 Code
S3 Overview:
Key: Object name
Version ID: important for multiple version
Value: data it self, byte array
Metadata: data about the data
S3 is a safe place to store.
Availability and durability
Highly available and Highly durable
Build for 99.95% - 99.99% service availability, depends on S3 tier
11 9 durability.

S3 Standard

  1. HAD
    99.99% avail
    11 9’s dur
  2. Designed for frequent access
  3. suitable for most workloads.
  • default storage class
  • websites, content distribution, mobile and gaming, etc.
    3大特性:
    Tiered Storage 分级存储
    Lifecycle Management 生命周期管理
    Versioning 版本
    安全:
  1. 服务端加密
  2. ACLs (访问控制列表)
  3. Bucket policies 桶策略
    RAW 一致性
    成功写操作之后,读可以正确读取
    Strong consistency 强一致性
    考点:
  4. 基于对象
    2 非OS/DB存储
    3 至高5TB
    4 无限容量
    5 s3是全局命名空间
    6 成功文件上传返回200
    S3对象Tips:
    Key: 对象名称
    Value: 数据本身
    Version ID:版本号
    Metadata:元数据

Securing Your Bucket with S3 Block Public Access

我忘记过Version ID
Object ACLs vs Bucket Policies
OA: 单个对象级别的权限控制
BP:整个Bucket级别
创建Bucket是Global的,不单独针对区域。

Hosting a Static Website Using S3

S3可以serve静态网页。
S3自动缩放大小
考点:
静态网页 -》联想到S3
BP: 让整个bucket公共,使用Bucket Policy
Static Only:只能搞静态网页。有数据库链接的不行。
自动扩容:S3可以自动扩容。
考点:
1 默认私有buckets
2 ACLs 单个权限
3 Bucket Policy 整个bucket权限
4 HTTP 200 表明上传完成

Versioning Objects in S3

版本控制优势:
全版本保留
备份
无法关闭(只能暂停)
生命周期
MFA支持
delete marker
5个技巧:
All Versions 全版本保留
备份
无法关闭(一旦打开)
生命周期规则
支持MFA

S3 Storage Classes

S3 存储分类
标准
standard-infrequent Access
One Zone-infrequent Access
Intelligent-Tiering
3 Glacier..
S3标准
高可用行高持久性
高频访问
适用大多数负载
考点:
视频网站:存储视频,图片用S3标准
静态网站,使用S3标准
S3 标准-IA
不频,但能快速访问
访问要钱
用例:长期存储,备份,DR灾备
99.9 Avail (少个9)
11个9的持久性
S3 One Zone-Infrequent Access
类似于S3 Standard-IA
只存在于单个AZ
节约20%成本
适合于不重要的长期存在数据
99.5% Avil
11个9的持久
S3 Intelligent-Tiering
使用AI决定去
99.99% Avail
11个9的持久性
3 Glacier:
Glacier Instant Retrieval

  • 长期存储,立即获取
    Glacier Flexible Retrieval
  • 理想的长期春初,需要几分钟到12小时来获取
    Glacier Deep Arcihive
  • 7-10年的存储目标,12到48 小时获取
    99.99 A
    11个9持久

Lifecycle Management with S3

生命周期管理
30天转移
在 S3 Glacier 中,您必须将数据存储在存档中,存档的最低时间限制为90天。这意味着,一旦您将数据存储在 S3 Glacier 中,您必须等待至少90天,才能检索该数据。这是因为 S3 Glacier 是一种适用于长期存储和归档的服务,而不是适用于频繁访问的热存储服务。

S3生命周期考点:
自动在不同分类中移动
和version一起用
当前和过去version都可以

S3 Object Lock and Glacier Vault Lock

S3对象锁
WORM 写一次,读很多次
write once, read many
用于监管需求
Governance Mode
治理模式
无权限情况下, 不能删除或者覆盖
Compliance Mode
合规模式
被保护对象无法被覆盖或者删除,任何用户都不行。包括Root用户也不行
Retention Periods
保留期
在特定时间段内保留对象,逾期后可以覆盖和修改。除非加上了Legal Hold,加上了不能改
Legal Hold是指一种法律程序,用于保护企业在诉讼或调查期间的电子数据。它是指企业在知道或合理预料到将要发生法律诉讼或调查时,采取的一系列措施,以确保与该诉讼或调查相关的信息不会被更改、删除或丢失。这些措施包括暂停数据销毁、备份和保留相关数据,并采取其他必要措施以确保数据完整性和可用性。

Legal Hold通常是由企业的法律部门或合规部门发起并监督的。如果企业没有及时采取Legal Hold措施,可能会面临法律责任和罚款。
Retention Mode:Retention Mode是一种数据保留模式,可确保对象在指定的保留期内不被删除或更改。在Retention Mode下,对象被锁定,无法被更改或删除。Retention Mode有两种模式:COMPLIANCE和GOVERNANCE。COMPLIANCE模式是一种严格的保留模式,保留期内的对象无法被删除或更改。GOVERNANCE模式是一种灵活的保留模式,允许管理员在保留期内删除和更改对象,但需要提前30天发出通知。
3个 Object Lock的提示:
1 S3 OL用来存放WORM模型
2 OL可以是在单个对象,也可以在整个bucket上
3 OL有两个模式:Gov Mode和Comp Mode
Legal Hold Mode:Legal Hold Mode是一种法律保留模式,可确保对象在法律程序期间不被删除或更改。在Legal Hold Mode下,对象被锁定,无法被更改或删除,直到Legal Hold被解除。
S3 OL Mode分类:
Comp M:谁都不能改
Gov M:特定人能改
WORM模型是一种数据存储模型,即“Write Once Read Many”(只写一次,多次读取)。WORM模型的基本思想是,一旦数据被写入存储系统,就无法更改或删除,只能被多次读取。这种模型通常用于需要长期保留数据的场景,如合规性要求、法律诉讼、归档等。

WORM模型通常用于磁带库、光盘存储、硬盘阵列等存储系统中。在这些存储系统中,数据被写入后,存储系统会对其进行保护,以防止数据被意外或恶意删除或修改。这种保护通常包括数据备份、数据加密、访问控制等措施。

WORM模型的优点在于,它可以确保数据的完整性和可用性,防止数据被意外或恶意删除或修改。这对于需要长期保留数据的场景非常重要,如金融、医疗、法律等行业。同时,WORM模型也有一定的缺点,如存储成本高、数据访问速度较慢等。因此,在选择存储系统时,需要根据实际需求进行选择。
这句话的意思是,AWS S3 Glacier Vault Lock功能允许您为每个S3 Glacier Vault轻松部署和执行合规性控制,并使用保管库锁定策略来保护其数据。Vault Lock是一种控制访问和保护数据的功能,它可以通过Vault Lock策略来限制对Vault的访问和修改。Vault Lock策略是一种JSON文档,可以定义保管库的访问权限、保留期限、删除保护等规则。

使用Vault Lock功能,您可以确保保管库中的数据符合合规性要求,并且不能被意外或恶意删除或修改。Vault Lock策略可以防止管理员或其他用户删除或修改数据,即使他们拥有相应的权限。Vault Lock还可以防止数据被意外或恶意删除或修改,从而保护数据的完整性和可用性。

总之,S3 Glacier Vault Lock功能提供了一种简单而有效的方式来确保S3 Glacier Vault中的数据符合合规性要求,并保护数据的完整性和可用性。
在AWS S3 Glacier中,Vault指的是一种逻辑容器,用于存储数据归档。Vault是S3 Glacier中的基本存储单元,您可以将数据归档到Vault中,然后对其进行管理和检索。Vault可以看作是一个文件夹,您可以在其中创建和管理归档文件。

每个Vault都有一个唯一的名称,并且可以配置一些属性,如访问权限、保留期限、删除保护等。Vault中的归档文件可以通过AWS控制台、AWS CLI或AWS SDK进行管理和检索。您可以上传和下载归档文件,列出Vault中的所有归档文件,以及删除归档文件等。

在S3 Glacier中,Vault是一个重要的概念,它提供了一种方便而安全的方式来存储和管理数据归档。同时,Vault也是S3 Glacier中的一个重要的合规性要求,您需要确保Vault中的数据符合合规性要求,并保护数据的完整性和可用性。
情境:
WORM + S3: S3 Obj Lock -> Comp, Gov
WORM + Glacier: Glacier Vault Lock

Encrypting S3 Objects

Encryption分类
1 传输加密

  • SSL/TLS
  • HTTPS
    2 Rest加密:服务端加密
  • SSE-S3:S3-管理密钥,使用AES 256
  • SSE-KMS: AWS Key Mgmt Service
  • SSE-C: Customer提供的key
    3 Rest加密 客户端加密
    上传之前加密,自己高
    两种强制执行桶加密的方式:
    Console 点击复选框就可以
    考点:BP 桶策略
    强制执行服务端加密:
    1:
    使用x-amz-server-side-encryption头
    2:
    两种选项:
    x-amz-server-side-encryption: AES256
    x-amz-server-side-encryption: aws:kms
    3:
    header放在PUT请求中,让S3加密obj,在上传的时候,使用指定的加密方法。
    可以创建BP,deny任何header不包含SSE头的PUT请求,
    考点:
    传输加密:SSL/TLS,HTTPS
    服务端加密:SSE,SSE-S3, SSE-KM,SSE-C
    客户端加密:自定义
    强制加密:PUT请求

Optimizing S3 Performance

S3性能优化

S3前缀越多,性能越高。
第一个字节100-200ms

充不多5500个Get请求,per 桶,per 前缀(prefix)
KMS限制:
上传调用API
下载调用API
KSM API调用配额
分区域的,5500,10000, 30000每秒
不能要求加量
多段上传

  • 推荐对>100MB文件操作
  • 大于5GB的必须分
  • 并行传输 (
    下载:
    Byte-Range Fetches
  • 并行下载,分byte段
  • 失败只针对特定比特段
    S3 字节区域下载:
    加速下载
    可以只加载一部分文件(比如文件头)
    考点:
    1 Prefix指的是
    mybucketname/sub1/sub2/file.jpg

    /sub1/sub2/这一段
    2 大量访问:
    3500 PUT/COPY/POST/DELETE
    5500 GET/HEAD
    per second, per prefix
    3 分开prefix可以提高性能
    考点:
    KMS
  • 有配额的
  • 分区域,五千五,一万,三万请求每秒
  • 不让加量
    考点:
    分段上传性能高
    100MB以上推荐,5GB必须分段
    S3 Byte-range fetch 可以加速下载

Backing up Data With S3 Replication

S3 复制以前叫做跨区域复制
3个考点:
1 可以从一个桶复制到另一个桶
2 现存的对象不会自动复制
3 删除标记默认不会复制

S3 Exam Tips

总结:
基于对象、不适用OS、DB、之高5TB、容量无限
全局名字,不可重名、上传成功返回200
4点:key value verionId metadata
安全4点:默认私有、对象ACLs、桶策略、HTTP代码成功200
静态网站:桶策略、静态内容、自动扩容
版本控制:全版本、备份、无法关闭、生命周期规则、支持MFA
存储分级:S3 Std, S3 Std-IA, S3 OZ-IA,S3 Glacier, S3 Glacier DA,SA3 I-T
重要数据:99.99,99.9, 99.5, 1
生命周期:自动移动,联合版本使用,当前过去版本都可以使用
S3对象锁:WORM模型,单个对象或者整个桶可以锁,分两类:Gov和Comp
Glacier锁:强制实施WORM
加密:两类:传输加密SSL/TLS,服务端加密:SSE(server-side enc)SSE-S3 (AES256) SSE-KMS SSE-C 客户端加密:自己解决 强制加密桶策略:加header
Prefix定义(文件夹名字) 性能 3500PUT,5500 GET、HEADER 越多Prefix,性能越高(2个能达到11000 GET)每秒
KMS配额限定 5500,1万,3万,且无法增加
性能优化:多部份上传,100MB以上,5GB以上必须,S3brf 快速下载 并列
S3复制:以前叫跨区复制。也可以同区域复制,从一个buck到另一个buck,现存默认不复制,默认不复制删除标记

Elastic Compute Cloud (EC2)

EC2 Overview

EC2计费标准:
On-Demand 按需 按小时、秒
Reserved 保留 1-3年
Spot 竞价
Dedicated 专用
按需的场景:
Flex
Short term
Test water
保留实例场景:(RI)
可预测的使用
特定用量需求
先付钱
标准RI
可转换RI
调度RI
RI能省钱至高72%
需要承诺1-3年的用量
超级flexible。不限定EC2, Lambda也ok
何时使用Spot
不能用来做网站。因为竞价,可能顶掉了。
Flex yes
Urgent no
Cost sensitive yes
Dedicated专用:
合规性需求
专用许可证
AWS Price Calculator
考点:
EC2像个VM,在AWS而非自由数据中心。
选择现在需要的容量
按需缩放
按用量付费
等几分钟二不是几个月
EC2付费选项:
按需,保留,Spot,专用。

Demo: Launching an EC2 Instance’

VPC是个虚拟dc
一个subnet就是一个AZ

AWS Command Line

aws s3 ls
aws s3 mb s3://sdfdsfsdfsdf
aws s3 cp hello.txt s3://sdfdsfsdfsdf

考点:
给最少的权限;创建和使用IAM组,附加上IAM Policy,自动继承
考点CLI:
1 Secret Access Key 私密访问密钥 只能看一次
2 不要分享 Key pair
3 支持Win Linux和Mac

Using Roles

可以给EC2设置IAM Role成为S3 Admin
考点:
1 倾向使用Role
2 避免硬编码角色
3 政策是控制role的权限的
4 可以直接更新policy
5 可以attach和detah role给running EC2
考点:
1 用Role的确是最佳实践
2 用Role可以通过ssh 附加.pem公钥登录了,因此不需要使用access key ID和secret access key了。
3 策略。通过策略(Policies)来控制Role的权限
4 更新。更新Role上附加的策略可以即刻生效
5 附加,去除。可以随意的在运行中的EC2上附加或者去除Role。很方便

Security Groups and Bootstrap Scripts

安全组和Bootstrip script
计算机通信常用端口
22
3389
80
443
Bootstrap 脚本是初始化EC2时候运行的脚本。懂了
安全组考点:
0 安全组是虚拟的防火墙的概念
1 安全组的更改会立即生效
2 一个安全组内可以有任何数量的EC2
3 一个EC2也 可以附加上多个安全组
4 默认禁止所有入境流量
5 所有出境流量都是允许的

EC2 Metadata and User Data

metadata指的是 关于EC2本身的一些数据
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html
考点:
1 User data 就是bootstrap script
2 Metadata就是EC2数据
3 能用bootstrap 脚本访问metadata

Networking with EC2

使用增强网络的时候,ENA100GB,VI10GB,选ENA
弹性构造适配器
Elastic Fabric Adapter
EFA:提速,降低延迟
使用EFA,高性能计算HPC可以直接与机器学习程序通信,通过on-bypass.
考点
3中网络,ENI,低成本
EN 10 ~100 GB的网速需求
EFA 高性能计算场景,需要OS-bypass的场景。

Optimizing with EC2 Placement Groups

Placement Group优化EC2
集群 – 将一个可用区中靠近的实例打包在一起。通过使用该策略,工作负载可以实现所需的低延迟网络性能,以满足高性能计算(HPC)应用程序通常使用的紧密耦合的节点到节点通信的要求。

分区 – 将实例分布在不同的逻辑分区上,以便一个分区中的实例组不会与不同分区中的实例组使用相同的基础硬件。该策略通常为大型分布式和重复的工作负载所使用,例如,Hadoop、Cassandra 和 Kafka。

分布 – 将一小组实例严格放置在不同的基础硬件上以减少相关的故障。
https://docs.aws.amazon.com/zh_cn/AWSEC2/latest/UserGuide/placement-groups.html
考点:
1 cluster 集群 用于放在一起,减少延迟,提高吞吐量
2 spread 分布,一个是一个
3 partition 分区,几个是一个
考点:
集群不能跨az,其他两个可以
只有特定的类型才能放在“置放群组”里,包括计算优化,内存优化,GPU,以及存储优化。
AWS推荐一个集群里使用同质实例
无法合并两个PG
可以把现存实例移到PG里。(必须是关闭状态,而且只能通过AWS CLI或者SDK来实现,通过网页控制台目前还不可以)

Solving Licensing Issues with Dedicated Hosts

专用实例的场景:
有许可证的情况

Timing Workloads with Spot Instances and Spot Fleets

Spot得先给出你能给的最高价格。
Spot考点:
1 至高节省90%
2 仅适用于不需要持久化存储的场景
3 可以设置“不让停”时长
4 Spot舰队Fleet是一些Spot和(可选)按需实例的结合

Deploying vCenter in AWS with VMware Cloud on AWS

AWS上用VMware的几个场景
考点:
可以使用VMware去部署vCenter在AWS里

Extending AWS Beyond the Cloud with AWS Outposts

Outposts是把AWS服务带到本地的私有服务器上
AWS Outposts Rack是一个完整的机架式设备,其中包含了计算、存储和网络设备,以及AWS云中的所有服务。
AWS Outposts Server是一种单独的计算设备,它可以与现有的本地存储和网络设备配合使用。
Rack和Server的区别要我说,就Rack什么都带,Server就单独一个Server;Rack U很多(40多),Server少(可能就一个)
考点:
AWS本地化,考虑Outpost
大Rack
小Server