Study Notes - VPC FAQ
整理 VPC 一些常見的問答。
FAQ
Q: 如何將兩個 VPC 串接
- 同一個 Region: 使用 AWS Peering,就可以打通兩個 VPC. see VPC Peering
- 需要跨 Region:
- Before 2018/02: 可以跨 AWS Account,但是不能跨 Region
- After: 2018/02 Inter-Region VPC Peering is Now Available in Nine Additional AWS Regions
- 詳細設定參考這篇筆記:Inter-Region VPC Peering
- 不管是否同一個 Region,都可以跨 AWS Account
Q: 兩個雲的 VPC 可以串接?
可以,只要牽涉 存取管控
、資料交換
,一定要考慮 CIDR 、路由規劃的問題。
GPC VPC 串接,參閱:Building a VPN Between GCP and AWS
Q: 如何限制 VPC Peering 之間的存取控制?
可以利用以下這方式管控:
- Route Table: 控制目標要走哪一個 gateway / peering connections
- Network ACLs: 限制進出的 port, 有點像是 iptable, 但是控制的是針對 subnet
- Security Groups: 管理 EC2 或者 EC2-Based 的資源進出。
流程上參考下圖:
Q: VPC or Subnet 的 CIDR Bloakc Size 可以調整?
- Before 2017/08: 不可以。VPC 和 Subnet 的 CIDR 建立好之後就無法更動。
- After: 2017/08/29: VPC CIDR 可以調整,詳細參閱 Amazon Virtual Private Cloud (VPC) now allows customers to expand their existing VPCs
Q: 怎麼知道目標會走哪一個 route table?
看 subnet 設定在哪一個 route table. route table 跟 subnet 關係是一對一,也就是一個 subnet 只允許在一張 route table.
Q: 現有的 EC2 Instance ENI 可否更換 subnet?
- 可以更換在同一個 AZ 的 Subnet,不同 AZ 則不可以。
- 第一張 Primary NI 不可以 detach.
Q: Network ACL 和 Security Group 有什麼不一樣?
- Network ACLs:
- 針對 VPC Subnet
- 可以控制 Inbound / Outbound
- 有 Allow / Deny
- NACL 沒有狀態性 (Stateless),換言之 In/Out 都要個別設定
- Security Group:
- 針對 EC2 Instance / ENI
- 可以控制 Inbound / Outbound (同 ACLs)
- 只有 Allow, 沒有 Deny
- SG 有狀態性 (Stateful),換言之只要設定 In/Out 其一即可
詳細比較參閱:
Q: Private Subnet 裡的 EC2 突然無法對外連線了?
- 確認 Instance 的 Security Group 設定正確
- 確認 Instance 網卡 ENI 的 Security Group 設定正確. 如果有第二張網卡,那也要檢查.
- 找到 Instance 的 subnet 掛在哪一張 Route Table,確認 NAT Gateway 也在裡面.
- 找到 NAT Gateway 之後,找到他所屬的 Subnet 的 Route Table ,確認 Internet Gateway 在裡面
Q: Public Subnet 裡的 EC2 無法對外連線了?
- 確認 Instance 本身有 EIP
- 檢查 Security Group, 確認 Outbound 正確
- 檢查 Subnet 的 Route Table,確認裡面 destination 有 Internet Gateway
Q: VPC NAT Gateway 是否有單點 (SPOF) 問題?
建立 NAT Gateway 時,要選擇 Subnet,就等於表示此 Gateway 在 Subnet 所在的 AZ。如果此 AZ 出問題,Route Table 共用此 Gateway,其他的 AZ 將無法出去。參考:NAT Gateway Basics 以下的描述:
If you have resources in multiple Availability Zones and they share one NAT gateway, in the event that the NAT gateway’s Availability Zone is down, resources in the other Availability Zones lose Internet access. To create an Availability Zone-independent architecture, create a NAT gateway in each Availability Zone and configure your routing to ensure that resources use the NAT gateway in the same Availability Zone.
詳細介紹參見: Migrate to AWS NAT Gateway
延伸閱讀
系列文章
- Study Notes - Virtual Private Cloud (VPC)
- Study Notes - VPC - Security Groups and Network ACLs
- Study Notes - VPC Peering and Private DNS using Route53
- Study Notes - VPC - Inter-Region VPC Peering
- Study Notes - VPC FAQ
- Plan and Design Multiple VPCs in Different Regions
- From One to Many - Evolving VPC Design
- Migrate to AWS NAT Gateway
- Unknown ENI Delete Action in CloudTrial
- Study Notes - VPC IPv6 Support