為了提供更加彈性、靈活的伸縮服務,伸縮配置支援設定金鑰組、標籤、執行個體RAM角色和執行個體自訂資料參數項。本文為您介紹四個特性的作用並示範其使用方式。
前提條件
使用本教程進行操作前,請確保您已經註冊了阿里雲帳號。如還未註冊,請先完成帳號註冊。
背景資訊
Auto Scaling(簡稱ESS,也稱為Auto Scaling)不僅提供了在業務需求高峰或低穀時自動調節ECS執行個體或ECI執行個體數量的能力,而且提供了在ECS執行個體或ECI執行個體上自動部署應用的能力。合理使用Auto Scaling服務,不僅能夠有效地降低您的伺服器成本,而且能夠有效地降低您的服務管理和營運成本。
Auto Scaling的伸縮配置支援多種特性,可以高效、靈活地自訂ECS執行個體或ECI執行個體的配置。為了協助您準確地理解和使用Auto Scaling服務,本文將結合伸縮配置特性介紹內容,示範伸縮組自動調整和自動部署的效果,包括為執行個體自動化佈建執行個體支援通行金鑰對登入、設定標籤屬性、添加執行個體RAM角色,並在執行個體啟動後自動執行自訂指令碼。
伸縮配置特性介紹
本文中的伸縮配置特性主要包括金鑰組、標籤、執行個體RAM角色和執行個體自訂資料四種特性,其詳細資料如下所示:
屬性類別別 | 說明 | 操作方式 |
金鑰組 | 阿里雲只支援RSA 2048位的金鑰組,僅Linux系統的ECS執行個體支援SSH金鑰組登入。在建立SSH金鑰組時,阿里雲會儲存密鑰的公開金鑰,並向您返回密鑰部分。 在Auto Scaling自動建立出ECS執行個體後,ECS執行個體會儲存該SSH金鑰組的公開金鑰,您在本機使用SSH金鑰組的私密金鑰即可登入自動建立的ECS執行個體。 說明 相比密碼方式,使用SSH金鑰組登入Linux執行個體更加快速、安全,您只需要在建立伸縮配置時選擇SSH金鑰組。更多資訊,請參見SSH金鑰組概述。 |
|
標籤 | 標籤可以識別資源和使用者組,允許企業或個人將相同作用的ECS或ECI資源歸類,便於搜尋和資源彙總。更多資訊,請參見標籤概述。 |
|
執行個體RAM角色 | 存取控制(Resource Access Management,RAM)是阿里雲提供的一項系統管理使用者身份與資源存取權限的服務。RAM支援建立不同的角色,不同的角色對不同的雲產品具有不同的操作許可權。 執行個體RAM角色讓ECS執行個體扮演具有某些許可權的角色,從而賦予執行個體一定的存取權限。更多資訊,請參見執行個體RAM角色概述。 重要 在伸縮配置中選擇執行個體RAM角色時,請確保執行個體RAM角色的權限原則允許您的執行個體扮演該執行個體RAM角色,否則伸縮配置無法彈出執行個體。 |
|
執行個體自訂資料 | Windows執行個體和Linux執行個體均支援設定執行個體自訂資料功能,更多資訊,請參見ECS執行個體自訂資料概述。 說明 相比Terraform等開源IT基礎架構管理工具,使用Auto Scaling原生的執行個體自訂資料更加快速、安全。關於使用執行個體自訂資料功能的注意事項和具體操作,請參見使用執行個體自訂資料自動設定ECS執行個體。 其主要功能體現如下:
|
|
步驟一:建立配置項
按照以下步驟建立所需的執行個體RAM角色、標籤、金鑰組和執行個體自訂資料。
建立標籤。
具體操作,請參見建立或綁定標籤。
建立金鑰組。
具體操作,請參見建立SSH金鑰組。
建立執行個體RAM角色。
具體操作,請參見建立可信實體為阿里雲服務的RAM角色。您也可以視情況選用已有的RAM角色,在伸縮配置中選擇執行個體RAM角色時,請確保執行個體RAM角色的權限原則允許伸縮組內的執行個體扮演該RAM角色,否則伸縮配置無法彈出執行個體。例如,RAM角色
AliyunECSImageExportDefaultRole
用於授權匯出鏡像,允許目前使用者的所有ECS執行個體扮演該RAM角色,其信任策略如下:{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "ecs.aliyuncs.com" ] } } ], "Version": "1" }
說明ecs.aliyuncs.com
表示允許目前使用者的所有ECS執行個體扮演該RAM角色。產生執行個體自訂資料。
具體操作,請參見ECS執行個體自訂資料概述。
本樣本中,建立了一個Shell指令碼,實現在執行個體初次開機後向/root/output10.txt檔案寫入字串
Hello World. The time is now{目前時間}
。指令碼樣本如下:#!/bin/sh echo "Hello World. The time is now $(date -R)!" | tee /root/output10.txt
說明本文使用的Shell指令碼比較簡單,您可以根據自己的需求定製指令碼,在執行個體啟動時自動實現更多功能。
指令碼經過Base64編碼後內容如下:
IyEvYmluL3NoDQplY2hvICJIZWxsbyBXb3JsZC4gIFRoZSB0aW1lIGlzIG5vdyAkKGRhdGUgLVIpISIgfCB0ZWUgL3Jvb3Qvb3V0cHV0MTAudHh0
步驟二:應用配置項
按照以下步驟建立伸縮組和伸縮配置,並在伸縮配置中應用步驟一中建立的配置項。
建立伸縮組。
具體操作,請參見配置伸縮組。
建立伸縮組時,請注意以下配置項:
配置項
說明
組內最小執行個體數
設定為1,表示在啟用伸縮組後,會自動建立1台ECS執行個體或ECI執行個體。
組內執行個體配置資訊來源
選擇從零開始建立的方式。
網路類型
選擇專用網路類型。
說明僅針對ECS類型的伸縮組,ECI類型的伸縮組無此配置項。
專用網路
選擇已建立的專用網路ID。
選擇交換器
選擇對應虛擬交換器。
建立並啟動伸縮配置。
具體操作,請參見建立伸縮配置(ECS執行個體)。
啟用伸縮組。
具體操作,請參見啟用伸縮組。
步驟三:驗證自訂配置效果
由於建立伸縮組時指定組內最小執行個體數為1,在啟用伸縮組後即會自動建立1台執行個體(以ECS執行個體為例),保證伸縮組滿足最小執行個體數的限制。
查看自動建立出的ECS執行個體。
具體操作,請參見查詢執行個體列表。
在雲端服務器ID/名稱列中,單擊執行個體ID,查看ECS執行個體詳情。
下圖為執行個體詳情,可見伸縮配置中的標籤和執行個體RAM角色配置已生效。
使用SSH金鑰組登入執行個體。
具體操作,請參見通過密鑰認證登入Linux執行個體。
下圖為登入成功的效果,表示伸縮配置中的SSH金鑰組配置已生效。
運行以下命令,查看/root/output10.txt檔案內容。
cat /root/output10.txt
下圖為檔案內容,表示伸縮配置中的執行個體自訂資料配置已生效。