【总结】学习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(推送通知服务)

【总结】学习AWS的VPC并通过快速上手实验室动手实操

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的VPC并通过快速上手实验室动手实操

  • 与应用场景高度相关的动手实验内容,即学即用 
    • 实验练习针对服务(包括入门级、基础级、高级级、专家级)
    • 挑战任务针对场景(主要是按照业务场景需要,重新组合实验练习的用例)

【总结】学习AWS的VPC并通过快速上手实验室动手实操

【总结】学习AWS的VPC并通过快速上手实验室动手实操

  • 详尽实验指导,包括 
    • 实验详细指导步骤(涵盖的主题说明、相关的AWS服务进行简单讲解、具体的操作步骤)
    • 命令行参考文件(如policy配置)
    • 实验练习的详细资料

【总结】学习AWS的VPC并通过快速上手实验室动手实操

  • 比阅读海量文档更快速、精确、有效
  • 无需AWS中国区账号直接在AWS平台上动手练习
  • 多样化的虚席挑战任务,完成获得实验勋章
  • 不会破坏生产环境

【总结】学习AWS的VPC并通过快速上手实验室动手实操

3.VPC的基础知识

3.1.VPC的概念

  • VPC的定义:Virtual Private Cloud—云网络,是一个在AWS方便用户灵活定义自己网络的工具
  • 传统数据中心跟网络相关的内容包括: 
    • 防火墙(阻挡互联网威胁,前端和后端服务的保护) 
      【总结】学习AWS的VPC并通过快速上手实验室动手实操
    • 公有子网(部署负载均衡器、路由器等)
    • 私有子网(部署网络前端、应用服务器、数据库服务器等) 
      【总结】学习AWS的VPC并通过快速上手实验室动手实操
  • 在VPC中定义传统网络架构 
    • 安全组
    • 公有子网
    • 私有子网
    • 多可用区(AZ)部署

【总结】学习AWS的VPC并通过快速上手实验室动手实操

VPC就是网络

  • VPC中的CIDR网络: 
    • 10.1.2.0/24 → 10.1.2.0/255.255.255.0 约 250个IP地址
  • VPC中的子网: 
    • 配置路由的单位
  • 路由和网关 
    • 缺省配置是VPC内路由直通(无法通过设置阻止同一VPC中的实例路由不可达)
    • 互联网网关(igw)—定义了igw网关的子网是公有子网,否则就是私有子网。公有子网内的EC2实例,可以直接访问互联网主机,以及被互联网的其他主机访问 
      【总结】学习AWS的VPC并通过快速上手实验室动手实操
    • NAT服务器—私有子网的EC2实例无法访问互联网以及被访问。如果要出外网,则需要将公有子网内的EC2设置为NAT服务器出外网。AWS自己提供了NAT Gateway服务,不用用户自己设置NAT实例了 
      【总结】学习AWS的VPC并通过快速上手实验室动手实操
    • v*n(vgw)—如果AWS需要与客户本地IDC互通,则需要申请一个vgw网关用于v*n连接 
      【总结】学习AWS的VPC并通过快速上手实验室动手实操

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 
【总结】学习AWS的VPC并通过快速上手实验室动手实操

1.定义一个VPC(公有子网) 
【总结】学习AWS的VPC并通过快速上手实验室动手实操

2.在其中一个AZ中定义一个子网 
【总结】学习AWS的VPC并通过快速上手实验室动手实操

【总结】学习AWS的VPC并通过快速上手实验室动手实操

3.设计DNS Server

  • 如果启用DNS解析,则需要指定一个DNS主机,这样EC2实例就自动使用这个DNS
  • 否则就使用AWS提供的router53作为DNS

【总结】学习AWS的VPC并通过快速上手实验室动手实操

【总结】学习AWS的VPC并通过快速上手实验室动手实操

4.思考Gateway的设置

  • 因为一开始定义了公有子网,则系统会自动生成igw,并将其绑定给vpc的公有子网使用

【总结】学习AWS的VPC并通过快速上手实验室动手实操

【总结】学习AWS的VPC并通过快速上手实验室动手实操

5.思考路由表Router的设置

  • 之前提到子网是定义路由表的工具,但是1个路由表可以给多个子网使用
  • 一个VPC中有多个路由表,会有1个主路由表和多个非主路由表
  • 主路由表无法被删除的,AWS默认创建的,如果一个子网没有设置路由表或路由表被删除,那么默认就使用主路由表
  • 默认VPC的路由表的第一条router规则就是指向自身,如10.1.2.0、local,且无法被删除 )

【总结】学习AWS的VPC并通过快速上手实验室动手实操

【总结】学习AWS的VPC并通过快速上手实验室动手实操

6.安全组的设计考虑

  • 上行(入站)只开放必要端口
  • 下行(出站)亦是
  • 通过安全组标识服务器组(如DB安全组、WEB安全组等)

【总结】学习AWS的VPC并通过快速上手实验室动手实操

【总结】学习AWS的VPC并通过快速上手实验室动手实操

7.创建EC2实例,在这个VPC中,并使用设计好的安全组

【总结】学习AWS的VPC并通过快速上手实验室动手实操

【总结】学习AWS的VPC并通过快速上手实验室动手实操

8.为EC2实例绑定EIP

  • 虽然EC2的实例跑在公有子网中,但是由于没有固定的公有IP地址,因此只能通过AWS的域名访问,而如果想自己解析IP就会有问题(如重启VM后IP变化等)这是就需要创建一个弹性IP(AWS固定的公有IP)给EC2实例使用

【总结】学习AWS的VPC并通过快速上手实验室动手实操

【总结】学习AWS的VPC并通过快速上手实验室动手实操

9.删除VPC

  • VPC要删除必须保证没有EC2实例在这个VPC下面的子网中

【总结】学习AWS的VPC并通过快速上手实验室动手实操

【总结】学习AWS的VPC并通过快速上手实验室动手实操

4.VPC总结

  1. 构建网络的服务
  2. 安全的基石
  3. 架构的利器

后续问题

  • 集成内部DNS服务 
    • 可以自定义DNS记录吗?
  • 多样的网管可能,可配置的路由选项 
    • 怎么连接到企业内部网络?
    • CIDR设定需要考虑什么?
  • 灵活的安全功能 
    • 怎么设置防火墙?
  • 多网卡和多IP 
    • 需要给软件狗绑定MAC,怎么破?
    • 需要固定IP地址,有解吗?

以上这些就要参加AWS的讲师指导课程了……