1. 总结

* WS的服务和技术繁多,选择适合自己的方向,而不是什么都去学
* AWS的学习资源异常丰富,包括视频、免费文档、在线实验、社区以及专家课程(收费)
* AWS的考试包括助理级和专家级,并且分别针对架构师、开发与运维人员
* 助理架构师考试主要针对:设计、实施部署、数据安全、故障排除等4个方面进行考核
* AWS的架构师考试重点需要掌握7大“云设计架构”如:弹性原则、最小授权原则等等,熟悉这些非常有助于答题(就好比当初考车的文科一样,是有规律可循的)
* 多动手非常有助于通过考试,同时也是熟练掌握的不二法宝
* 助理架构师考试,建议考生拥有6个月AWS实战经验
* 专家级架构师考试,建议考生拥有2年的实战经验
<>2. 概述

<>2.1 AWS的服务列表概览



<>2.2 需要确定好自己的定位与方向

包括三个维度: 
- 什么行业 
– (移动?视频?互联网?企业?金融?) 
- 解决什么问题 
– 大规模分发?大数据?混合网络? 
- 使用哪些服务 
– 虚拟主机?虚拟网络和安全?hadoop集群?数据仓库?

<>2.3 学习方法是以赛代练(步步实践,边学边用)

* 首先【观看自学视频】
* 然后听取【在线课堂】
* 理论差不多有,开始【动手实验室】(15个免费实验)
* 深入了解需要【详细查看文档】建议至少先从FAQ阅读,可以缩短很长时间
* 利用【免费AWS套餐】注意平时的理解和学习
* 再进行高级实验
* 需要了解各个服务之间的关联等,【听取讲师指导课程】,就可以高层次的了解服务内容
* 参加认证考试


<>2.4 AWS导师课程分类和级别

* 人员分类:解决方案师、开发人员、系统操作人员
* 课程分类:入门级、基础级、高级、专项


<>3. AWS认证的背景信息

<>3.1 认证的类型

* 助理级 
– 助理架构师 
– 助理开发人员 
– 助理系统管理员
* 专家级 
– 专家架构师 
– 专家开发运维
认证共有5个,如果要参加专家级认证必须先通过助理级认证,其中“专家开发运维(devops)”的认证则通过任意(开发 or 运维)的助理级认证即可



<>3.2 获得认证后的收益?

* 对个人 
– 可以证明个人在AWS平台上具备设计、部署和管理高可用、低成本、安全应用的能力 
– 在工作上或社区中得到尊重和认可 
– 可以把认证放到简历中,linkedin中整合了AWS认证徽章
* 对企业雇主 
– 具备AWS上服务和工具的使用的认可 
– 客户认可,降低AWS项目实施风险 
– 增加客户满意度
<>3.3 再认证模式

因为AWS的服务在更新,因此每两年要重新认证(证件的有效期2年),再次参加考试时,题目、时间将会更少,且认证费用更低

<>3.4 助理架构师认证的知识领域

四大知识域

1 设计:高可用、高效率、可容错低、可扩展的系统 
2 实施和部署:强调部署操作能力 
3 数据安全性:在部署操作时,始终保持数据保存和传输的安全 
4 排除故障:在系统出现问题时,可以快速找到问题并解决问题

知识权重 
- 设计:60%的题目 
- 实施和部署:10%的题目 
- 数据安全:20%的题目 
- 排除故障:10%的题目

PS:考试不会按照上面的次序、考试不会注明考试题目的分类

<>3.5 认证过程

* 需要在网上注册,找到距离家里比较近的地方考试(考点)
* 到了现场需要携带身份证,证明自己 
* 并不允许带手机入场
* 证件上必须有照片
* 签署NDA保证不会泄露考题
* 考试中心的电脑中考试(80分钟,55个考题)
* 考试后马上知道分数和是否通过(不会看到每道题目是否正确)
* 通过后的成绩、认证证书等将发到email邮箱中
<>3.6 考试机制

* 助理级别考试的重点是:单一服务和小规模的组合服务的掌握程度
* 所有题目都是选择题(多选或单选)
* 不惩罚打错,所以留白没意义,可以猜一个
* 55道题
* 可以给不确定的题目打标签,没提交前都可以回来改答案
<>3.7 题目示例

* 单选题


* 多选题(会告诉你有多少个答案)


* 汇总查看答案以及mark(标记)


<>4 AWS架构的7大设计原则

<>4.1 松耦合

* 松耦合是容错、运维自动扩容的基础,在设计上应该尽量减少模块间的依赖性,将不会成为未来应用调整、发展的阻碍


