
關鍵要點
- AWS EC2 Auto Scaling 是一款強大的功能,允許根據需求自動調整基礎架構中 EC2 實例的數量。它包含三個主要組件:啟動模板、自動伸縮組和伸縮策略。
- 設置自動伸縮涉及創建啟動模板、使用啟動模板創建自動伸縮組以及配置伸縮策略。 AWS CLI 可用於創建這些組件。監控和測試設置對於確保其按預期工作至關重要。
- 自動伸縮提供了多項優勢,包括確保擁有合適的計算能力、具有成本效益以及增強應用程序的可用性和容錯能力。它可以與各種 AWS 服務一起使用,並且自動伸縮不收取額外費用。
Amazon Web Services (AWS) 提供廣泛的雲計算服務,包括用於可擴展計算資源的 Elastic Compute Cloud (EC2)。 EC2 自動伸縮是一項強大的功能,允許您根據需求自動調整基礎架構中 EC2 實例的數量。在本教程中,我們將介紹 AWS EC2 自動伸縮的基礎知識,並提供有關如何設置它的分步說明。
內容:
- AWS EC2 自動伸縮簡介
- EC2 自動伸縮先決條件
- 創建 EC2 啟動模板
- 創建自動伸縮組
- 配置伸縮策略
- 監控和測試
- EC2 自動伸縮備忘單
AWS EC2 自動伸縮簡介
EC2 自動伸縮通過根據需求自動向上或向下擴展實例數量來幫助您維護基礎架構中的最佳實例數量。這確保您擁有足夠的資源來處理流量峰值,並在需求較低期間通過釋放不需要的實例來降低成本。
EC2 自動伸縮包含三個主要組件:
-
啟動模板:指定將啟動的實例的實例類型、AMI 和其他設置的配置模板。
-
自動伸縮組:共享相同的啟動模板和伸縮策略的實例組。
-
伸縮策略:確定何時以及如何擴展自動伸縮組中實例數量的規則。
EC2 自動伸縮先決條件
在開始之前,請確保您擁有以下內容:
- 一個 AWS 帳戶,具有創建和管理 EC2 實例、啟動模板和自動伸縮組的必要權限。
- 已安裝並配置了 AWS 憑據的 AWS CLI。
- 對 AWS EC2 及其組件的基本了解。
創建 EC2 啟動模板
啟動模板是可重複使用的配置,它指定在自動伸縮組中啟動的實例的設置。要創建啟動模板,請按照以下步驟操作:
- 登錄 AWS 管理控制台,然後導航到 EC2 儀表板。
- 在左側菜單中,單擊實例下的啟動模板。
- 單擊創建啟動模板按鈕。
- 填寫必需的字段,例如模板名稱、說明和 Amazon Machine Image (AMI) ID。您可以通過在 EC2 儀表板的實例部分搜索所需的實例類型來查找 AMI ID。
- 根據您的需求選擇實例類型,例如 t2.micro 或 m5.large。
- 根據需要配置其他設置,例如存儲、安全組和密鑰對。
- 單擊創建啟動模板以保存您的配置。
您還可以使用以下命令使用 AWS CLI 創建啟動模板:
1 | <code>aws ec2-template --launch-template-name MyLaunchTemplate --version-description "Initial version" --launch-template-data '{"ImageId":"ami-0c94855ba95b798c7","InstanceType":"t2.micro","KeyName":"my-key-pair"}' </code>
|
登入後複製
登入後複製
將 ImageId、InstanceType 和 KeyName 的值替換為您所需的設置。
創建自動伸縮組
自動伸縮組是共享相同的啟動模板和伸縮策略的實例集合。要創建自動伸縮組,請按照以下步驟操作:
- 在 AWS 管理控制台中,導航到 EC2 儀表板。
- 在左側菜單中,單擊自動伸縮下的自動伸縮組。
- 單擊創建自動伸縮組按鈕。
- 選擇您之前創建的啟動模板,然後單擊下一步。
- 為您的自動伸縮組選擇一個名稱,並配置所需的 VPC 和子網。
- 設置自動伸縮組的所需最小實例數、最大實例數和所需實例數。
- 根據需要配置任何其他設置,例如負載平衡和運行狀況檢查。
- 單擊創建自動伸縮組以保存您的配置。
您還可以使用以下命令使用 AWS CLI 創建自動伸縮組:
1 | <code>aws Auto Scaling create-auto-scaling-group --auto-scaling-group-name MyAuto ScalingGroup --launch-template "LaunchTemplateName=MyLaunchTemplate" --min-size 1 --max-size 3 --desired-capacity 2 --vpc-zone-identifier "subnet-12345678,subnet-abcdefgh" </code>
|
登入後複製
將 LaunchTemplateName、min-size、max-size、desired-capacity 和 vpc-zone-identifier 的值替換為您所需的設置。
配置伸縮策略
伸縮策略決定何時以及如何擴展自動伸縮組中的實例數量。伸縮策略有三種類型:
-
目標跟踪伸縮:根據預定義的指標(例如平均 CPU 利用率或網絡流量)自動調整實例數量。
-
階梯伸縮:根據 CloudWatch 警報以階梯方式增加或減少實例數量。
-
簡單伸縮:根據單個 CloudWatch 警報增加或減少實例數量。
在本教程中,我們將重點介紹目標跟踪伸縮策略。
要創建目標跟踪伸縮策略,請按照以下步驟操作:
- 在 AWS 管理控制台中,導航到 EC2 儀表板。
- 在左側菜單中,單擊自動伸縮下的自動伸縮組。
- 選擇您的自動伸縮組,然後單擊伸縮策略選項卡。
- 單擊創建伸縮策略按鈕。
- 選擇目標跟踪伸縮策略作為策略類型。
- 輸入伸縮策略的名稱。
- 選擇預定義的指標(例如平均 CPU 利用率或每個目標的請求計數),並設置目標值。
- 根據需要配置任何其他設置,例如冷卻時間和實例預熱時間。
- 單擊創建以保存您的伸縮策略。
您還可以使用以下命令使用 AWS CLI 創建目標跟踪伸縮策略:
1 | <code>aws ec2-template --launch-template-name MyLaunchTemplate --version-description "Initial version" --launch-template-data '{"ImageId":"ami-0c94855ba95b798c7","InstanceType":"t2.micro","KeyName":"my-key-pair"}' </code>
|
登入後複製
登入後複製
將 policy-name、auto-scaling-group-name、PredefinedMetricType 和 TargetValue 的值替換為您所需的設置。
監控和測試
設置自動伸縮組和伸縮策略後,務必監控和測試您的配置以確保其按預期工作。
要監控您的自動伸縮組,您可以使用 Amazon CloudWatch 來跟踪 CPU 利用率、網絡流量和實例計數等指標。您還可以設置 CloudWatch 警報,以便在超過特定閾值時通知您。
要測試您的自動伸縮配置,您可以模擬流量峰值或資源使用量增加,並觀察您的自動伸縮組如何響應。您還可以手動調整自動伸縮組的所需容量,以查看它如何向上或向下擴展。
結論
在本教程中,我們介紹了 AWS EC2 自動伸縮的基礎知識,包括創建啟動模板、自動伸縮組和伸縮策略。通過在您的基礎架構中實施自動伸縮,您可以確保擁有足夠的資源來處理流量峰值,並在需求較低期間通過釋放不需要的實例來降低成本。
(後續內容,例如EC2 自動伸縮備忘單和FAQ,由於篇幅限制,此處省略。您可以根據需要自行補充。)
以上是AWS EC2自動縮放配置的最佳實踐的詳細內容。更多資訊請關注PHP中文網其他相關文章!