Amazon Virtual Private Cloud (VPC) 筆記

Yehchitsai發表於2020-10-09

Amazon Virtual Private Cloud (VPC)

需求說明

根據先前所介紹的傳統應用程式架構,我們分析了它應該如何對應到實際的 AWS 資源上, AWS 架構管理人員可以根據上述的 AWS 資源,透過 AMI 來分配許可權給規劃人員,接著我們介紹要如何設定它的網路配置,如圖一所假設,我們將 Web 伺服器分佈在公有子網 1 與公有子網 2 ,散佈在兩個子網的目的是為了容錯,避免單點失敗,正常來說這兩個子網最好是散佈在不同的實體區域,使用不同的電力系統、網路系統,這樣如果其中一個區域發生停電或是火災等意外災難,還可以保障系統可以正常運作;因為應用程式伺服器與資料庫不需要對外曝露,所以直接放在私有子網 1 與私有子網 2 中。

傳統應用程式網路配置
圖 1 、傳統應用程式網路配置

要在雲端完成這樣的網路配置,需要使用的AWS服務就是Amazon VPC,它允許使用者配置 AWS 帳戶使用的虛擬網路,很多 AWS 資源,例如 Amazon EC2、RDS、ECS 都會在 Amazon VPC 中啟動或存取(如圖 2 ),允許完全控制網路配置,其中包括:

  • Internet Protocol (IP) 地址範圍
  • 子網建立
  • 路由表建立
  • 網路閘道器
  • 安全設定

 VPC 內所包含的 AWS 資源
圖 2 、VPC 內所包含的 AWS 資源

在介紹 VPC 功能之前,先說明幾個重要觀念:區域 (Regions) 與可用區 (Availability Zones) ,誠如前文提到,為了容錯、增加可用性,我們必須考慮將資料中心 (data centers) 建立在不同的實體地區,所以 AWS 將它的資料中心建在是全球各個重要城市裡,這稱之為區域 (Regions) ,接著在這個區域成立數個可用區 (Availability Zones) ,以 AWS 的規範,一個區域至少需要兩個以上的可用區,詳細的分佈可以參考 AWS 官網-全球基礎設施,目前共有 24 個地區, 77 個可用區。

Amazon VPC 功能

Amazon VPC 的功能與限制如下,此外提醒一下, AWS 的資源都會有預設的限制,比方說我的 Amazon VPC 預設限額是23個,我最多隻能創立 23 個,如果要更多也不是不可以,提出申請即可,這些限制可以在自己的服務限額 (Service Quotas Console)中檢視。

  • 每個 Amazon VPC 都位於一個區域內,每個區域可以有多個 Amazon VPC。
  • 每個賬戶允許建立多個 Amazon VPC (注意限額)。
  • 每個 Amazon VPC 跨越多個可用區,每個可用區可以有多個 Amazon VPC。
  • 每個 Amazon VPC 都必須通過選擇一個無類別域間路由 (CIDR) 塊 (如 10.0.0.0/16) 來指定 IPv4 地址範圍。
  • 建立 Amazon VPC 後無法更改其地址範圍。
  • 地址範圍最大為 /16(65536 個可用地址),最小為 /28(16 個可用地址)。

接下來我們來找論一下 Amazon VPC 包含了那些元件:

  • 子網:可以啟動 AWS 服務的 Amazon VPC IP 地址範圍分段。
    • 一個區域內的子網不能跨區域
    • 一個子網相當於一個可用區。
    • 只能分類為公有、私有或 VPN。
    • 預設 Amazon VPC 在地區內的每個可用區中都包含一個公有子網,網路遮蔽為 /20。
  • 路由表:用於控制流出子網的流量。
  • 安全組 (Security Group) :有狀態的虛擬防火牆。
  • 網路訪問控制列表 (ACL):控制對子網的訪問;且無狀態。
  • Internet 閘道器 (IGW):允許從 Amazon VPC 訪問 Internet。
  • 彈性 IP (Elastic IP) 地址:靜態公有 IP 地址,可以從池中提取以供臨時使用。
  • 彈性網路介面 (ENI):虛擬網路介面。
  • 終端節點 (end point) :到另一個 AWS 服務的直接連線。
  • 對等連線:允許兩個 Amazon VPC 進行通訊。
  • NAT例項 (NAT Instance) 和 NAT 閘道器 (NAT Gateway) :在私有子網內接受、轉換和轉發流量。

相關文章