AWS入门实践-如何在AWS云上创建一个内外网隔离的生产环境

在 AWS 上建立一个内外网分离的生产环境,可以减少应用服务的暴露面,有效的保证你的应用服务器的安全。通常我们会将web应用放在外网的子网内,数据库服务器等放在内网的子网。我们将按照下图来部署动手实践环境,实现在public subnet的EC2虚拟机可以直接通过互联网可以访问,在Private subnet的EC2虚拟机不能通过互联网直接访问,但是却可以在内部来访问互联网安装应用等等。

下面是动手实践详细的操作步骤:

如果没有AWS的实验账号,请大家参考下面链接免费申请:

想学习云计算么?教你如何免费白嫖微软和AWS的云资源一年_免费使用azure一年-CSDN博客

一、创建VPC

  1. 在AWS管理控制台中,找到并选择"VPC"服务。点击"创建VPC",输入VPC的名称,选择一个合适的IPv4 CIDR块。例如,10.0.0.0/16。然后选择右下角的 Create VPC按钮创建

二、配置互联网网关

创建互联网网关并将其附加到 VPC,以允许公有子网中的资源访问互联网。

选择mytest-vpc,附加网关

三、公共子网(用于Web服务器)

VPC内创建一个子网,选择之前创建的VPC,分配一个CIDR块,例如10.0.1.0/24

如下图:在AWS Console VPC的左边菜单栏,选择Subnets 菜单,然后在右上角选择Create Subnet

在Subnet创建的界面中,选择刚才创建的VPC mytest-vpc

输入子网的名称 public-subnet1, 子网CIDR 10.0.1.0/24,然后选择"create subnet"

四、私有子网(用于内部资源)

  • 重复创建子网的步骤来创建另一个子网,用于内部资源,选择相同的VPC,分配一个不同的CIDR块,例如10.0.2.0/24。创建完成后,我们有两个子网在VPC内

五、NAT 网关

在公有子网中创建 NAT 网关,以允许私有子网中的资源访问互联网。

如下图,选择public-subnet,然后分配IP地址,

六、配置路由表

创建两个路由表,一个用于公有子网,另一个用于私有子网。公有子网路由表应包含到互联网网关的路由,私有子网路由表应包含到 NAT 网关的路由。

1、创建public-subnet的路由表

在AWS Console 的VPC找到左侧菜单的Route Table 菜单项目,然后选择Create routes

路由表创建完毕后,选择Edit Route table,增加一条指向0.0.0.0/0的指向互联网的路由,如下图:

选择子网关联(Subnet associations)TAB页,然后选择 "Edit subnet associations"

在Available subnets 中选择public-subnet1,然后选择save associations

2、创建private-subnet的路由表

在AWS Console 的VPC找到左侧菜单的Route Table 菜单项目,然后选择Create routes

创建完毕后选择编辑路由表,然后增加一条指向互联网0.0.0.0/0的路由,Target选择NAT Gateway,然后选择保存,如下图:

创建路由表的子网关联,如下图:选择"Edit subnet associations" 按钮

在Available subnets选择 private-subnet1,如下图

七、分别在public subnet和private subnet 创建EC2虚拟机

1、在public subnet 创建EC2虚拟机

如下图:选择免费的t2.micro linux 实例.选择之前创建好的VPC,选择自动分配公有IP,

2、在Private subnet 创建EC2虚拟机

如下图:选择免费的t2.micro linux 实例.选择之前创建好的VPC,选择禁用自动分配公有IP,

  • 创建安全组以控制对 EC2 实例的入站和出站流量。
  • 为公有实例和私有实例创建单独的安全组。

八、访问两个不同的EC2进行测试

选择public subnet的EC2实例,通过Putty来访问EC2实例,是可以访问的。

由于Private subnet上的EC2实例只有私网地址,所以是无法直接通过Putty 通过internet直接访问的,我们在public subnet上的这台主机来访问 private subnet 上的EC2实例。

首先上传.pem 文件到 public subnet上的EC2 实例,然后用ssh 命令来访问

找到private subnet ec2实例的连接信息,如下图:

拷贝实例连接命令行:

结果如下图:登录到private subnet 的EC2虚拟机上在内部是可以访问internet的。

通过这种设置,公有 EC2 实例可以直接访问互联网,而私有实例则只能通过 NAT 网关访问互联网。所有对外的流量都必须经过公有实例(如 Web 服务器或负载均衡器)。这样可以增强安全性,因为私有实例不直接暴露在互联网上。

需要注意的是,还需要根据具体需求配置安全组规则、路由表以及其他 AWS 服务(如 RDS、ElastiCache 等)。此外,还应考虑使用 AWS 的其他安全服务,如 AWS WAF、AWS Shield 等,以提高整体安全性。

相关推荐
奇墨 ITQM7 分钟前
【重磅发布】智维全景服务管理平台 正式上线
运维·云计算
危险、1 小时前
AWS服务器 磁盘空间升级到100G后,怎么使其生效?
服务器·云计算·aws
Z字小熊饼干爱吃保安4 小时前
nginx介绍和几种安装方法
linux·运维·nginx·云计算
AWS官方合作商5 小时前
基于AWS的大模型调用场景:10大成本优化实战方案
云计算·gpu算力·aws
孤枫2118 小时前
aws平台练习
云计算·aws
专注VB编程开发20年19 小时前
微软主要收入云计算,OFFICE,操作系统和游戏10大分类
游戏·microsoft·云计算
Y淑滢潇潇20 小时前
RHCSA Linux系统 数据流和重定向 tee 命令
linux·运维·云计算
Swift社区1 天前
部署大模型不再难:DeepSeek + 腾讯云 HAI 实战教程
云计算
阿里云云原生1 天前
如何使用AI辅助开发HTML5 - 通义灵码功能全解析
云计算·html
九河云1 天前
化工企业数字化转型:从数据贯通到生态重构的实践路径
人工智能·重构·云计算·制造