本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
重設EC2執行個體上的密碼和SSH金鑰
您可以使用 AWSSupport-ResetAccess
runbook 在 Amazon 彈性運算雲端 (AmazonEC2) 執行個體上自動重新啟用本機管理員密碼產生,Windows Server並在 Linux 執行個EC2體上產生新SSH金鑰。AWSSupport-ResetAccess
runbook 旨在執行 AWS Systems Manager 動作、動作和功能的組合,這些 AWS Lambda 功能會自 AWS CloudFormation 動執行重設本機管理員密碼通常所需的步驟。
您可以使用自動化,功能 AWS Systems Manager,與 AWSSupport-ResetAccess
runbook 來解決下列問題:
Windows
您遺失了 EC2 key pair:若要解決此問題,您可以使用 AWSSupport-ResetAccess runbook 從目前的執行個體建立啟用密碼的執行個體、AMI從啟動新執行個體AMI,然後選取您擁有的 key pair。
您遺失了本機系統管理員密碼:若要解決此問題,您可以使用 AWSSupport-ResetAccess
runbook 產生新的密碼,您可以使用目前的 EC2 key pair 來解密。
Linux
您遺失 EC2 key pair,或是使用遺失的金鑰設定對執行個體的SSH存取權:若要解決此問題,您可以使用 AWSSupport-ResetAccess
runbook 為目前的執行個體建立新SSH金鑰,讓您再次連線至執行個體。
注意
如果您的EC2執行個體Windows Server已設定為「Systems Manager 員」,您也可以使用EC2Rescue和來重設本機管理員密碼 AWS Systems Manager Run Command。如需詳細資訊,請參閱 Amazon 使EC2Rescue用EC2者指南Run Command中的搭配 Systems Manager 使用 Windows 伺服器。
- 相關資訊
-
使用 Amazon 使用EC2者指南TTY中的 Pu 從 Windows Connect 到您的 Linux 執行個體
運作方式
使用 Automation 和 AWSSupport-ResetAccess
Runbook 對執行個體進行故障診斷的運作方式如下:
-
您要指定執行個體 ID 並執行 Runbook。
-
系統會建立暫時性的VPC,然後執行一系列 Lambda 函數來設定VPC.
-
系統會在與原始執行個體位於相同可用區域VPC中的暫時性識別子網路。
-
系統會啟動SSM已啟用的暫時協助程式執行個體。
-
系統會停止您的原始執行個體,並建立備份。接著系統會將原始根磁碟區連接至協助程式執行個體。
-
系統會使用Run Command在協助程式執行個體EC2Rescue上執行。在 Windows 上,透過使用EC2Config或EC2Launch連接的原始根磁碟區,為本機管理員EC2Rescue啟用密碼產生。在 Linux 上,EC2Rescue生成並注入一個新密SSH鑰,並將私鑰保存在中Parameter Store加密。完成後,將根磁碟區EC2Rescue重新附加至原始例證。
-
密碼產生啟用後,系統會在您的執行個體建立新的 Amazon Machine Image (AMI)。您可以使用它AMI來創建一個新EC2實例,並在需要時關聯新的 key pair。
-
系統會重新啟動您的原始執行個體,並終止暫時執行個體。系統也會終止在自動化開始時建立的暫時性VPC和 Lambda 函數。
-
Windows:您的執行個體會產生一個新密碼,您可以使用指派給執行個體的目前 key pair 從 Amazon EC2 主控台解碼。
Linux:您可以SSH使用存儲在 Systems Manager 參數存儲中的SSH密鑰作為 /ec2rl/openssh/
instance ID
/鍵。
開始之前
執行以下自動化之前,請先執行以下項目:
-
複製您想要重設管理員密碼的執行個體之執行個體 ID。您會在程序中指定此 ID。
-
或者,收集與無法連線之執行個體位於相同可用區域中的子網路 ID。EC2Rescue執行個體將在此子網路中建立。如果您未指定子網路,則自動化會VPC在您的 AWS 帳戶. 確認您至少 AWS 帳戶 有一個VPC可用的資料。默認情況下,您可以VPCs在一個區域中創建五個。如果您已經在區域VPCs中建立了五個,則自動化操作會失敗,而不會對執行個體進行變更。如需 Amazon VPC 配額的詳細資訊,請參閱 Amazon VPC 使用者指南中的VPC和子網路。
-
或者,您可以為自動化建立和指定 AWS Identity and Access Management (IAM) 角色。如果您不指定此角色,則自動化會在執行自動化的使用者內容中執行。
授EC2Rescue予 AWSSupport-對執行個體執行動作的權限
EC2Rescue需要權限才能在自動化期間對執行個體執行一系列動作。這些動作會叫用 AWS Lambda IAM、和 Amazon EC2 服務,以安全且安全地嘗試修復執行個體的問題。如果您在您的 AWS 帳戶 和/或中具有管理員層級權限VPC,則可以執行自動化操作而無需設定權限,如本節所述。如果您沒有管理員層級的許可,則您或管理員必須使用以下其中一個選項來設定許可。
使用 IAM 政策授予許可
您可以將下列IAM原則作為內嵌原則附加至使用者、群組或角色;或者,您可以建立新的IAM受管理原則,並將其附加至您的使用者、群組或角色。如需有關新增內嵌政策至使用者、群組或角色的詳細資訊,請參閱使用內嵌政策。如需建立新受管政策的詳細資訊,請參閱使用受管政策。
注意
如果您建立新的IAM受管原則,也必須將 A mazonSSMAutomation 角色受管理的原則附加至該原則,以便您的執行個體能夠與 Systems Manager 通訊API。
IAM政策 AWSSupport-ResetAccess
Replace (取代) account ID
使用您自己的信息。
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "lambda:InvokeFunction", "lambda:DeleteFunction", "lambda:GetFunction" ], "Resource": "arn:aws:lambda:*:
account ID
:function:AWSSupport-EC2Rescue-*", "Effect": "Allow" }, { "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::awssupport-ssm.*/*.template", "arn:aws:s3:::awssupport-ssm.*/*.zip" ], "Effect": "Allow" }, { "Action": [ "iam:CreateRole", "iam:CreateInstanceProfile", "iam:GetRole", "iam:GetInstanceProfile", "iam:PutRolePolicy", "iam:DetachRolePolicy", "iam:AttachRolePolicy", "iam:PassRole", "iam:AddRoleToInstanceProfile", "iam:RemoveRoleFromInstanceProfile", "iam:DeleteRole", "iam:DeleteRolePolicy", "iam:DeleteInstanceProfile" ], "Resource": [ "arn:aws:iam::account ID
:role/AWSSupport-EC2Rescue-*", "arn:aws:iam::account ID
:instance-profile/AWSSupport-EC2Rescue-*" ], "Effect": "Allow" }, { "Action": [ "lambda:CreateFunction", "ec2:CreateVpc", "ec2:ModifyVpcAttribute", "ec2:DeleteVpc", "ec2:CreateInternetGateway", "ec2:AttachInternetGateway", "ec2:DetachInternetGateway", "ec2:DeleteInternetGateway", "ec2:CreateSubnet", "ec2:DeleteSubnet", "ec2:CreateRoute", "ec2:DeleteRoute", "ec2:CreateRouteTable", "ec2:AssociateRouteTable", "ec2:DisassociateRouteTable", "ec2:DeleteRouteTable", "ec2:CreateVpcEndpoint", "ec2:DeleteVpcEndpoints", "ec2:ModifyVpcEndpoint", "ec2:Describe*" ], "Resource": "*", "Effect": "Allow" } ] }
使用 AWS CloudFormation 範本授與權限
AWS CloudFormation 使用預先設定的範本,將建立IAM角色和原則的程序自動化。使用下列程序,透過使用建立EC2Rescue自動化的必要IAM角色和原則 AWS CloudFormation。
若要建立必要的IAM角色和原則 EC2Rescue
-
下載
AWSSupport-EC2RescueRole.zip
並將AWSSupport-EC2RescueRole.json
檔案解壓縮至本機電腦上的目錄。 -
如果您 AWS 帳戶 的分割區位於特殊分割區中,請編輯範本,將ARN值變更為分割區的值。
例如,對於中國區域,將
arn:aws
的所有案例變更為arn:aws-cn
。 登入 AWS Management Console 並在 https://console.aws.amazon.com/cloudFormation
中開啟 AWS CloudFormation 主控台。 -
選擇 Create stack (建立堆疊)、With new resources (standard) (使用新資源 (標準))。
-
在 Create stack (建立堆疊) 頁面上,對於 Prerequisite - Prepare template (先決條件 - 準備範本),選擇 Template is ready (範本已準備就緒)。
-
對於 Specify template (指定範本),選擇 Upload a template file (上傳範本檔案)。
-
選擇 Choose file (選擇檔案),然後瀏覽並從您解壓縮檔案的目錄中選取
AWSSupport-EC2RescueRole.json
檔案。 -
選擇 Next (下一步)。
-
在 Specify stack details (指定堆疊詳細資訊) 頁面上,對於 Stack name (堆疊名稱) 欄位,輸入識別此堆疊的名稱,然後選擇 Next (下一步)。
-
(選用) 在 Tags (標籤) 區域中將一個或多個標籤索引鍵名稱/值對套用到堆疊。
標籤是您指派給資源的選用性中繼資料。標籤可讓您以不同的方式 (例如用途、擁有者或環境) 將資源分類。例如,您可能想要標記堆疊來識別其執行的任務類型、相關的目標類型或其他資源,以及其執行所在的環境。
-
選擇 Next (下一步)
-
在 [複查] 頁面上,檢閱堆疊詳細資料,然後向下捲動並選擇 [我確認 AWS CloudFormation 可能會建立IAM資源] 選項。
-
AWS CloudFormation 顯示 CREATE_IN_ PROGRESS 狀態持續幾分鐘。堆疊建立COMPLETE之後,狀態會變更為 CREATE_。您也可以選擇重新整理圖示來檢查建立程序的狀態。
-
在堆疊清單中,選擇您剛建立堆疊旁的選項,然後選擇 Outputs (輸出) 標籤。
-
複製 Value (值)。是ARN的 AssumeRole. 當您執行「自動化」ARN 時,您將指定此選項。
執行自動化
下列程序說明如何使用 AWS Systems Manager
主控台來執行 AWSSupport-ResetAccess
Runbook。
重要
以下自動化會停止執行個體。停止執行個體可能會導致已連接執行個體存放磁碟區上的資料遺失 (若有)。停止執行個體也可能會導致公有 IP 變更 (若無關聯的彈性 IP)。為了避免這些組態變更,請使用 Run Command 重設存取。如需詳細資訊,請參閱 Amazon 使EC2Rescue用EC2者指南Run Command中的搭配 Systems Manager 使用 Windows 伺服器。
若要執行 AWSSupport-ResetAccess 自動化
在開啟 AWS Systems Manager 主控台https://console.aws.amazon.com/systems-manager/
。 在導覽窗格中,選擇 Automation (自動化)。
-
選擇 Execute automation (執行自動化)。
-
在 Automation document (自動化文件) 部分,從清單選擇 Owned by Amazon (由 Amazon 所有)。
-
在 Runbook 清單中,選擇卡片中的按鈕 AWSSupport-ResetAccess,然後選擇 [下一步]。
-
在 Execute automation document (執行自動化文件) 頁面上,選擇 Simple execution (簡易執行)。
-
在 Document details (文件詳細資訊) 部分,確認 Document version (文件版本) 設為最高的預設版本。例如,$ DEFAULT 或 3 (預設值)。
-
在 Input parameters (輸入參數) 區段中,指定以下參數:
-
針對 InstanceID,指定無法連線之執行個體的 ID。
-
對於 SubnetId,指定與您指定執行個體位於相同可用區域VPC中的現有子網路。根據預設,Systems Manager 會建立新的子網路VPC,但您可以視需要在現有VPC子網路中指定子網路。
注意
如果您沒見到指定子網路 ID 的選項,請確認您使用的是 Runbook 最新的 Default (預設) 版本。
-
對於 EC2RescueInstanceType,指定執行個體的執行個EC2Rescue體類型。預設執行個體類型為
t2.medium
。 -
對於 AssumeRole,如果您使用本主題前面描述的 AWS CloudFormation 程序為此自動化建立角色,請指 AssumeRole ARN定您在主 AWS CloudFormation 控台中註明的角色。
-
-
(選用) 在 Tags (標籤) 區域中,套用一個或多個標籤索引鍵名稱/值對以協助識別自動化,例如
Key=Purpose,Value=ResetAccess
。 -
選擇 Execute (執行)。
-
若要監控自動化進度,請選擇執行中的自動化,接著選擇 Steps (步驟) 標籤。自動化結束時,選擇 Descriptions (描述) 標籤,接著選擇 View output (檢視輸出) 以檢視結果。若要檢視個別步驟的輸出,請選擇 Steps (步驟) 標籤,然後選擇步驟旁的 View Outputs (檢視輸出)。
作為自動化的一部分,Runbook 會建立備份 AMI 和已啟用密碼的 AMI。其他所有由自動化建立的資源都會自動刪除,但此 AMIs 會保留於您的帳戶。這些 AMIs 使用以下慣例命名:
-
BackupAMI:
AWSSupport-EC2Rescue:
InstanceID
-
啟用密碼AMI: AWSSupport-EC2Rescue: 密碼啟用來源 AMI
Instance ID
您可以搜尋自動化執行 ID 以找到這些 AMIs。
對於 Linux,您執行個體的新SSH私密金鑰會在中儲存、加密Parameter Store。參數名稱是 /ec2rl/開放式/instance
ID
/鍵。