松耦合模式的情况

* 不要标示(依赖)特定对象,依赖特定对象耦合性将非常高 
– 使用负载均衡器 
– 域名解析 
– 弹性IP 
– 可以动态找到配合的对象,为松耦合带来方便,为应用将来的扩展带来好处
* 不要依赖其他模块的正确处理或及时的处理 
– 使用尽量使用异步的处理,而不是同步的(SQS可以帮到用户)


<>4.2 模块出错后工作不会有问题

* 问问某个模块出了问题,应用会怎么样?
* 在设计的时候,在出了问题会有影响的模块,进行处理,建立自动恢复性


<>4.3 实现弹性

* 在设计上,不要假定模块是正常的、始终不变的 
– 可以配合AutoScaling、EIP和可用区AZ来满足
* 允许模块的失败重启 
– 无状态设计比有状态设计好 
– 使用ELB、云监控去检测“实例”运行状态
* 有引导参数的实例(实现自动配置) 
– 例如:加入user data在启动的时候,告知它应该做的事情
* 在关闭实例的时候,保存其配置和个性化 
– 例如用DynamoDB保存session信息
* 弹性后就不会为了超配资源而浪费钱了


<>4.4 安全是整体的事,需要在每个层面综合考虑

* 基础架构层
* 计算/网络架构层
* 数据层
* 应用层


<>4.5 最小授权原则

* 只付于操作者完成工作的必要权限
* 所有用户的操作必须授权
* 三种类型的权限能操作AWS 
– 主账户 
– IAM用户 
– 授权服务(主要是开发的app)


<>5 设计:高可用、高效率、可容错、可扩展的系统

本部分的目标是设计出高可用、高效率低成本、可容错、可扩展的系统架构 
- 高可用 
– 了解AWS服务自身的高可靠性(例如弹性负载均衡)—-因为ELB是可以多AZ部署的 
– 用好这些服务可以减少可用性的后顾之忧 
- 高效率(低成本) 
– 了解自己的容量需求,避免超额分配 
– 利用不同的价格策略,例如:使用预留实例 
– 尽量使用AWS的托管服务(如SNS、SQS) 
- 可容错 
– 了解HA和容错的区别 
– 如果说HA是结果,那么容错则是保障HA的一个重要策略 
– HA强调系统不要出问题,而容错是在系统出了问题后尽量不要影响业务 
- 可扩展性 
– 需要了解AWS哪些服务自身就可以扩展,例如SQS、ELB 
– 了解自动伸缩组(AS)

运用好 AWS 7大架构设计原则的:松耦合、实现弹性

<>6 实施和部署设计

本部分的在设计的基础上找到合适的工具来实现

* 对比第一部分“设计”,第一章主要针对用什么,而第二章则讨论怎么用
* 主要考核AWS云的核心的服务目录和核心服务,包括:
* 计算机和网络 
– EC2、VPC
* 存储和内容分发 
– S3、Glacier
* 数据库相关分类 
– RDS
* 部署和管理服务 
– CloudFormation、CloudWatch、IAM
* 应用服务 
– SQS、SNS
<>7 数据安全

数据安全的基础,是AWS责任共担的安全模型模型,必须要读懂 
数据安全包括4个层面:基础设施层、计算/网络层、数据层、应用层 
- 基础设施层 
1. 基础硬件安全 
2. 授权访问、流程等 
- 计算/网络层 
1. 主要靠VPC保障网络(防护、路由、网络隔离、易管理) 
2. 认识安全组和NACLs以及他们的差别

* 安全组比ACL多一点,安全组可以针对其他安全组,ACL只能针对IP
* 安全组只允许统一,ACL可以设置拒绝
* 安全组有状态!很重要(只要一条入站规则通过,那么出站也可以自动通过),ACL没有状态(必须分别指定出站、入站规则)
* 安全组的工作的对象是网卡(实例)、ACL工作的对象是子网
*
认识4种网关,以及他们的差别

* 共有4种网关,支撑流量进出VPC
* internet gatway:互联网的访问
* virtual private gateway:负责VPN的访问
* direct connect:负责企业直连网络的访问
* vpc peering:负责VPC的peering的访问
* 数据层
*
数据传输安全 
– 进入和出AWS的安全 
– AWS内部传输安全

* 通过https访问API
* 链路的安全 
– 通过SSL访问web 
– 通过IP加密访问VPN 
– 使用直连 
– 使用OFFLINE的导入导出
*
数据的持久化保存 
– 使用EBS 
– 使用S3访问

