【AWS入门】通过VPC创建云上私有网络

目录

  • 创建VPC
  • 创建子网
  • 创建互联网网关
  • 创建NAT网关
  • 定义路由
    • 创建路由表
    • 添加路由
    • 关联子网
  • 创建EC2
    • 创建一个全流量的安全组
    • 创建EC2实例
      • 公有子网实例
      • 私有子网实例
  • 通过跳板访问到私有子网下的EC2实例
  • 通过endpoint在私网中访问到公有服务S3

创建VPC

【AWS入门】通过VPC创建云上私有网络_第1张图片
VPC创建好后会自动为我们创建一条默认路由,VPC当中子网内的所有的资源都可以通过这条主路由进行私网地址的访问。
【AWS入门】通过VPC创建云上私有网络_第2张图片

创建子网

分别创建三个子网,公有子网subnet-public,私有子网subnet-private,私有子网但是可以访问互联网subnet-private-access-web

需要注意的是,此处的VPC应选择上一步中创建好的VPC
【AWS入门】通过VPC创建云上私有网络_第3张图片【AWS入门】通过VPC创建云上私有网络_第4张图片

创建互联网网关

【AWS入门】通过VPC创建云上私有网络_第5张图片
查看创建好的互联网网关,状态为Detached
【AWS入门】通过VPC创建云上私有网络_第6张图片
需要将该互联网网关与上述步骤创建的VPC进行关联
【AWS入门】通过VPC创建云上私有网络_第7张图片
【AWS入门】通过VPC创建云上私有网络_第8张图片
关联后,状态变为Attached
【AWS入门】通过VPC创建云上私有网络_第9张图片

创建NAT网关

子网要选择公有子网
连接类型为公有
【AWS入门】通过VPC创建云上私有网络_第10张图片

定义路由

创建路由表

需要定义2个路由表,一个是为共有子网使用的,一个是为私有子网可上网的那个子网使用的
公有子网
【AWS入门】通过VPC创建云上私有网络_第11张图片

私有子网(可访问外部网络)
【AWS入门】通过VPC创建云上私有网络_第12张图片
私有子网
【AWS入门】通过VPC创建云上私有网络_第13张图片

添加路由

公有子网
【AWS入门】通过VPC创建云上私有网络_第14张图片
添加一条路由,让想上互联网的地址通过这条路由走到igw
补充:VPC的内部资源想通过私网地址访问的话走的是10.0.0.0/16
【AWS入门】通过VPC创建云上私有网络_第15张图片
私有子网(可访问外部网络)
【AWS入门】通过VPC创建云上私有网络_第16张图片
【AWS入门】通过VPC创建云上私有网络_第17张图片

关联子网

公有子网
【AWS入门】通过VPC创建云上私有网络_第18张图片
到这步为止就实现了路由与公有子网的关联
【AWS入门】通过VPC创建云上私有网络_第19张图片
私有子网(可访问外部网络)
【AWS入门】通过VPC创建云上私有网络_第20张图片
【AWS入门】通过VPC创建云上私有网络_第21张图片
私有子网
【AWS入门】通过VPC创建云上私有网络_第22张图片
【AWS入门】通过VPC创建云上私有网络_第23张图片

到此为止我们就创建好了一个VPC,包括三个子网,互联网网关,NAT网关,添加了两个路由条目,此时,我们可以在公有子网中部署我们的web服务器,在可上网的私有子网中部署我们的应用程序服务器,在私有子网中部署我们的数据库服务器,如果这三个服务器想通过内网地址访问的话,它走的就是我们这个主路由表,也就是默认路由10.0.0.0/16(创建VPC自动为我们创建的路由),目标指向local的这个路由,如果说公有子网中的服务器想去访问互联网的话,它走的是0.0.0.0/0 指向igw的那个路由条目,如果私有子网想去访问互联网的话,它走的是0.0.0.0/0 指向igw的那个路由条目

创建EC2

