【总结】学习AWS的VPC并通过快速上手实验室动手实操
原文地址:http://blog.****.net/QXK2001/article/details/51464808
讲师:黄涛 高级技术讲师
1.邱洋的理解
- AWS的服务类型包括
- 计算、存储内容分发、联网、数据库等10多大类,几十项服务
- 但是跟网络相关只有2个(VPC和数据中心光纤连接)
- AWS的VPC是云计算中网络运维的基石,是SDN能力的体现
- VPC是一整套模拟传统网络运维的工具,包括:
- 子网
- DHCP
- 防火墙(安全组)
- 路由表(NACL)
- DNS
- 网关
- v*n等众多功能
- AWS的快速上手实验室,模式值得学习,包括:
- 实验概述说明
- 实验具体操作步骤文档(如按照服务的生命周期维度进行设计:创建、修改、删除1.2.3.4)
- 实验相关文件附件(如CFN的json)
- 自动开通的AWS测试账号
- 针对不同级别级别用户的练习(如基础、高级、专家等)
- 针对客户实际业务场景的练习(如大数据、移动开发)
2.AWS的服务学习方法
2.1.AWS的云服务列表overview
- 计算
- EC2(云中的虚拟服务器)
- EC2 Contrainer Service(运行和管理docker容器)
- Elastic Beanstalk(运行和管理web应用程序)
- Lambda(事件驱动的计算服务)
- 存储和内容分发
- S3(可扩展的云存储)
- CloudFront(全球内容分发网络CDN)
- Elastic File System(针对EC2完全托管的文件系统)
- Glacier(云中的归档存储-虚拟带库)
- Import/Export Snowball(大规模数据传递的硬件)
- Sotrage Gateway(混合存储集成)
- 分析
- Elastic MapReduce(Hadoop托管框架)
- Kinesis(实时处理流媒体传输)
- 联网
- VPC(隔离的云网络)
- Direct Connect(AWS专用网络连接)
- 数据库
- RDS(管理型关系数据库服务)
- DynamoDB(可预见,可扩展,全托管的NoSQL数据库)
- RedShift(托管的数据仓库)
- ElasticCache(内存缓存)
- 应用程序服务
- API Gateway(构建、部署和管理API)
- AppStream(低延迟的应用程序流)
- CloudSearch(管理型搜索服务)
- SQS(消息队列服务)
- SWF(协调应用程序组件的工作流服务)
- 开发人员工具
- CodeCommit(在私有Git存储库中存储代码)
- CodeDeploy(自动代码部署)
- CodePipeline(使用持续交付发布软件)
- 管理工具
- CloudWatch(监控资源和应用程序)
- CloudFormation(使用模板创建和管理资源)
- CloudTrail(跟踪用户活动和API使用)
- Config(跟踪资源库存和变更)
- OpsWorks(用Chef自动化操作)
- Service Catlog(创建和使用标准化的产品)
- Trusted Advisor(优化性能和安全)
- 安全&身份
- IAM(管理用户访问和加***)
- 物联网
- AWS IoT(将设备连接到云)
- 游戏开发
- GameLift(部署和扩展基于会话的多人游戏)
- 移动服务
- Mobile Hub(构建、测试和监控移动应用)
- Cognito(用户身份和应用程序数据库同步)??
- Device Farm(在云中的真实设备上测试android、ios应用)
- SNS(推送通知服务)
2.2.AWS的服务学习路径
1.自学视频
2.在线课程 or AWSome Day(线下公开课)
3.快速上手实验室 china.qwiklab.com
4.服务文档 or FAQ
5.AWS免费套餐(动手操作)
6.原厂培训(20人以内小课堂培训)
7.参加AWS的认证(不一定参加过培训)
2.3.AWS快速上手实验室
- 与应用场景高度相关的动手实验内容,即学即用
- 实验练习针对服务(包括入门级、基础级、高级级、专家级)
- 挑战任务针对场景(主要是按照业务场景需要,重新组合实验练习的用例)
- 详尽实验指导,包括
- 实验详细指导步骤(涵盖的主题说明、相关的AWS服务进行简单讲解、具体的操作步骤)
- 命令行参考文件(如policy配置)
- 实验练习的详细资料
- 比阅读海量文档更快速、精确、有效
- 无需AWS中国区账号直接在AWS平台上动手练习
- 多样化的虚席挑战任务,完成获得实验勋章
- 不会破坏生产环境
3.VPC的基础知识
3.1.VPC的概念
- VPC的定义:Virtual Private Cloud—云网络,是一个在AWS方便用户灵活定义自己网络的工具
- 传统数据中心跟网络相关的内容包括:
- 防火墙(阻挡互联网威胁,前端和后端服务的保护)
- 公有子网(部署负载均衡器、路由器等)
- 私有子网(部署网络前端、应用服务器、数据库服务器等)
- 防火墙(阻挡互联网威胁,前端和后端服务的保护)
- 在VPC中定义传统网络架构
- 安全组
- 公有子网
- 私有子网
- 多可用区(AZ)部署
VPC就是网络
- VPC中的CIDR网络:
- 10.1.2.0/24 → 10.1.2.0/255.255.255.0 约 250个IP地址
- VPC中的子网:
- 配置路由的单位
- 路由和网关
- 缺省配置是VPC内路由直通(无法通过设置阻止同一VPC中的实例路由不可达)
- 互联网网关(igw)—定义了igw网关的子网是公有子网,否则就是私有子网。公有子网内的EC2实例,可以直接访问互联网主机,以及被互联网的其他主机访问
- NAT服务器—私有子网的EC2实例无法访问互联网以及被访问。如果要出外网,则需要将公有子网内的EC2设置为NAT服务器出外网。
AWS自己提供了NAT Gateway服务,不用用户自己设置NAT实例了
- v*n(vgw)—如果AWS需要与客户本地IDC互通,则需要申请一个vgw网关用于v*n连接
VPC是安全的基础
-
VPC相当于一个篱笆,清晰的隔离和内联
- VPC隔开不同用户的资源,同一用户不同逻辑也可隔开
- VPC内的资源保证了互联互通的能力
-
网络访问控制NACL(防火墙type1)
- 保护整个子网的防火墙
- 进出子网的流量归他管,但是子网内部的流量不归他管
-
安全组(防火墙type2)
- 精确到每个虚拟网卡的防火墙控制
- 既是安全控制,也是安全身份标识(因为可以在安全组授权的时候,开放另一个安全组到这个安全组的特定端口)
VPC是架构工具
- EC2、RDS在布局的时候怎么选择AZ?
- 子网映射隐藏了AZ的选择
- VPC可以覆盖整个区域,但子网必然属于一个VPC(这就是为什么经常看到AWS设计的时候一个VPC中对应DB、WEB、APP等应用都规划2个子网,因为HA架构需要在不同的AZ部署)
- VPC定义完整后,资源只要“放入”子网即可
- 安全组是安全架构的重要部分
- 使用安全组搭建信任链
- 勾画出模块间的安全关系
- 发现安全边界和可能的发生的权限提升
3.2.在AWS中创建一个VPC
最终希望达到的效果,创建一个VPC并在其中创建一个VM
1.定义一个VPC(公有子网)
2.在其中一个AZ中定义一个子网
3.设计DNS Server
- 如果启用DNS解析,则需要指定一个DNS主机,这样EC2实例就自动使用这个DNS
- 否则就使用AWS提供的router53作为DNS
4.思考Gateway的设置
- 因为一开始定义了公有子网,则系统会自动生成igw,并将其绑定给vpc的公有子网使用
5.思考路由表Router的设置
- 之前提到子网是定义路由表的工具,但是1个路由表可以给多个子网使用
- 一个VPC中有多个路由表,会有1个主路由表和多个非主路由表
- 主路由表无法被删除的,AWS默认创建的,如果一个子网没有设置路由表或路由表被删除,那么默认就使用主路由表
- 默认VPC的路由表的第一条router规则就是指向自身,如10.1.2.0、local,且无法被删除 )
6.安全组的设计考虑
- 上行(入站)只开放必要端口
- 下行(出站)亦是
- 通过安全组标识服务器组(如DB安全组、WEB安全组等)
7.创建EC2实例,在这个VPC中,并使用设计好的安全组
8.为EC2实例绑定EIP
- 虽然EC2的实例跑在公有子网中,但是由于没有固定的公有IP地址,因此只能通过AWS的域名访问,而如果想自己解析IP就会有问题(如重启VM后IP变化等)这是就需要创建一个弹性IP(AWS固定的公有IP)给EC2实例使用
9.删除VPC
- VPC要删除必须保证没有EC2实例在这个VPC下面的子网中
4.VPC总结
- 构建网络的服务
- 安全的基石
- 架构的利器
后续问题
- 集成内部DNS服务
- 可以自定义DNS记录吗?
- 多样的网管可能,可配置的路由选项
- 怎么连接到企业内部网络?
- CIDR设定需要考虑什么?
- 灵活的安全功能
- 怎么设置防火墙?
- 多网卡和多IP
- 需要给软件狗绑定MAC,怎么破?
- 需要固定IP地址,有解吗?
以上这些就要参加AWS的讲师指导课程了……