在 AWS 測試環境中,創建一個Amazon EC2 Auto Scaling 演示平臺,可以在 AWS 管理控制臺界面中,向客戶直觀地展示 Amazon EC2 動態擴展的過程,讓客戶理解 Amazon EC2 Auto Scaling 是如何動態地自動調整 EC2 實例數量,滿足應用程序持續變動不可預測的工作負載,從而保證應用程序能夠正常運行。讓客戶理解 Amazon EC2 Auto Scaling 能夠有效降低運營成本的原因。
本次采用AWS Console界面完成作業。
注意:根據項目的具體情況,可以采用不同的實施方法。比如使用命令行(CLI)部署、代碼部署 (CloudFomation、Terraform等)、以及其它開發語言(SDK)完成作業。
步驟一:創建一個啟動模板(EC2 Auto Scaling Launch Template)
1.?打開 Amazon EC2 控制臺,在導航窗格中的實例下,選擇啟動模板。
2.選擇創建啟動模板,為啟動模板的初始版本輸入名稱并提供描述。
3. 在 Launch template contents(啟動模板內容)下,填寫每個必填字段以及所有可選字段。應用程序和操作系統映像(AMI)、實例類型、密鑰對名稱、VPC、安全組、公有IPv4地址、存儲卷的容量。
4. 在 User data 中輸入以下代碼,使得每臺 EC2 實例在啟動之后都會自動進行10秒左右的 CPU 壓力測試。
#!/bin/bash
yum update -y
yum install stress -y
/usr/bin/stress --cpu 8 --timeout 5m
5. 創建啟動模板
步驟二:創建一個自動伸縮組(EC2 Auto Scaling Group)
1. 從前面步驟的確認頁面上,選擇創建自動伸縮組(EC2 Auto Scaling Group)。
2. 配置自動伸縮組(EC2 Auto Scaling Group)。指定配置 Amazon EC2 實例所需的信息、實例的可用區和 VPC 子網、實例的預熱時間(300秒)、所需容量(1)以及最小(1)和最大容量(3)限制、容量縮減保護、以及設置 CloudWatch 詳細監控生效。
3. 創建一個動態擴展策略,閾值為 CPU 使用率大于80%。
4. 選擇創建自動伸縮組(EC2 Auto Scaling Group)
1. 在 EC2 控制臺界面,觀察 Amazon EC2 Auto Scaling 是第 1 臺 EC2實例啟動成功,并且已經處理服務中(In Service)狀態,之后將第 1 臺EC2實例命名為 server1。
2. 打開自動伸縮組(EC2 Auto Scaling Group)界面,更改實例的預熱時間為(60秒)并保存使新的設置生效。在 EC2 控制臺界面,觀察 Amazon EC2 Auto Scaling 自動把第 2 臺 和 第 3 臺EC2實例依次啟動成功,并且已經處理服務中(In Service)狀態。之后將第 1 臺EC2實例命名為 server2和server3。
3. 在 EC2 控制臺界面,繼續觀察 Amazon EC2 Auto Scaling 將 EC2實例的縮減為 1 臺。
4. 在自動伸縮組(EC2 Auto Scaling Group)監控界面中,觀察EC2實例的啟動,預熱時間以及終止的過程。