创建一个全流量的安全组

【AWS入门】通过VPC创建云上私有网络_第24张图片

创建EC2实例

公有子网实例

要注意网络设置部分,VPC选择我们创建好的VPC,子网选择公有子网,安全组选择上一步骤中创建的全流量的安全组即可
【AWS入门】通过VPC创建云上私有网络_第25张图片
创建好的实例如下
在这里插入图片描述
为该EC2实例分配一个弹性IP地址
【AWS入门】通过VPC创建云上私有网络_第26张图片
在这里插入图片描述
【AWS入门】通过VPC创建云上私有网络_第27张图片

私有子网实例

【AWS入门】通过VPC创建云上私有网络_第28张图片

通过跳板访问到私有子网下的EC2实例

在私有子网中创建的EC2实例,只有一个私有IP,即使给它分配一个公网IP,也是不能访问互联网的,而我们在公有子网中创建的EC2实例是可以通过互联网进行访问的,那如果我们想连接到私有子网中的EC2实例,应该怎么做呢,我们可以将公有子网中的EC2实例作为一个跳板机进行访问

将密钥对传到公有子网的EC2实例上
在这里插入图片描述

【AWS入门】通过VPC创建云上私有网络_第29张图片

确认私有子网中的 EC2实例的私有IP地址,用ssh进行连接
【AWS入门】通过VPC创建云上私有网络_第30张图片

[root@ip-10-0-0-223 ~]# vim key-seoul-new.pem
[root@ip-10-0-0-223 ~]# chmod 400 key-seoul-new.pem
[root@ip-10-0-0-223 ~]# ssh -i key-seoul-new.pem [email protected]
The authenticity of host '10.0.2.106 (10.0.2.106)' can't be established.
ED25519 key fingerprint is SHA256:FHymk7XVQtPcePlRB8j1tEHIQKiGA1JmLhyRH4nqwdY.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '10.0.2.106' (ED25519) to the list of known hosts.
   ,     #_
   ~\_  ####_        Amazon Linux 2023
  ~~  \_#####\
  ~~     \###|
  ~~       \#/ ___   https://aws.amazon.com/linux/amazon-linux-2023
   ~~       V~' '->
    ~~~         /
      ~~._.   _/
         _/ _/
       _/m/'
[ec2-user@ip-10-0-2-106 ~]$

通过endpoint在私网中访问到公有服务S3

EC2想要访问S3,必须有两个条件,第一个就是网络可达,EC2可以通过网络访问到S3的服务,另外一个就是EC2有相应的访问S3的权限
为EC2赋予访问S3权限的角色

公有子网中的EC2实例可以访问到外部网络
【AWS入门】通过VPC创建云上私有网络_第31张图片
私有子网中的EC2实例是访问不了外部网络以及公共服务S3的
【AWS入门】通过VPC创建云上私有网络_第32张图片

创建终端节点
【AWS入门】通过VPC创建云上私有网络_第33张图片

路由表选择rtb-private
【AWS入门】通过VPC创建云上私有网络_第34张图片

创建终端节点之后再次访问公共访问S3既可以访问
【AWS入门】通过VPC创建云上私有网络_第35张图片
在终端节点上也可以添加存储桶策略,使得只允许委托者访问某个存储桶
仅允许委托者访问"arn:aws:s3:::s3-logo-0307"存储桶的List*,DeleteObject,GetObject权限
【AWS入门】通过VPC创建云上私有网络_第36张图片

{
	"Version": "2012-10-17",
	"Id": "Policy1680423453373",
	"Statement": [
		{
			"Sid": "Stmt1680423447384",
			"Effect": "Allow",
			"Principal": "*",
			"Action": [
				"s3:DeleteObject",
				"s3:GetObject",
				"s3:List*"
			],
			"Resource": "arn:aws:s3:::s3-logo-0307"
		}
	]
}

在这里插入图片描述

你可能感兴趣的:(网络,aws)