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

讲师:黄涛 高级技术讲师

1.邱洋的理解

  • AWS的服务类型包括
    • 计算、存储内容分发、联网、数据库等10多大类,几十项服务
    • 但是跟网络相关只有2个(VPC和数据中心光纤连接)
  • AWS的VPC是云计算中网络运维的基石,是SDN能力的体现
  • VPC是一整套模拟传统网络运维的工具,包括:
    • 子网
    • DHCP
    • 防火墙(安全组)
    • 路由表(NACL)
    • DNS
    • 网关
    • VPN等众多功能
  • 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(推送通知服务)

图1

2.2.AWS的服务学习路径

1.自学视频
2.在线课程 or AWSome Day(线下公开课)
3.快速上手实验室 china.qwiklab.com
4.服务文档 or FAQ
5.AWS免费套餐(动手操作)
6.原厂培训(20人以内小课堂培训)
7.参加AWS的认证(不一定参加过培训)

2.3.AWS快速上手实验室

图2

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

图3

图4

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

图5

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

图6

3.VPC的基础知识

3.1.VPC的概念

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

图9

VPC就是网络

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

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
图13

1.定义一个VPC(公有子网)
图14

2.在其中一个AZ中定义一个子网
图15

图16

3.设计DNS Server

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

图17

图18

4.思考Gateway的设置

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

图19

图20

5.思考路由表Router的设置

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

图21

图22

6.安全组的设计考虑

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

图23

图24

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

图25

图26

8.为EC2实例绑定EIP

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

图27

图28

9.删除VPC

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

图29

图30

4.VPC总结

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

后续问题

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

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

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要连接 AWS VPC,您可以使用 AWS 提供的 AWS SDK for Java。以下是一些步骤: 1. 首先,您需要在 AWS 控制台上创建一个 VPC,并在其中创建一个或多个子网。 2. 然后,您需要创建一个 Amazon EC2 实例,并确保该实例位于您创建的 VPC 中的某个子网中。 3. 接下来,您需要在您的 Java 项目中添加 AWS SDK for Java 依赖项。 4. 在您的 Java 代码中,您可以使用 AWS SDK for Java 提供的 AmazonEC2Client 类来连接您的 VPC。 5. 请确保在您的代码中使用正确的 AWS 访问密钥和密钥 ID。 以下是一个简单的示例代码,演示如何连接 AWS VPC: ``` import com.amazonaws.auth.AWSCredentials; import com.amazonaws.auth.AWSStaticCredentialsProvider; import com.amazonaws.auth.BasicAWSCredentials; import com.amazonaws.regions.Regions; import com.amazonaws.services.ec2.AmazonEC2; import com.amazonaws.services.ec2.AmazonEC2ClientBuilder; import com.amazonaws.services.ec2.model.DescribeVpcsRequest; import com.amazonaws.services.ec2.model.DescribeVpcsResult; import com.amazonaws.services.ec2.model.Vpc; public class AwsVpcConnectionExample { public static void main(String[] args) { // AWS 访问密钥和密钥 ID AWSCredentials credentials = new BasicAWSCredentials("ACCESS_KEY", "SECRET_KEY"); // 创建 AmazonEC2Client 实例 AmazonEC2 ec2 = AmazonEC2ClientBuilder.standard() .withCredentials(new AWSStaticCredentialsProvider(credentials)) .withRegion(Regions.US_WEST_2) .build(); // 查询 VPC DescribeVpcsRequest request = new DescribeVpcsRequest(); DescribeVpcsResult result = ec2.describeVpcs(request); for (Vpc vpc : result.getVpcs()) { System.out.println(vpc.getVpcId()); } } } ``` 在此示例中,我们使用 AWSStaticCredentialsProvider 类来提供 AWS 访问密钥和密钥 ID。我们还指定了 AWS 区域(在此示例中为 US_WEST_2)。最后,我们使用 describeVpcs 方法查询 VPC,并打印出每个 VPC 的 ID。 请注意,此示例仅用于演示如何连接 AWS VPC,并查询其中的 VPC。您可以根据自己的需求修改此示例。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值