# 探索AWS:從菜鳥到熟練的完全指南(六)EC2簡介 ## EC2簡介 EC2 (Elastic Compute Cloud) 是 AWS 中最受歡迎的服務之一,它屬於基礎架構即服務 (IaaS) 的範疇。EC2 提供了以下主要功能: 1. 租用虛擬機器:EC2 允許您租用虛擬機器,稱為 EC2 實例。這些實例提供了可按需配置的計算資源,包括處理能力、記憶體、存儲和網路連接等。 2. 儲存資料:EC2 使用 EBS (Elastic Block Store) 提供虛擬磁碟驅動器,讓您可以持久地儲存資料。您可以將 EBS 卷附加到 EC2 實例,並在實例重新啟動後保留資料。 3. 分散負載:EC2 可以與 Elastic Load Balancer (ELB) 服務結合使用,以實現負載平衡。ELB 可將傳入的網路流量分發到多個 EC2 實例,以提高可用性和擴展性。 4. 自動擴展:使用 Auto Scaling Group (ASG) 服務,您可以設定 EC2 實例的自動擴展。ASG 監控負載和資源使用情況,根據預定義的規則自動增加或減少 EC2 實例的數量,以應對流量變化。 了解 EC2 是理解雲端運作方式的基礎,因為它提供了虛擬機器的彈性租用、儲存資料、負載平衡和自動擴展等關鍵功能。這使得您能夠根據需求靈活地配置和管理計算資源,並為應用程式提供可靠和可擴展的基礎架構。 <br> ## 可選擇類型 EC2 提供了各種可調整大小和配置的選項,以滿足不同應用程式和工作負載的需求。以下是一些常見的 EC2 大小和配置選項: 1. 作業系統 (OS):您可以選擇在 EC2 實例上運行的作業系統,包括 Linux、Windows 或 Mac OS。 2. 計算能力和核心數 (CPU):您可以選擇 EC2 實例的計算能力和核心數,以滿足您的處理需求。AWS 提供了不同類型的實例,每個類型都具有不同的計算能力和核心數配置。 3. 隨機存取記憶體 (RAM):您可以根據應用程式的記憶體需求選擇 EC2 實例的 RAM 大小。不同類型的實例具有不同的 RAM 配置。 4. 儲存空間:EC2 提供了兩種主要的儲存選項。一種是網路附加的儲存 (EBS 和 EFS),它提供了持久的、可擴展的區塊儲存。另一種是硬體儲存 (EC2 Instance Store),它是 EC2 實例本地的暫存儲存,提供更高的性能但不持久。 5. 網路卡:您可以設定 EC2 實例的網路卡速度和是否分配公有 IP 地址。 6. 防火牆規則:使用安全群組 (Security Group) 可以配置 EC2 實例的防火牆規則,以控制流入和流出的網路流量。 7. 啟動時的啟動腳本:使用 EC2 User Data,您可以在 EC2 實例首次啟動時自動執行啟動腳本,以設定和配置實例。 ## User Data EC2 User Data 是一個用於在 EC2 實例啟動時自動執行指令的機制。透過 EC2 User Data 腳本,您可以在實例首次啟動時自動執行特定的命令和腳本。 以下是 EC2 User Data 的一些特點: 1. 自動化啟動任務:您可以使用 EC2 User Data 腳本自動執行各種啟動任務,例如安裝更新、安裝軟體、從網際網路下載常見文件等。這讓您可以輕鬆地在實例啟動時自動完成設定和配置工作。 2. 只執行一次:EC2 User Data 腳本僅在實例首次啟動時執行。一旦實例已經啟動,即使重新啟動實例,該腳本也不會再次執行。這確保了在實例啟動過程中只運行一次特定的啟動命令。 3. 以 root 使用者身分執行:EC2 User Data 腳本是以 root 使用者身分執行的,因此您可以在腳本中執行需要 root 權限的操作。 EC2 User Data 腳本提供了方便和彈性的方式來自動化 EC2 實例的啟動任務。您可以根據需要在腳本中指定各種命令和指令,以便在實例啟動時自動執行。這可以大大簡化實例的配置和設定流程,節省時間和工作量。 # 購買類型 以下是EC2實例的購買選項及其適用的案例: 1. **On-Demand Instances(即時實例)**: * 適用於短期工作負載 * 按秒計費 * 這種選項不需長期承諾,只需根據需要啟動和停止實例即可 2. **Reserved Instances(預留實例)**: * 適用於長期工作負載 * 通過簽訂一年或三年的合約期內以更低的價格租用 * 對於需要長期運行的工作可以降低成本 3. **Savings Plans(節省計劃)**: * 適用於長期工作負載,要簽訂一年或三年的合約 * 比 Reserved Instances(預留實例)更為彈性 * 可以更改Insatence 5. **Spot Instances(競價實例)**: * 適用於短期、彈性的工作負載。 * 價格根據市場供需情況而波動 * 比其他選項更便宜 * 隨時被中止,可靠性較低。 6. **Dedicated Hosts(專用主機)**: * 適用於需要完全控制實例放置和硬件使用的情況 * 會有自己的實體伺服器,並在上面運行EC2實例 * 在專用主機上運行的實例可以屬於不同的帳戶或可用區域 * 最貴 7. **Dedicated Instances(專用實例)**: * 適用於需要將硬件資源與其他客戶隔離的情況 * 這些實例在物理伺服器上運行,但不與其他客戶共享 8. **Capacity Reservations(容量預留)**: * 適用於需要確保特定可用區域的容量的情況 * 在需要時確保實例可用 * 不需要成本 * 但以不會運行實例就是單純幫比保留容量 # Spot Instance EC2 Spot Instance Requests(EC2競價實例請求)是一種在AWS EC2上獲取折扣的選項,與按需實例相比,可以獲得高達90%的折扣。以下是有關EC2競價實例的一些要點: - 可以定義最高競價價格,並在當前競價價格低於您的最高價格時獲取實例。 - 競價價格每小時根據供應和容量而變化,取決於市場需求。 - 如果當前競價價格高於您的最高價格,您可以選擇停止或終止實例,並有2分鐘的寬限期。 - 另一種策略是使用"Spot Block",它允許在指定的時間範圍(1至6小時)內"阻塞"競價實例,而不會被中斷。 - 在極少數情況下,競價實例可能會被回收。 - EC2競價實例通常用於批處理作業、數據分析或對失敗具有強韌性的工作負載。 - 不適用於關鍵任務或數據庫等重要工作 ## 價格波動  可以看到spot instance 的價格遠遠低於 on demend instance的價格 因此是省錢的好方法 只是價格會隨時間起伏 當高於自訂義的價格時就會停止運行<br></br>  可以選擇一次性或永久的spot instance 一次性:當instance停止後就不會重啟 永久:當instance 因價格高於自訂的價碼會停止,但當價格低時就又會重啟 ## Spot Fleets Spot Fleets(競價實例集群)是由一組競價實例和(可選的)按需實例組成的集合。Spot Fleets的目標是根據價格限制來滿足目標容量。以下是有關Spot Fleets的一些要點: - 可以定義多個可能的啟動池(Launch Pool),包括實例類型(例如m5.large)、操作系統和可用區。這些啟動池提供了多個選擇,使集群可以進行選擇。 - Spot Fleets會在達到容量或最大成本時停止啟動實例。 - 分配競價實例的策略: - lowestPrice:從具有最低價格的池中選取(用於成本優化和短期工作負載)。 - diversified:分散在所有池中(適用於可用性和長期工作負載)。 - capacityOptimized:選擇具有最佳容量的池來滿足實例數量。 - priceCapacityOptimized(推薦):選擇具有最高容量的池,然後從中選擇價格最低的池(適用於大多數工作負載)。 - Spot Fleets使我們能夠自動請求具有最低價格的競價實例,根據不同的分配策略和需求來獲取最具成本效益的實例。 使用Spot Fleets可以實現成本節省和彈性配置,同時確保可用性和容量的需求得到滿足。這對於需要處理變動工作負載或對成本敏感的應用程序非常有用。
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up