全文共2834字,预计学习时长6分钟

aws有效的支持级别(不了解云端服务)(1)

图片来源:https://pixabay.com/illustrations/network-ear

作为开发人员,基本上其所有的注意力都集中于开发产品。不过一旦完成开发,还需要将该应用程序放在互联网平台上,提供给大众使用。

如果在团队中工作,这个过程就不是问题,运营部有人会处理这项任务。

但是,如果你是独自一人,或者初次使用云端,这项工作可能会引起很多困惑。毕竟存在着很多此前不知道的术语。因此,本文将特别讨论非常受欢迎的AWS。

aws有效的支持级别(不了解云端服务)(2)

让应用程序在AWS Cloud中运行

要在AWS云端启动并运行应用程序,至少需要了解AWS资源中的两件事:弹性计算云(EC2)和虚拟私有云 (VPC)。

EC2

EC2是一个虚拟计算环境。它与现在手中的笔记本电脑大致相同。

VPC

概述为:通过亚马逊虚拟私人云端Amazon Virtual Private Cloud(Amazon VPC)配置AWS Cloud的逻辑隔离部分,可以在其中启动所定义虚拟网络中的AWS资源。

或者,简单地说,VPC允许你从网络角度管理AWS资源。

本文将解释组成VPC的构建块,同时提供每个组件的解释。

本文假设读者已经知道IP地址基本上的操作方式以及公共和私有IP之间的区别,因此不会介绍有关网络的所有内容。

在结尾,本文会介绍一个正在运行的EC2实例,通过SSH连接以证明它可以从Internet访问。

默认情况下,AWS在创建帐户后已在每个区域为用户提供默认VPC。虽然这些默认VPC将满足大多数需求,但仍需要了解它的工作原理。

aws有效的支持级别(不了解云端服务)(3)

创建一个 VPC

aws有效的支持级别(不了解云端服务)(4)

在此将它命名为vpc-quickstart。

什么是IPv4 CIDR块?

它是无类别域间路由 (Classless Inter-Domain Routing) 的缩写。

这就是要指定IP范围的方式。

符号是<ip notation> / <number>。

先以10.0.0.0/16为例。

这里的重要部分是数字16。这就决定了IP范围。

这里的IP是IPv4。它由32位组成,每次按8位(八位位组)分组,用点分隔。因此,如果进行转换,例如,一个255.255.255.255的IP地址,将获得二进制格式的11111111.11111111.11111111.11111111。

如果不知道如何阅读二进制数字,建议先进行学习。

在示例10.0.0.0中,将获得00001010.00000000.00000000.00000000。

然后有数字16,它作为一个掩码,从左到右用数字“1”表示,形成一个IP地址格式。结果是11111111.11111111.00000000.00000000。

可以在网络内使用掩码上有0的位置。这意味着,如果将最后两个八位字节中的所有剩余位用于网络,如果掩码为24或11111111.11111111.11111111.00000000,则只获取最后一个八位字节。

因此,IP范围将是00001010.00000000.00000000.00000000至00001010.00000000.11111111.11111111,或小数位10.0.0.0至10.0.255.255。

aws有效的支持级别(不了解云端服务)(5)

互联网网关

顾名思义,为了使VPC能够访问互联网,就必须将其连接上互联网的网关。下面将创建一个互联网网关,并将其命名为igw-quickstart:

aws有效的支持级别(不了解云端服务)(6)

子网

子网是网络的逻辑组,根据要求而异。

子网可把网络分成更小的部分。把它想象成一个巨大的建筑中的网络,有100个不同的公司和100个部门,每个部门都各有网络组。

子网的示例是从192.168.1.1到192.168.1.255的范围。

还必须为每个子网指定CIDR块。

下面将创建三个子网,public1 public2和private1,因为将创建两个公共子网和一个私有子网。

公共子网意味着子网可以访问互联网,而私有子网则无法访问互联网。将在稍后解释如何做到这一点。

先创建一个子网,其中包含之前创建的一些VPC。

aws有效的支持级别(不了解云端服务)(7)

请注意,这次指定掩码“24”。

转换为二进制的24掩码是11111111.11111111.11111111.00000000。因此,前三个八位字节已经保留,唯一的空间是最后一个八位字节。

因此,如果平均创建子网,最终会得到10.0.<0-255>。*子网。

aws有效的支持级别(不了解云端服务)(8)

网络访问控制列表 (NACL)

NACL允许用户指定网络的入站和出站流量规则。

入站意味着进入的流量,而出站意味着流出的流量。

可以根据协议类型(如HTTP,TCP,UDP等)和端口号为网络设置任何规则。

由最低到最高给每个规则一个数字。

创建一个并将其命名为ACL-Quickstart。

aws有效的支持级别(不了解云端服务)(9)

默认情况下,允许所有流量。为了本课程的目的,在此保持原样。但是,建议大家不要在生产环境中这样做。

在“子网关联选项卡”中,单击“编辑子网关联”并添加之前创建的子网。

aws有效的支持级别(不了解云端服务)(10)

路由表

这类似于应用程序中的路由。例如,如果IP目标是10.0.0.14,那么将其路由到service-a,就这么简单。

创建两个路由表,将其命名为RT1和RT2。

对于RT1,打开“路线选项卡”,然后单击“编辑路线”。添加目标为0.0.0.0/0的路由,目标是刚创建的互联网网关。

这意味着0.0.0.0/0将其他流量引导到互联网网关,以便它可以访问互联网。单击“保存路由”,然后转到“子网关联选项卡”。

单击“编辑子网关联”并添加之前创建的名为public1和public2的两个子网。

这就是如何使子网公开;将它与一个路由表关联,该路由表的目的地是互联网网关。

对于RT2,对其进行编辑,使其与子网private1相关联,以使其成为私有子网。

aws有效的支持级别(不了解云端服务)(11)

aws有效的支持级别(不了解云端服务)(12)

启动EC2实例

最后,测试一下网络是否正常运行。

启动EC2实例 - 使用“t2.micro”实例类型,因为它符合免费方案资格。

转到步骤#3配置实例。这是配置实例将要使用的网络的地方。

aws有效的支持级别(不了解云端服务)(13)

选择VPC和刚刚创建的其中一个公共子网。然后,转到步骤#6配置安全组并启用自动分配公共IP。

aws有效的支持级别(不了解云端服务)(14)

安全组

安全组允许用户实例级别配置入站和出站流量,而NACL处于网络级别。

aws有效的支持级别(不了解云端服务)(15)

这次,只允许来自所有传入IP源的端口22的SSH连接。

单击“查看并启动”并启动实例,但不要忘记下载密钥对 - 该实例将需要一些时间来配置。

完成后,使用SSH连接到它。单击实例,然后单击表顶部的“连接”。它将提供使用SSH连接的说明。

aws有效的支持级别(不了解云端服务)(16)

按照说明操作然后...成功啦!

aws有效的支持级别(不了解云端服务)(17)

SSH连接到EC2实例。

现在有了一个连接到互联网的EC2实例,而且还知道它的每个步骤。

在此之后,可以通过向安全组添加更多规则以打开HTTP端口80,轻松安装应用程序并通过浏览器访问它。

还有很多有关VPC的信息值得去学习,试试更改所创建的配置并查看会发生什么,例如从路由表中删除互联网网关,更改NACL中的规则,等等。

aws有效的支持级别(不了解云端服务)(18)

留言 点赞 关注

我们一起分享AI学习与发展的干货

,