本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWSPremiumSupport-ChangeInstanceTypeIntelToAMD
Description (描述)
執行手AWSPremiumSupport-ChangeInstanceTypeIntelToAMD
冊可自動從英特爾驅動的亞馬遜彈性運算雲端 (Amazon EC2) 執行個體遷移到同等 AMD 支援的執行個體類型。此 Runbook 支援在 Nitro 系統上建置的一般用途 (M)、高載通用 (T)、運算最佳化 (C) 和記憶體最佳化 (R) 執行個體。此 runbook 可以在不受系統管理員管理的執行個體上使用。
為了降低資料遺失和停機的潛在風險,runbook 會檢查執行個體的停止行為、執行個體是否位於 Amazon EC2 Auto Scaling 群組中、執行個體的運作狀態,以及相同的 AMD 支援執行個體類型是否可在相同的可用區域中使用。根據預設,如果執行個體儲存磁碟區已連接,或執行個體是AWS CloudFormation堆疊的一部分,則此 runbook 不會變更執行個體類型。如果您想要變更此行為,請yes
為AllowInstanceStoreInstances
和AllowCloudFormationInstances
參數中的任一指定。
重要
存取 AWSPremiumSupport-*
Runbook 需要企業或商業支援訂閱。如需詳細資訊,請參閱比較AWS Support方案
考量
-
我們建議您在使用此 runbook 之前備份您的執行個體。
-
變更執行個體類型需要 runbook 停止執行個體。當執行個體停止時,儲存在 RAM 或執行個體儲存磁碟區中的任何資料都會遺失,並釋放自動公用 IPv4 位址。如需詳細資訊,請參閱停止和啟動執行個體。
-
如果您沒有為
TargetInstanceType
參數指定值,runbook 會嘗試以相同執行個體系列中的虛擬 CPU 和記憶體來識別相等的 AMD 執行個體。如果無法識別相等的 AMD 執行個體類型,執行手冊就會結束。 -
透過使用
DryRun
此選項,您可以擷取相等的 AMD 執行個體類型,並驗證需求,而無需實際變更執行個體類型。
文件類型
自動化
擁有者
Amazon
平台
Linux 系統macOS, Windows
參數
-
AutomationAssumeRole
類型:字串
說明:(選用) 允許系統管理員自動化代表您執行動作的 AWS Identity and Access Management (IAM) 角色的 Amazon 資源名稱 (ARN)。如果未指定任何角色,系統管理員自動化會使用啟動此 runbook 的使用者的權限。
-
確認
類型:字串
說明:(必要) 輸入
yes
以確認目標執行個體在執行時將會停止。 -
InstanceId
類型:字串
說明:(必填) 您要變更其類型之 Amazon EC2 執行個體的 ID。
-
TargetInstanceType
類型:字串
預設值:自動
說明:(選用) 您要將執行個體變更為的 AMD 執行個體類型。預設
automatic
值使用對等的執行個體類型,就虛擬 CPU 和記憶體而言。例如,m5.large 會變更為 m5a.large。 -
AllowInstanceStoreInstances
類型:字串
有效值:否 | 是
預設:否
說明:(選擇性) 如果您指定
yes
,runbook 會在已連接執行個體儲存磁碟區的執行個體上執行。 -
AllowCloudFormationInstances
類型:字串
有效值:否 | 是
預設:否
描述:(選擇性) 如果設定為
yes
,會在屬於AWS CloudFormation堆疊一部分的執行個體上執行 runbook。 -
AllowCrossGeneration
類型:字串
有效值:否 | 是
預設:否
說明:(選用) 如果設為
yes
,runbook 會嘗試在相同的執行個體系列中尋找最新的相等 AMD 執行個體類型。 -
DryRun
類型:字串
有效值:否 | 是
預設:否
說明:(選用) 如果設定為
yes
,runbook 會傳回相等的 AMD 執行個體類型並驗證遷移需求,而不需變更執行個體類型。 -
SleepWait
類型:字串
預設值:
描述:(選擇性) runbook 在開始新的自動化操作之前應該等待的時間。您為此參數提供的值必須與 ISO 8601 標準相符。如需有關建立 ISO 8601 字串的詳細資訊,請參閱 < 格式化系統管理員的日期和時間字串 >。
必要的 IAM 許可
此AutomationAssumeRole
參數需要執行下列動作,才能成功使用 Runbook。
-
ssm:DescribeAutomationExecutions
-
ssm:GetAutomationExecution
-
ssm:StartAutomationExecution
-
ec2:GetInstanceTypesFromInstanceRequirements
-
ec2:DescribeInstanceAttribute
-
ec2:DescribeInstances
-
ec2:DescribeInstanceStatus
-
ec2:DescribeInstanceTypeOfferings
-
ec2:DescribeInstanceTypes
-
ec2:DescribeTags
-
ec2:ModifyInstanceAttribute
-
ec2:StartInstances
-
ec2:StopInstances
文件步驟
-
aws:assertAwsResourceProperty
:確認目標 Amazon EC2 執行個體的狀態為running
pending
、stopped
、或stopping
。否則,自動化結束。 -
aws:executeAwsApi
:從目標 Amazon EC2 執行個體收集屬性。 -
aws:branch
:根據 Amazon EC2 執行個體的狀態分支自動化。-
如果是
stopped
或stopping
,則自動化會執行,aws:waitForAwsResourceProperty
直到 Amazon EC2 執行個體完全停止為止。 -
如果是
running
或pending
,則自動化會執行,aws:waitForAwsResourceProperty
直到 Amazon EC2 執行個體通過狀態檢查為止。
-
-
aws:assertAwsResourceProperty
:檢查aws:autoscaling:groupName
標籤是否已套用,以確認 Amazon EC2 執行個體不屬於自動擴展群組。 -
aws:executeAwsApi
:收集目前的執行個體類型屬性,以尋找相等的 AMD 執行個體類型。 -
aws:assertAwsResourceProperty
:確認AWS Marketplace產品代碼與 Amazon EC2 執行個體沒有關聯。部分產品並不適用於所有執行個體類型。 -
aws:branch
:根據您是否希望自動化檢查 Amazon EC2 執行個體是否屬於AWS CloudFormation堆疊來分支自動化-
如果將標
aws:cloudformation:stack-name
籤套用至執行個體,則會執行自動化作業aws:assertAwsResourceProperty
以確認執行個體不屬於AWS CloudFormation堆疊。
-
-
aws:branch
:根據執行個體根磁碟區類型是否為 Amazon 彈性區塊存放區 (Amazon EBS) 來分支自動化。 -
aws:assertAwsResourceProperty
:確認執行個體關閉行為是stop
與否terminate
。 -
aws:executeScript
:確認此 runbook 只有一個針對當前實例的自動化操作。如果另一個自動化操作已在針對同一個執行個體進行中,則會傳回錯誤並結束。 -
aws:executeAwsApi
:傳回具有相同記憶體和 vCPU 數量的 AMD 執行個體類型清單。 -
aws:executeScript
:檢查目前的執行個體類型是否受支援,並傳回相等的 AMD 執行個體類型。如果沒有相等的,則自動化結束。 -
aws:executeScript
:確認 AMD 執行個體類型在相同的可用區域中可用,並驗證提供的 IAM 許可。 -
aws:branch
:根據DryRun
參數值是否為分支自動化yes
。 -
aws:branch
:檢查原始執行個體和目標例證類型是否相同。如果它們是相同的,自動化結束。 -
aws:executeAwsApi
:取得目前執行個體狀態。 -
aws:changeInstanceState
:停止亞馬遜 EC2 實例。 -
aws:changeInstanceState
:如果執行個體停留在停止狀態,則強制停止執行個體。 -
aws:executeAwsApi
:將執行個體類型變更為目標 AMD 執行個體類型。 -
aws:sleep
: 為了達到最終一致性,變更執行個體類型後等待 3 秒。 -
aws:branch
:根據先前的執行個體狀態分支自動化。如果是running
,則會啟動執行個體。-
aws:changeInstanceState
:如果 Amazon EC2 執行個體在變更執行個體類型之前已執行,請啟動該執行個體。 -
aws:waitForAwsResourceProperty
:等待 Amazon EC2 執行個體通過狀態檢查。如果執行個體未通過狀態檢查,執行個體就會變回其原始執行個體類型。-
aws:changeInstanceState
:先停止 Amazon EC2 執行個體,再將其變更為原始執行個體類型。 -
aws:changeInstanceState
:強制 Amazon EC2 執行個體停止,然後再將其變更為原始執行個體類型,以防卡在停止狀態。 -
aws:executeAwsApi
:將亞馬遜 EC2 實例更改為其原始類型。 -
aws:sleep
: 變更執行個體類型後等待 3 秒,以達到最終一致性。 -
aws:changeInstanceState
:如果 Amazon EC2 執行個體在變更執行個體類型之前已執行,請啟動該執行個體。 -
aws:waitForAwsResourceProperty
:等待 Amazon EC2 執行個體通過狀態檢查。
-
-
-
aws:sleep
:在結束手冊之前等待。