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 等,以提高整体安全性。

相关推荐
九河云2 小时前
Amazon Bedrock Claude 3 在客户服务自动化中的应用方法
运维·人工智能·自动化·aws
树莓集团6 小时前
树莓集团:数字化产业园建设运营推动数字经济
大数据·云计算·媒体
林农6 小时前
C05S14-MySQL高级语句
linux·mysql·云计算
云上的阿七11 小时前
《云计算能不能真正实现按需付费?》
开发语言·云计算·perl
云上的阿七11 小时前
AI与云计算:天作之合
人工智能·云计算
团儿.20 小时前
Docker服务发现新纪元:探索Consul的无限魅力
运维·docker·云计算·服务发现·consul
xcLeigh1 天前
网络安全 | 云计算中的数据加密与访问控制
安全·web安全·云计算
QQ_7781329741 天前
基于云计算的资源管理系统
人工智能·云计算
云计算DevOps-韩老师1 天前
【网络云计算】2024第52周-每日【2024/12/25】小测-理论&实操-自己构造场景,写5个系统管理的脚本-解析
开发语言·网络·云计算·bash·perl
阿隆ALong1 天前
云手机+YouTube:改变通信世界的划时代技术
智能手机·矩阵·云计算·arm