AWS 学习笔记之 VPC
原文:https://ericfu.me/aws-notes-vpc/
VPC
- 把 VPC 想象成一个逻辑上的数据中心
- 包含一个 IGW (Internet Gateway)或者 Virtual Private Gateway,Route Tables,Network ACLs,Subnets,Security Groups
- 1 个 Subnet = 1 个可用区
- Security Group 是有状态的,Network ACL 是无状态的
- VPC 可以连接(peer)起来,甚至可以连接不同 AWS 账号的 VPC
- 不能 transitive peer!如果 A 和 B 相连,B 和 C 相连,A 和 C 是不联通的,必须手动连接 A 和 C
NAT Instance
- 创建 NAT instance 的时候要关掉 Source/Destination Check
- NAT instance 必须放在 public subnet 里
- 必须有一个 Elastic IP
- 必须有一个从 private subnet 到 NAT instance 的路由
- NAT instance 支持的流量取决于 instance size,如果不够用只能增加 instance size
- 如果要 HA,可以利用 Autoscaling Group 为不同 AZ 的 subnet 创建 NAT instance
NAT Gateway
- 很新,很可能不出现在考试中
- 可以自动伸缩,最大支持 10Gbps
- 不用管补丁
- 不用管 security group
- 不用手工禁用 Source/Destination Check
- 自动分配 IP 地址
- 记得要更新 Route table
Network ACLs
- VPC 创建的时候会自动创建一个 default network ACL,允许所有 outbound 和 inbount 流量
- 你可以创建自定义的 network ACL,默认情况下,新创建的 network ACL 阻止所有连接(为了安全考虑)
- VPC 里的每个 subnet 必须要指定一个 network ACL,如果你没有显式的指定 network ACL,那就是用 default network ACL
- 一个 subnet 只能指定一个 network ACL;但 network ACL 可以被指定给多个 subnet。注意,当你把一个 network ACL 指定给某个 subnet 的时候,subnet 之前设定的 network ACL 就被挤掉了,不能共存(以上两点和 Route table 很相似)
- Network ACL 的每条 rule 都有一个序号,序号决定了 rule 执行的循序
- Network ACL 包含两张表:inbound rules 和 outbound rules,每个 rule 可以是 allow 或者 deny
- Network ACL 是无状态的。也就是说,对允许进入的流量也可能会被拒绝出去,反之亦然(区别于 security group)
- 可以用 Network ACL 来 block 某些 IP 地址(段),security group 则不行
NAT vs Bastions
- NAT 用来给 private subnet 里的机器提供 internet 访问
- Bastion 用来安全地管理 private subnet 里的机器,也可以称为跳板机
容灾架构
- 如果你想保证容灾性,至少保证 2 个 public subnets 和 2 个 private subnets,保证它们不在一个可用区
- 保证 ELB 横跨你的多个可用区
- 对于 Bastion instance,把它放在 autoscaling group 里,保证至少有 2 个节点工作,用 Route53 来做 fail over
- NAT instance 就比较麻烦了,每个 public subnet 里需要放一个,各自分配一个 IP 地址,而且你要写一个脚本来做 fail over。如果可能的话,用 NAT gateway 来代替
VPC Flow Logs
用来监控 VPC 里的网络流量。
AWS 学习笔记之 VPC的更多相关文章
- AWS学习笔记
VPC :虚拟局域网 EC2 :虚拟机 RDS :关系型数据库的管理平台 ElasticCache: 缓存系统的管理平台 ELB :可伸缩的负载均衡(私有子网中的web服务通过elb暴露到公网中) A ...
- aws基础架构学习笔记
文章大纲 Aws 的优势 架构完善的框架(WAF) Aws 学习笔记 Aws架构中心 Aws 的优势 4.速度优势 5.全球优势 数分钟内实现全球部署 Aws全球基础设施 Aws 数据中心 来自多家O ...
- spring cloud 学习(二)关于 Eureka 的学习笔记
关于 Eureka 的学习笔记 个人博客地址 : https://zggdczfr.cn/ ,欢迎光临~ 前言 Eureka是Netflix开发的服务发现组件,本身是一个基于REST的服务.Sprin ...
- Flyway学习笔记
Flyway做为database migration开源工具,功能上像是git.svn这种代码版本控制.google搜索database migration,或者针对性更强些搜索database mi ...
- 23 DesignPatterns学习笔记:C++语言实现 --- 2.4 Composite
23 DesignPatterns学习笔记:C++语言实现 --- 2.4 Composite 2016-07-22 (www.cnblogs.com/icmzn) 模式理解
- Flink学习笔记-新一代Flink计算引擎
说明:本文为<Flink大数据项目实战>学习笔记,想通过视频系统学习Flink这个最火爆的大数据计算框架的同学,推荐学习课程: Flink大数据项目实战:http://t.cn/EJtKh ...
- 【Microsoft Azure学习之旅】消息服务Service Bus的学习笔记及Demo示例
今年项目组做的是Cloud产品,有幸接触到了云计算的知识,也了解并使用了当今流行的云计算平台Amazon AWS与Microsoft Azure.我们的产品最初只部署在AWS平台上,现在产品决定同时支 ...
- 亚马逊AWS学习——多网络接口下配置EC2实例连接公网的一个“bug”
转载请注明出处:http://blog.csdn.net/dongdong9223/article/details/47667627 本文出自[我是干勾鱼的博客] 之前在<亚马逊AWS学习--E ...
- 官网英文版学习——RabbitMQ学习笔记(十)RabbitMQ集群
在第二节我们进行了RabbitMQ的安装,现在我们就RabbitMQ进行集群的搭建进行学习,参考官网地址是:http://www.rabbitmq.com/clustering.html 首先我们来看 ...
随机推荐
- 在ASP.NET Core中创建自定义端点可视化图
在上篇文章中,我为构建自定义端点可视化图奠定了基础,正如我在第一篇文章中展示的那样.该图显示了端点路由的不同部分:文字值,参数,动词约束和产生结果的端点: 在本文中,我将展示如何通过创建一个自定义的D ...
- Jenkins部署jmx脚本
针对jenkins+jmeter做接口自动化,jmeter完成测试脚本录入和撰写,而jenkins负责持续集成和报告收集.那么从零实现jenkins可以从以下角度实现 首先需要安装jenkins ...
- Django开发之Ajax POST提交403报错
问题现象 Django开发时,前端post提交数据时,由于csrf机制,如果不做处理会报403报错 问题解决 通过在data字段中添加 csrfmiddlewaretoken: '{{ csrf_to ...
- 总结HashMap实现原理分析
一.底层数据结构在JDK1.6,JDK1.7中,HashMap采用位桶+链表实现,即使用链表处理冲突,同一hash值的键值对会被放在同一个位桶里,当桶中元素较多时,通过key值查找的效率较低. 而JD ...
- Python三引号
Python三引号:多用作注释.数据库语句.编写 HTML 文本. strs = ''' 使用了三引号的字符串 ''' print (strs) # 在 ‘’‘ 里可以使用转义字符 strs = '' ...
- Skill 脚本演示 ycSetNetColor.il
https://www.cnblogs.com/yeungchie/ ycSetNetColor.il 将原理图中某一 netName 的所有连线同时修改为一种 颜色 / 线宽. 回到目录
- 牛客练习赛64 如果我让你查回文你还爱我吗 线段树 树状数组 manacher 计数 区间本质不同回文串个数
LINK:如果我让你查回文你还爱我吗 了解到了这个模板题. 果然我不会写2333... 考试的时候想到了一个非常辣鸡的 线段树合并+莫队的做法 过不了不再赘述. 当然也想到了manacher不过不太会 ...
- Java和C语言谁是编程语言的老大?
最近,TIOBE 公布了 2020 年 7 月的编程语言排行榜. 本次排行榜的最大亮点就是:C语言击败Java,稳坐老大宝座! 这两年,编程语言排行榜榜首位置,不是C语言,就是Java. 以下为具体榜 ...
- JS中的数组复制问题
JS中的数组复制问题 前言 首先提到复制,也就是拷贝问题,就必须要明确浅拷贝和深拷贝. 浅拷贝:B由A复制而来,改变B的内容,A也改变 深拷贝:B由A复制而来,改变B的内容,A的内容不会改变 总的来说 ...
- 深度学习论文翻译解析(十二):Fast R-CNN
论文标题:Fast R-CNN 论文作者:Ross Girshick 论文地址:https://www.cv-foundation.org/openaccess/content_iccv_2015/p ...