* 访问 
– 使用IAM策略 
– 使用bucket策略 
– 访问控制列表
* 临时授权 
– 使用签名的URL
* 加密 
– 服务器端加密 
– 客户端加密
* 应用层 
* 主要强调的是共担风险模型
* 多种类型的认证鉴权
* 给用户在应用层的保障建议 
– 选择一种认证鉴权机制(而不要不鉴权) 
– 用安全的密码和强安全策略 
– 保护你的OS(如打开防火墙) 
– 用强壮的角色来控制权限(RBAC)
*
判断AWS和用户分担的安全中的标志是,哪些是AWS可以控制的,那些不能,能的就是AWS负责,否则就是用户(举个例子:安全组的功能由AWS负责—是否生效,但是如何使用是用户负责—自己开放所有端口跟AWS无关)
AWS可以保障的 用户需要保障的
工具与服务 操作系统
物理内部流程安全 应用程序
物理基础设施 安全组
网络设施 虚拟化设施
  OS防火墙
  网络规则
  管理账号
<>8 故障排除

问题经常包括的类型: 
- EC2实例的连接性问题 
- 恢复EC2实例或EBS卷上的数据 
- 服务使用限制问题

<>8.1 EC2实例的连接性问题

* 经常会有多个原因造成无法连接
* 外部VPC到内部VPC的实例 
– 网关(IGW–internet网关、VPG–虚拟私有网关)的添加问题 
– 公司网络到VPC的路由规则设置问题 
– VPC各个子网间的路由表问题 
– 弹性IP和公有IP的问题 
– NACLs(网络访问规则) 
– 安全组 
– OS层面的防火墙
<>8.2 恢复EC2实例或EBS卷上的数据

* 注意EBS或EC2没有任何强绑定关系 
– EBS是可以从旧实例上分离的 
– 如有必要尽快做
* 将EBS卷挂载到新的、健康的实例上
* 执行流程可以针对恢复没有工作的启动卷(boot volume) 
– 将root卷分离出来 
– 像数据一样挂载到其他实例 
– 修复文件 
– 重新挂载到原来的实例中重新启动
<>8.3 服务使用限制问题

 

*

* AWS有很多软性限制 
– 例如AWS初始化的时候,每个类型的EBS实例最多启动20个
* 还有一些硬性限制例如 
– 每个账号最多拥有100个S3的bucket 
– ……
* 别的服务限制了当前服务 
– 例如无法启动新EC2实例,原因可能是EBS卷达到上限 
– Trusted Advisor这个工具可以根据服务水平的不同给出你一些限制的参考(从免费试用,到商业试用,和企业试用的建议)
* 常见的软性限制 
 

* 公共的限制 
– 每个用户最多创建20个实例,或更少的实例类型 
– 每个区域最多5个弹性ip 
– 每个vpc最多100个安全组 
– 最多20个负载均衡 
– 最多20个自动伸缩组 
– 5000个EBS卷、10000个快照,4w的IOPS和总共20TB的磁盘 
– …更多则需要申请了 
* 你不需要记住限制 
– 知道限制,并保持数值敏感度就好 
– 日后遇到问题时可以排除掉软限制的相关的问题
<>9. 总结

<>9.1 认证的主要目标是:

* 确认架构师能否搜集需求,并且使用最佳实践,在AWS中构建出这个系统
* 是否能为应用的整个生命周期给出指导意见
<>9.2 希望架构师(助理或专家级)考试前的准备:

* 深度掌握至少1门高级别语言(c,c++,java等)
* 掌握AWS的三份白皮书 
– aws概览 
– aws安全流程 
– aws风险和应对 
– 云中的存储选项 
– aws的架构最佳实践
* 按照客户需求,使用AWS组件来部署混合系统的经验
* 使用AWS架构中心网站了解更多信息
<>9.3 经验方面的建议

* 助理架构师 
– 至少6个月的实际操作经验、在AWS中管理生产系统的经验 
– 学习过AWS的基本课程
* 专家架构师 
– 至少2年的实际操作经验、在AWS中管理多种不同种类的复杂生产系统的经验(多种服务、动态伸缩、高可用、重构或容错) 
– 在AWS中执行构建的能力,架构的高级概念能力
<>9.4 相关资源

* 认证学习的资源地址

- 可以自己练习,模拟考试需要付费的



* 接下来就去网上报名参加考试 

https://blog.csdn.net/qxk2001/article/details/51292402
<https://blog.csdn.net/qxk2001/article/details/51292402>

 

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:ixiaoyang8@qq.com
QQ群:637538335
关注微信