根據前幾天所介紹的傳統應用程式架構,我們分析了它應該如何對應到實際的AWS資源上,AWS架構管理人員可以根據上述的AWS資源,透過AMI來分配權限給規劃人員,接著我們介紹要如何設定它的網路配置,如圖一所假設,我們將Web伺服器分布在公有子網 1與公有子網 2,散佈在兩個子網的目的是為了容錯,避免單點失敗,正常來說這兩個子網最好是散佈在不同的實體區域,使用不同的電力系統、網路系統,這樣如果其中一個區域發生停電或是火災等意外災難,還可以保障系統可以正常運作;因為應用程式伺服器與資料庫不需要對外曝露,所以直接放在私有子網 1與私有子網 2中。
圖一、傳統應用程式網路配置
要在雲端完成這樣的網路配置,需要使用的AWS服務就是Amazon VPC,它允許使用者配置 AWS 帳戶使用的虛擬網路,很多 AWS 資源,例如 Amazon EC2、RDS、ECS 都會在 Amazon VPC 中啟動或存取(如圖二),允許完全控制網路配置,其中包括:
圖二、VPC內所包含的AWS資源
在介紹VPC功能之前,先說明幾個重要觀念:地區(Regions)與可用區(Availability Zones),誠如前文提到,為了容錯、增加可用性,我們必須考慮將資料中心(data centers)建立在不同的實體地區,所以AWS將它的資料中心建在是全球各個重要城市裡,這稱之為地區(Regions),接著在這個地區成立數個可用區(Availability Zones),以AWS的規範,一個地區至少需要兩個以上的可用區,詳細的分布可以參考AWS官網-全球基礎設施,目前共有24個地區,77個可用區。
Amazon VPC 的功能與限制如下,此外提醒一下,AWS的資源都會有預設的限制,比方說我的Amazon VPC預設限額是23個,我最多只能創立23個,如果要更多也不是不可以,提出申請即可,這些限制可以在自己的服務限額(Service Quotas Console)中查看。
接下來我們來找論一下 Amazon VPC 包含了那些組件: