如何理解AWS 网络,如何创建一个多层安全网络架构
一、要求
- 创建一个三层网络架构,服务器只能通过跳板机连接;
- web 服务器只能由跳板机连接,80 端口只能由 ELB 访问,服务器不分配公网IP,外网连接通过 NAT;
- 数据库服务器只能由 web 服务器连接 3306 端口;
- 服务器分布在多 AZ。
网络架构图

网络各组件关系
组件包括 NACL,Route,Security Group,Internet Gateway,NAT Gateway,Elastic IP等。

二、操作步骤
2.1、网络设置
- 创建 VPC,如果希望创建的 EC2 实例带有公网 DNS,请打开 VPC 的
DNS hostnames enable的设置; - 创建 IGW,附加到 VPC 上面;
- 创建需要的六个子网,放在创建的 VPC 下面;
- 创建三个路由,分别为私网,NAT,公网;
- 公网路由添加条目
0.0.0.0/0路由到 IGW,然后关联两个公有子网,两个公有子网开启自动分配公网IP; - 私网路由不需要添加路由条目,默认即可,关联到两个私有子网;
- 创建 NAT 网关,选择放置公有子网;
- NAT 路由添加路由条目
0.0.0.0/0路由到刚刚创建的 NAT 设备,然后关联两个私有子网;
2.2、安全设置
可以设置 NACL,为每个子网设置防火墙,我们这里为了简便,不再进行设置,只设置实例的安全组完成。
- 为跳板机实例创建安全组 bastion-sg,只允许特定的 IP 访问 22 号端口;
- 为 ELB 实例创建安全组 elb-sg,只允许访问 80 端口;
- 为 Web 实例创建安全组 web-sg,所有流量只允许 bastion-sg,elb-sg 组内的实例访问;
- 为数据库实例创建安全组 db-sg,只允许 web-sg 组内的实例访问 3306 端口。
2.3、创建实例
- 创建跳板机实例,选择第一个公有子网,配置好设定的安全组;
- 分别创建 Web 实例,选择三,四两个私有子网,配置好设定的安全组;
- 创建 RDS 子网租,选择五,六两个私有子网,创建实例,选择刚创建的子网组。
三、费用
3.1、NAT 网关费用
如果选择在 VPC 中创建 NAT 网关,您需要为 NAT 网关预置和可用的每个“NAT 网关小时”付费。通过 NAT 网关处理的每个 GB 都要收取数据处理费,与流量源或目的地无关。运行未满一小时的 NAT 网关小时将按一小时计费。通过 NAT 网关传输的所有数据也会产生标准的 AWS 数据传输费用。如果您不希望再支付 NAT 网关费用,只需使用 AWS 管理控制台、命令行界面或 API 删除 NAT 网关即可。
例如弗吉尼亚北部价格:
| 每 NAT 网关的价格(USD/小时) | 处理每 GB 数据的价格 (USD) |
|---|---|
| 0.045 USD | 0.045 USD |
如何理解AWS 网络,如何创建一个多层安全网络架构的更多相关文章
- visjs使用小记-1.创建一个简单的网络拓扑图
1.插件官网:http://visjs.org/ 2.创建一个简单的网络拓扑图 <!doctype html> <html> <head> <title> ...
- AWS探索及创建一个aws EC2实例
一.AWS登陆 1.百度搜索aws,或者浏览器输入:http://aws.amazon.com 2.输入账户及密码登陆(注册流程按照提示走即可) 二.创建EC2实例(相当于阿里云的ecs) 1.找到E ...
- 如何创建一个基于 MSBuild Task 的跨平台的 NuGet 工具包
MSBuild 的 Task 为我们扩展项目的编译过程提供了强大的扩展性,它使得我们可以用 C# 语言编写扩展:利用这种扩展性,我们可以为我们的项目定制一部分的编译细节.NuGet 为我们提供了一种自 ...
- 如何创建一个基于命令行工具的跨平台的 NuGet 工具包
命令行可是跨进程通信的一种非常方便的手段呢,只需启动一个进程传入一些参数即可完成一些很复杂的任务.NuGet 为我们提供了一种自动导入 .props 和 .targets 的方法,同时还是一个 .NE ...
- OpenStack 网络总结之:openstack中网络的基本概念
原文:openstack-install-guide-yum-icehouse.pdf/7. Add a networking service/Networking concepts OpenStac ...
- SQL Server创建、更改和删除架构
SQL Server创建架构 学习如何使用SQL Server CREATE SCHEMA在当前数据库中创建新架构. SQL Server中的架构是什么 架构是包括表,视图,触发器,存储过程,索引等在 ...
- Unity带有网络功能——创建服务,并连接到一个特定的服务
游戏本身需要在网络上创建服务,然后其他的游戏能够连接到这个服务,此外真实场景现在玩同样的游戏效果一起. 该方法是创建一个服务呼叫Network.InitializeServer( ): 是Networ ...
- [Swift通天遁地]四、网络和线程-(13)创建一个Socket客户端
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...
- [Swift通天遁地]四、网络和线程-(14)创建一个Socket服务端
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...
随机推荐
- docker(一) -- docker安装、容器加速、下载、备份
一.docker的 容器是从镜像中创建出来的虚拟实例 容器用来运行实例,是读写层 镜像用来安装程序,是只读层 1. docker的安装和基本操作 安装命令 yum -y update yum inst ...
- 使用PS进行切图
一,设置PS 使用PS进行切图前的设置: 1,打开PS----打开PSD图片----点击窗口-----分别把:历史记录,信息,图层,三个打勾. 历史记录:可以回到之前想要的步骤,特别是不小心把图层的文 ...
- javascript/Jquery 将字符串转换成变量名
var a = ['a', 'b', 'c'] var obj = {} for(i = 0; i < a.length; i++){ obj[a[i]] = "abc" + ...
- sql server 游标的基本用法
DECLARE @Id NVARCHAR(MAX) DECLARE @UserName NVARCHAR(MAX) DECLARE @Password NVARCHAR(MAX) DECLARE @N ...
- eclipse/myeclipse SVN资源库URL中文乱码问题解决办法
右击选择资源库地址 可以自定义名称
- Linq找不到行或行已更改
1.发生这种情况第一时间是确认了database明明存在这条数据 2.然后确认了Linq查找的条件中是否有连接条件使得连续更新中发生变化 3.最后发现原来是Linq使用的表实际中有个field由not ...
- codeforces396A
sol:很显然就是找出所有质因数,然后分别塞进去就行了,怎么塞就是组合数.感觉就是道小学奥数题 #include <bits/stdc++.h> using namespace std; ...
- 解决update-apt-xapi占用资源过高的问题
最近云主机出现了个报错,查看系统日志发现是update-apt-xapi任务占用资源过高,甚至内存占完了无法开辟内存 云主机:Ubuntu 14.04.5 LTS update-apt-xapi是干嘛 ...
- Spring Cloud Gateway(九):网关过滤器 GatewayFilter
本文基于 spring cloud gateway 2.0.1 1.简介 GatewayFilter 网关过滤器用于拦截并链式处理web请求,可以实现横切的与应用无关的需求,比如:安全.访问超时的设置 ...
- 接口操作XML
接口操作XML 以下代码旨在 脱离TXMLDocument 操作 xml. unit Unit3; interface uses Windows, Messages, SysUtils, Varian ...