AWS Web 託管架構的重要元件 - AWS 雲端的 Web 應用程式託管

AWS Web 託管架構的重要元件

以下小節概述部署在 AWS 雲端中的 Web 託管架構的一些重要元件,並說明它們與傳統的 Web 託管架構有何不同。

網路管理

在 AWS 雲端中,能夠將您的網路與其他客戶的網路劃分,可實現更安全和可擴展的架構。雖然安全群組提供主機層級的安全性 (請參閱主機安全小節),但 Amazon Virtual Private Cloud (Amazon VPC) 能讓您在邏輯上隔離和您定義的虛擬網路中啟動資源。

Amazon VPC 是一項服務,可讓您完整控制 AWS 中聯網設定的詳細資訊。此控制項的範例包括為 Web 伺服器建立面向公眾的子網路,以及為資料庫建立無法存取網際網路的私有子網路。此外,Amazon VPC 可讓您使用硬體虛擬私有網路 (VPN) 建立混合架構,並將 AWS 雲端用作您自己資料中心的擴充。

除了對您的網路的傳統 IPv4 支援之外,Amazon VPC 還包括 IPv6 支援。

內容交付

若您的 Web 流量分散在各地,在全球範圍內複寫整個基礎設施並非總是可行,並且一定不具成本效益。內容交付網路 (CDN) 讓您能夠利用其節點的全域網路,將 Web 內容 (如影片、網頁、影像等) 的快取複本交付給客戶。為了減少回應時間,CDN 會利用離客戶最近的節點或原始請求位置來減少回應時間。由於 Web 資產從快取交付,因此輸送量會顯著提高。針對動態資料,可以將許多 CDN 設定為從原始伺服器擷取資料。

您可以使用 CloudFront 運用節點的全球網路交付您的網站,包括動態、靜態和串流內容。CloudFront 會自動將對內容的請求自動路由到最近的節點,因此能以最佳的效能發佈內容。CloudFront 經過最佳化,可與其他 AWS 服務,如 Amazon S3Amazon Elastic Compute Cloud (Amazon EC2) 搭配使用。CloudFront 也可與存放您最新版本原始檔案的任何非 AWS 原始伺服器的原始伺服器完美搭配。

與其他 AWS 服務一樣,使用 CloudFront 沒有合約或每月承諾 - 您只需為您透過服務實際交付的內容多寡付費。

此外,Web 應用程式基礎設施中邊緣快取的任何現有解決方案,都應能在 AWS 雲端中正常運作。

管理公有 DNS

將 Web 應用程式移至 AWS 雲端需要進行一些網域名稱系統 (DNS) 的變更。為協助您管理 DNS 路由,AWS 提供 Amazon Route 53,這是一種高度可用且可擴展的雲端 DNS Web 服務。Route 53 旨在為開發人員和企業提供一種非常可靠且經濟實惠的方式,將名稱 (如 www.example.com) 轉換為電腦用於互相連接的數字 IP 地址 (如 192.0.2.1),將最終使用者路由到網際網路應用程式。Route 53 也可與 IPv6 完全相容。

主機安全

除了在邊緣處進行入站網路流量篩選之外,AWS 還建議 Web 應用程式在主機層級套用網路流量篩選。Amazon EC2 提供名為安全群組的功能。安全群組類似於入站網路防火牆,您可以為其指定允許存取 EC2 執行個體的通訊協定、連接埠和來源 IP 範圍。

您可以為每個 EC2 執行個體指派一或多個安全群組。每個安全群組會允許適當的流量進入每個執行個體。可以設定安全群組,以便只有特定的子網路、IP 地址和資源才能存取 EC2 執行個體。或者,他們可以參考其他安全群組,來限制對特定群組中 EC2 執行個體的存取。

在圖 3 中的 AWS Web 託管架構中,Web 伺服器叢集的安全群組可能只會允許從 Web 層負載平衡器存取,並且只允許在連接埠 80 和 443 (HTTP 和 HTTPS) 上透過 TCP 存取。另一方面,應用程式伺服器安全群組可能僅會允許從應用程式層負載平衡器存取。在此模型中,您的支援工程師還需要存取 EC2 執行個體,而這可以使用 AWS Systems Manager Session Manager 來達成。如需有關安全性的更深入討論,請參閱 AWS 雲端安全,其中包含安全公告、認證資訊和說明 AWS 的安全功能的安全白皮書。

跨叢集負載平衡

硬體負載平衡器是傳統 Web 應用程式架構中使用的常見網路設備。AWS 透過 Elastic Load Balancing (ELB) 服務提供此功能。ELB 會自動將傳入的應用程式流量分配到多個目標,例如 EC2 執行個體、容器、IP 地址和 AWS Lambda 函數,以及虛擬設備。它可以在單一可用區域或跨多個可用區域處理您應用程式流量的各種負載。Elastic Load Balancing 提供四種負載平衡器,它們都具有下列特性:高可用性、自動擴展,以及讓您的應用程式具備容錯功能的強大安全防護。

尋找其他主機和服務

在傳統的 Web 託管架構中,您的大多數主機都會有靜態 IP 地址。在 AWS 雲端中,您的大多數主機都會有動態 IP 地址。儘管每個 EC2 執行個體都可以有公有和私有 DNS 項目,並且可以透過網際網路定址,但 DNS 項目和 IP 地址會在您啟動執行個體時動態指派。無法手動指派它們。靜態 IP 地址 (AWS 術語中的彈性 IP 地址) 可以在啟動後指派給執行中的執行個體。對於需要一致端點的執行個體和服務,例如主要資料庫、中央檔案伺服器和 EC2 受管的負載平衡器,您應該使用彈性 IP 地址。

在 Web 應用程式內快取

記憶體內應用程式快取可以透過快取常用資訊來減少服務上的負載,並改善資料庫層的效能和可擴展性。Amazon ElastiCache 是一種 Web 服務,讓使用者能夠在雲端中輕鬆部署、操作和擴展記憶體內快取。您可以將建立的記憶體內快取設定為隨著負載自動擴展並自動取代失敗的節點。ElastiCache 與 Memcached 和 Redis 的通訊協定相容,可將從您目前的內部部署解決方案的遷移簡化。