原文: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的更多相关文章

  1. AWS学习笔记

    VPC :虚拟局域网 EC2 :虚拟机 RDS :关系型数据库的管理平台 ElasticCache: 缓存系统的管理平台 ELB :可伸缩的负载均衡(私有子网中的web服务通过elb暴露到公网中) A ...

  2. aws基础架构学习笔记

    文章大纲 Aws 的优势 架构完善的框架(WAF) Aws 学习笔记 Aws架构中心 Aws 的优势 4.速度优势 5.全球优势 数分钟内实现全球部署 Aws全球基础设施 Aws 数据中心 来自多家O ...

  3. spring cloud 学习(二)关于 Eureka 的学习笔记

    关于 Eureka 的学习笔记 个人博客地址 : https://zggdczfr.cn/ ,欢迎光临~ 前言 Eureka是Netflix开发的服务发现组件,本身是一个基于REST的服务.Sprin ...

  4. Flyway学习笔记

    Flyway做为database migration开源工具,功能上像是git.svn这种代码版本控制.google搜索database migration,或者针对性更强些搜索database mi ...

  5. 23 DesignPatterns学习笔记:C++语言实现 --- 2.4 Composite

    23 DesignPatterns学习笔记:C++语言实现 --- 2.4 Composite 2016-07-22 (www.cnblogs.com/icmzn) 模式理解

  6. Flink学习笔记-新一代Flink计算引擎

    说明:本文为<Flink大数据项目实战>学习笔记,想通过视频系统学习Flink这个最火爆的大数据计算框架的同学,推荐学习课程: Flink大数据项目实战:http://t.cn/EJtKh ...

  7. 【Microsoft Azure学习之旅】消息服务Service Bus的学习笔记及Demo示例

    今年项目组做的是Cloud产品,有幸接触到了云计算的知识,也了解并使用了当今流行的云计算平台Amazon AWS与Microsoft Azure.我们的产品最初只部署在AWS平台上,现在产品决定同时支 ...

  8. 亚马逊AWS学习——多网络接口下配置EC2实例连接公网的一个“bug”

    转载请注明出处:http://blog.csdn.net/dongdong9223/article/details/47667627 本文出自[我是干勾鱼的博客] 之前在<亚马逊AWS学习--E ...

  9. 官网英文版学习——RabbitMQ学习笔记(十)RabbitMQ集群

    在第二节我们进行了RabbitMQ的安装,现在我们就RabbitMQ进行集群的搭建进行学习,参考官网地址是:http://www.rabbitmq.com/clustering.html 首先我们来看 ...

随机推荐

  1. python beautifulsoup基本用法-文档搜索

    以如下html段落为例进行介绍 <html> <head> <title>The Dormouse's story</title> </head& ...

  2. mysql性能优化方案总结

    一.表结构优化 1.根据自己的业务选择合适的引擎.比如: 在以下两点情况下必须使用InnerDB: ①可靠性高或者必须要求事务处理 ②表更新和查询相当的频繁,并且表锁定的机会比较大的情况下,指定Inn ...

  3. 看完这一篇,再也不怕面试官问到IntentService的原理

    IntentService是什么 在内部封装了 Handler.消息队列的一个Service子类,适合在后台执行一系列串行依次执行的耗时异步任务,方便了我们的日常coding(普通的Service则是 ...

  4. 第十一章 容器类&新日期时间

    11.1.Optional 容器类 11.1.1.概述 Optional 类是一个容器类,代表一个值存在或不存在, 原来用 null 表示一个值不存在,现在 Optional类 可以更好的表达这个概念 ...

  5. loj #6247. 九个太阳 k次单位根 神仙构造 FFT求和原理

    LINK:九个太阳 不可做系列. 构造比较神仙. 考虑FFT的求和原理有 \(\frac{1}{k}\sum_{j=0}^{k-1}(w_k^j)^n=[k|n]\) 带入这道题的式子. 有\(\su ...

  6. MySQL InnoDB技术内幕:内存管理、事务和锁

    前面有多篇文章介绍过MySQL InnoDB的相关知识,今天我们要更深入一些,看看它们的内部原理和机制是如何实现的. 一.内存管理 我们知道,MySQl是一个存储系统,数据最后都写在磁盘上.我们以前也 ...

  7. Dockerfile你值得拥有

    Dockerfile 介绍 什么是Dockerfile Dockerfile是一个用来将你的应用构建为docker镜像的文本文件,文本中的内容是一条一条的指令,这些指令的集合在docker引擎中执行, ...

  8. 【SCOI2005】互不侵犯 题解(状压DP)

    前言:一道状压DP的入门题(可惜我是个DP蒟蒻QAQ) ------------------ 题意简述:求在一个$n*n$的棋盘中放$k$个国王的方案数.注:当在一个格子中放入国王后,以此格为中心的九 ...

  9. Caffe CuDNN版本与环境不同导致make错误

    1.将./include/caffe/util/cudnn.hpp 换成最新版的caffe里的cudnn的实现,即相应的cudnn.hpp. 2.将./include/caffe/layers里的,所 ...

  10. Python接口自动化测试框架: pytest+allure+jsonpath+requests+excel实现的接口自动化测试框架(学习成果)

    废话 最近在自己学习接口自动化测试,这里也算是完成一个小的成果,欢迎大家交流指出不合适的地方,源码在文末 问题 整体代码结构优化未实现,导致最终测试时间变长,其他工具单接口测试只需要39ms,该框架中 ...