演讲者:黄涛 AWS高级技术讲师 下载地址:MP4完整视频下载 1. 邱洋的总结- AWS的服务和技术繁多,选择适合自己的方向,而不是什么都去学
- 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 相关资源 - 可以自己练习,模拟考试需要付费的 - 接下来就去网上报名参加考试
|