花了4天时间突击复习了一下SAP,924分通过。以下是复习时的笔记。
我的学习方法是通过刷题引导自己遍历知识图谱,将没有深深刻在脑子里的知识都记录下来,而已经记牢的知识没必要记录。这篇笔记知识点非常零散,因为将他们联系起来的那些关键知识我都已经掌握了,没有出现在文章里。文章本身没有参考价值,总结这篇文章的过程相对更重要。
Resource-Level Policies,资源级权限
资源级权限是指在权限文档中的resource字段可以使用资源的ARN。只有某项服务支持资源级权限时,才能使用该服务的ARN。
资源级权限是IAM策略文档的一部分。除IAM策略文档之外,还有某些服务专属的策略文档,比如S3桶策略。可以在策略生成器中查看AWS支持的策略文档类型。
Aurora
兼容MySQL和PostgreSQL
API Gateway
- 网关响应是指当网关检查到请求不合法时(比如签名无效、请求过大等)直接拒绝请求并返回4xx的行为。可以根据不同的拒绝原因分别自定义Status Code、Header和Response Template。
Lambda
当异步调用失败时,可以使用死信队列配置将错误事件发送到SQS或SNS。需要为函数执行角色添加SQS或SNS权限。
AWS Directory Service
- Simple AD: 小型支持500用户,大型支持5000用户,基于Samba。
不支持AWS SSO,不支持与其他域的信任关系。 - Managed Microsoft AD:完全版AD
- Directory Connector:将On-Premise的AD服务器代理到VPC内。
- 三种AD服务都需要至少两个可用区子网。
Organizations
- 组织可以选择整合账单模式和所有功能模式。一旦启用所有功能模式,无法转换为整合账单模式。
- 所有功能模式除整合账单外还包含OU、SCP、标签策略等功能。
- 15天没有接受邀请,邀请就会失效。
- 无法重新发送邀请邮件,但可以取消并重新发出邀请。
- 在 IAM 组织活动中可以查看OU或账户的服务访问报告。
- 可以创建、重命名OU或删除空OU。不能移动OU。
- 可以将账户在不同OU或根之间移动。
- 先创建SCP,再附加到主账户、OU、子账户
- SCP可以设置为拒绝列表或允许列表。默认是拒绝列表。
CloudFront TTL-0
即使TTL设为0,CloudFront仍将缓存页面内容。对于每次相同的后继请求,CloudFront将使用If-Modified-Since标头发出Get请求。如果源未更改,只需要返回304状态码和空响应体。
这不会减少对于源的请求数量,但有助于减少从源传输的流量。
CodePipeline
- 从CodeCommit、Github、S3、ECR提取源码
- 在CodeBuild中构建和单元测试,或者使用Jenkins
- 使用CloudFormation、CodeDeploy、Beanstalk、OpsWorks Stacks、S3、ECS、ECS(蓝绿)、Service Catalog、Alexa Skills Kit进行部署
- 在任意阶段添加人工审核
- 在任意阶段触发Lambda
CodeStar
- 从多种模版中选择合适的开发工具链,以自动创建CodePipeLine作为部署流程
- 提供JIRA作为问题跟踪和项目管理
- 可使用Cloud9、 Visual Studio 或 Eclipse作为编辑器
- 提供一个状态面板
EBS
- GP2卷容量最小1G,最大16384G。默认每G容量对应3 IOps,最小100 IOPS,最大16k IOPS(在5333G时达到),低于3000 IOPS的可以突发到3000 IOPS。
1G~33G:标准100/突发3000 IO/s
34G~999G:标准 容量*3/突发3000 IO/s
1000-5333G:容量*3 IO/s
5334-16384G:16k IO/s - io1卷容量最小4G,最大16384G。IOPS范围在100到64k之间可调,并且每G磁盘容量最多50IOPS(需要1280G才能达到64k IOPS)。超过32k 的IOPS需要Nitro实例。
- gp2吞吐最大250MBps
Kinesis
- Media Stream 可以使用 GetHLSStreamingSessionURL 获取HLS直播流以便在公网设备或浏览器上播放。支持最多5个会话。
- Data Stream 可以通过API或SDK装入或读出流数据。
- 相比SQS,Data Stream可以重复读出并最多保存7天。
- Data Firehose 可以转换流数据,并输出到S3、Redshift、ES Service和Splunk。
EC2
- 通过在具有实例存储的实例上执行ec2-bundle-vol命令,可以为该实例创建AMI。
使用STS生成临时安全凭证
- AssumeRole:具有"sts:AssumeRole"权限的用户或角色使用API创建指定角色的临时安全凭证。AssumeRole还可用于扮演其他AWS账户的角色。【可以】附加一个权限策略以限制临时安全凭证的权限。最终权限是目标/角色权限与附加的权限策略的交集
- AssumeRoleWithSAML: 类似AssumeRole,但通过企业现有的支持SAML2.0的身份提供商进行身份验证并返回临时安全凭证。必须预先在IAM中创建SAML联合身份角色。该API为匿名调用。
- AssumeRoleWithWebIdentity:通过Web身份提供商进行身份验证并返回临时安全凭证。必须预先在IAM中创建对应的Web身份提供商角色。该API为匿名调用。
建议使用Amazon Cognito。 - GetFederationToken:由IAM用户调用,创建该用户的临时安全凭证。【通常】附加一个权限策略,临时安全凭证的权限是当前用户的权限与附加的权限策略的交集;此外基于资源的策略也可能赋予该用户权限。
此API授予的凭证可以使用SSO登录控制台。 - GetSessionToken:由IAM用户在需要MFA时调用。
使用联合登录访问控制台
- 使用SAML2.0直接登录AWS控制台并扮演角色
- 使用AWS SSO 服务,利用AD或SAML2.0访问控制台(与Simple AD不兼容)
- 通过自定义程序验证用户身份,然后使用GetFederationToken授予临时安全凭证,凭借此凭证访问SSO以登录控制台。
Amazon Cognito 用户池与身份池
- 身份池:向用户提供访问AWS资源的权限,以及为未经身份验证的用户生成临时凭据
- 用户池:自定义UI的注册登录网页、自定义字段身份验证流程、跟踪用户设备、位置、IP,基于风险控制的二次验证、存储特定于用户的数据。
- 用户池和身份池都可以利用社交或SAML身份提供商进行联合身份验证。身份池还支持匿名身份和开发人员验证身份。但是身份池本身不能对不同用户做出区分。
Storage Gateway
- 文件网关:以NFS或SMB方式使用S3
- 磁带网关:以虚拟磁带库(VTL)方式使用S3 Glacier
- 卷网关-缓存卷:主要数据写入S3,并在本地缓存经常使用的数据。
- 卷网关-存储卷:数据存储在本地并异步备份到S3。
- 存储卷和缓存卷可以备份,生成EBS快照。可以在Storage Gateway或者AWS Backup中设置备份计划。
License Manager
- 通过虚拟核心、物理核心、Socket数量限制。
- 与AMI或者EC2启动模版、CloudFormation关联以实施限制
Rekognition Video
两种工作模式:处理文件和处理流:
- 从S3读取文件,处理完成后发送完成提示到SNS。最后使用Get操作获取处理结果。
- 从Kinesis Video Streams 接受视频流,处理完成后发送到Kinesis data stream。
AWS Service Catalog,AWS服务目录
将应用程序和服务组织成目录,并向能够登录AWS Console的用户公布。
- 产品:可以是单个AWS资源或多个AWS资源的组合,或者On-promise环境中的多层web应用程序或打包的 AWS Marketplace 产品等等。
- 预配置产品:使用CloudFormation描述的产品,因此可以由用户部署、更新和终止。
- 最终用户:能够登录AWS Console,并通过IAM被授予了使用产品权限的用户。
- 产品组合:将产品及配置信息组织起来,以便管理产品使用者及其使用方式。
- 管理员:管理产品和目录,将产品组织到产品组合中并向最终用户授予访问权限。
Systems Manager
- Automation:自动化执行一批操作(类似AWS CLI脚本、Python脚本、人工批准的结合体),这些操作用“Automation 文档”定义,文档还可以链接子文档。
- Maintenance Windows 维护时段:在一组服务器上设置一个计划的时间窗口以运行一组任务。任务可以是Run Command、Automation、关联服务器的Lambda或Step Function。
- SSM Agent:安装在服务器中的Agent,用于连接SSM服务以在服务器上执行命令或交互式命令行。需要相关的IAM权限,不需要SSH Key。
- Session Manager:基于Agent在AWS控制台上打开单台服务器的命令行。
- Run Command:基于Agent在一批机器上执行单个命令,如更新应用或运行Shell/PowerShell脚本。
- State Manager:基于Agent在一批机器上设置计划任务。
- Patch Manager:基于Agent扫描缺失的补丁,手动安装补丁,或基于“补丁基准”在补丁发布指定的天数内自动批准并批量安装补丁。
RDS
- 选项组用于启用和配置特性,比如透明数据加密 (TDE)、镜像等。
- 参数组用于承载数据库引擎配置值。
- 动态参数的更改立即生效,静态参数则需要重启RDS实例。
- 参数可以使用整数或表达式。
- 时间点恢复将创建一个新的RDS数据库,而不是影响当前数据库
Data Lifecycle Manager,DLM
可周期性备份EBS,可设定最高频率每两个小时进行一次备份。
AWS Backup
- 可设定备份计划:以指定的频率和过期时间,备份一组指定的资源。
- 资源支持DynamoDB、EBS、EFS、RDS、Storage Gateway。
- 也可以单次执行备份作业和还原作业。
- 提供一个状态面板。
AWS Batch
用于有效利用Spot批量执行容器任务。指定需要的EC2机型、Spot实例百分比、vCPU数量(称为计算环境),指定执行容器任务所需的信息(称为作业定义)并提交到作业队列,AWS就会在Spot实例可用时创建ECS集群并执行作业。
如果作业需要的CPU、内存超过了计算环境能提供的限额,或者容器实例因为网络或安全等问题无法创建,或者容器主机存在问题,作业可能卡在RUNNABLE状态。
整合账单
- 启用整合账单后,主帐户可以创建和查看报告。报告包括所有成员账户的活动。成员账户不能查看整合账单,不过可以看到他们自己的账单。
- 报告每天最多更新三次
- 成本和使用率报告可以上传到Redshift
Media Services 媒体服务
- Elemental MediaLive:对实时视频进行编码以便进行广播或流式传输。
- Elemental Live:部署在本地设备上的应用程序,提供与MediaLive相同的编码功能。
- Elemental MediaPackage:将来源视频流转换成多种常用输出格式并可附加多种DRM,然后直接交付到CloudFront进行分发。
- Elemental MediaConvert:基于文件的视频转码服务,可转换成多种格式和分辨率,以便交付到S3并使用CloudFront进行分发。
- Elemental MediaConnect:使用多种标准的视频交付协议和默认加密将视频流传输到AWS,以便进行广播或连接到其他Elemental服务。
- Elemental MediaTailor:将不同的个性化广告编码到每位观众的视频流中。
加密和安全
证书相关概念
- RSA:非对称加密算法,X.509的重要环节。非对称是指一对互相对等的密钥A和B。用A加密原文,得到的密文可用B解密。用B加密原文,得到的密文可用A解密。同时,使用任意一个密钥无法推断出另一个密钥。
- 公钥、私钥:非对称加密算法中,一对互相对等的密钥。将这两个密钥之一公之于众称为公钥,另一个由发布者自己保留称为私钥。这样,任意的人使用公钥加密信息,可确定密文只能由保存了私钥的发布者解密。发布者用私钥加密信息,任意人可通过公钥解密确定这是由发布者发布的信息。
虽然RSA算法中公钥和私钥是对等的,但实际应用中为了提高性能,公钥的强度低于私钥。另外,私钥文件中通常存储了可推断出公钥的信息,因此不能交换使用公钥和私钥。 - 数字证书:一个信息文件,存储了公钥以及CA对该公钥的签名。因此,信任了CA的系统可以认为该公钥的发布者可信;从而发布者可以使用公钥对应的私钥加密通讯。
- X.509:密码学里公钥证书的格式标准。具有PEM和DER两种编码格式。
- DER:Distinguished Encoding Rules,证书的二进制格式编码,也是证书文件扩展名。常用于Java和Windows服务器
- PEM:Privacy Enhanced Mail,文本报头包围的 DER,也是证书文件扩展名。常用于Apache和Nginx服务器
- .CRT:证书文件扩展名,常用于Linux,通常是PEM编码
- .CER:证书文件扩展名,常用于Windows,通常是DER编码
- .KEY 通常把PEM私钥文件后缀改为.key以和公钥区分
WAF & Shield
- Shield Standard 可在第3、4层防范SYN 泛洪、ACK 泛洪、UDP 泛洪和反射攻击
- Shield Advanced 可保护EC2、ELB、CloudFront、Global Accelerator 和 Route 53
- Shield Advanced 提供24*7的DDoS响应团队支持,但需要订购业务或企业支持计划。
- Shield Advanced 定价3000美元/月外加额外流量费,至少订购一年。
- Shield Advanced 可以报销DDoS费用。
- Shield Advanced 使用CloudWatch通知DDoS攻击发生,通常在几分钟内发出攻击通知。
- Shield Advanced 赠送WAF
- WAF可在第7层防范攻击。
- Firewall Manager 可以设定规则,以在多种资源或多个账户上自动应用WAF、Shield Advanced和VPC安全组。
KMS
- 客户主密钥(CMK)的权限必须显式授予。在未授予权限时,即使root用户也无法访问该CMK。可以联系AWS Support找回对CMK的访问权限。
- CloudHSM可以执行HTTPS/SSL卸载。这确保了私有密钥的安全性,但CloudHSM有单机性能限制,且无法无限制扩展。
AWS Certificate Manager,证书管理器
- 通过DNS(添加CNAME记录)或者域名联系地址的电子邮件验证域名所有权
- 如果通过DNS验证且该域名与当前用户的Route53关联,则ACM可以自动向Route53添加CNAME记录。
GuardDuty
监控恶意活动和未经授权的行为。
根据AWS CloudTrail、Amazon VPC Flow Logs 和 DNS 日志等信息自动发现威胁,并发布到SNS或CloudWatch Events。
Macie
通过扫描S3和CloudTrail,以自动发现存储在S3中的敏感数据,并在检测到未经授权的访问或意外数据泄漏风险时发出警报。
Inspector
监控EC2的网络可访问性及其上运行的应用的安全状态。
通过“网络可访问性规则包”分析网络配置,以评估实例的可访问性是否合规。
通过在实例上安装的agent收集软件和配置数据并和规则包比对,以发现潜在威胁。
评估完成后生成文档形式的评估报告,并可通过SNS发送通知。
Artifact
自助下载合规性报告,以及查看、接受AWS协议。
迁移
Application Discovery Service
- 通过收集有关本地服务器的使用和配置数据来帮助您规划到 AWS 云的迁移。
- Agentless Discovery Connector,无代理发现连接器:
在VMware vCenter中部署一个虚机,以收集该vCenter关联的服务器主机名、IP 地址、MAC 地址、磁盘资源分配、VM 的使用率(基于CPU、RAM 和磁盘 I/O计算)。 - Application Discovery Agent,应用发现代理:
在每台物理机或虚机上安装Agent,以收集静态配置数据、详细的时间序列系统性能信息、入站和出站网络连接以及正在运行的进程。支持Windows和Linux。
Agent的数据可以导出到Athena。 - 如果并未使用VMware虚拟化,并且服务器的操作系统不被Discovery Agent支持,则还可手动填写csv格式的import template并导入。
- 和Migration Hub集成。
VM Import/Export
导入:
- 手动导出VM为 OVA、VMDK、VHD或RAW格式镜像文件。
- 将导出的镜像文件上传到S3
- 使用aws ec2 import-image命令以从镜像文件生成AMI。
过程中可以使用aws ec2 describe-import-image-tasks查询进度。
Server Migration Service
通过在环境中部署一个连接器(Connector)虚拟机(基于FreeBSD),连接器可以发现环境中的所有服务器,并将指定服务器的镜像上传到S3并转换为AMI。连接器支持vCenter(ova格式)、SCVMM/Hyper-V(vhd zip格式)、Azure(power shell脚本)。
使用应用(Application)以将多个服务器组织在一起。创建Application后可以创建组,然后将Connector发现的服务器添加到组。可以为组添加tag,日后生成的服务器将自动添加这些tag。此后,可以一键将Application包含的所有服务器复制为AMI。当复制操作完成后,可以导出CloudFormation模板或直接运行。
SMS任务(Jobs)在状态变更时会发布CloudWatch Event,因此可以使用Lambda自动化处理。
Database Migration Service
- 通过一个“复制实例”执行从源数据库复制到目标数据库的工作。目标数据库可以是EC2上的数据库或AWS托管数据库。
- 可以通过设置Schema Conversion Tool (SCT) 以将源数据库复制到另一种架构的目标数据库。
- 可以持续进行复制。
- 默认使用KMS中的aws/dms加密。用户可以指定自定义KMS密钥。
- 可以结合Snowball Edge迁移大型数据存储。
DataSync
通过部署一个本地Agent,以在本地NFS、本地SMB和S3、EFS之间移动数据。
可以持续传输新数据。
Migration Hub
在一个位置监控DMS、SMS或AWS合作伙伴解决方案中的应用程序迁移进度。
AWS Snowball Edge
与S3兼容,并支持运行Lambda函数和EC2实例。
可通过NFS或S3 API为本地应用提供存储。提供TPM硬件加密,通过KMS管理密钥。
- Storage Optimized存储优化:24 vCPU,100TB磁盘,1TB SSD。
适合运行IoT数据聚合和转换等通用分析。 - Compute Optimized计算优化:52vCPU,可选GPU,42TB磁盘,7.68TBNVMe。
适合运行高分辨率视频处理、高级物联网数据分析及弱网环境下的机器学习模型优化。