written by
Just4test

AWS认证 Solutions Architect Professional 学习笔记

2 min read , December 29, 2019

花了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

使用STS生成临时安全凭证

使用联合登录访问控制台

  • 使用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

导入:

  1. 手动导出VM为 OVA、VMDK、VHD或RAW格式镜像文件。
  2. 将导出的镜像文件上传到S3
  3. 使用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。
    适合运行高分辨率视频处理、高级物联网数据分析及弱网环境下的机器学习模型优化。