Solucionar problemas em instâncias danificadas do Windows com o EC2Rescue e o Systems Manager
O AWS Support fornece um documento Run Command do Systems Manager para interagir com a instância habilitada para Systems Manager a fim de executar o EC2Rescue for Windows Server. O documento Run Command é chamado AWSSupport-RunEC2RescueForWindowsTool
.
Este documento Run Command do Systems Manager realiza as seguintes tarefas:
-
Baixa e verifica o EC2Rescue for Windows Server.
-
Importa um módulo do PowerShell para facilitar a interação com a ferramenta.
-
Executa EC2RescueCmd com o comando e os parâmetros fornecidos.
O documento Run Command do Systems Manager aceita três parâmetros:
-
Comando—A EC2Rescue for Windows Server ação. Os valores atuais permitidos são:
-
ResetAccess—Restaura a senha do administrador local. A senha de administrador local da instância atual será restaurada e uma senha gerada aleatoriamente será armazenada com segurança no Parameter Store como
/EC2Rescue/Password/<INSTANCE_ID>
. Se você selecionar essa ação e não fornecer um parâmetro, as senhas serão criptografadas automaticamente com a chave padrão Chave do KMS. Opcionalmente, você pode especificar um ID de chave Chave do KMS em Parameters (Parâmetros) para criptografar a senha com sua própria chave. -
CollectLogs—Executa o EC2Rescue for Windows Server com a ação
/collect:all
. Se você selecionar essa ação,Parameters
deverá incluir um nome de bucket Amazon S3 no qual carregar os logs. -
FixAlll—Executa o EC2Rescue for Windows Server com a ação
/rescue:all
. Se você selecionar essa ação,Parameters
deverá incluir o nome de dispositivo de bloco para salvar.
-
-
Parameters—Os parâmetros do PowerShell para passar para o comando especificado.
nota
Para que a ação ResetAccess funcione, sua instância do Amazon EC2 precisa ter a seguinte política vinculada para gravar a senha criptografada no Parameter Store. Espere alguns minutos antes de tentar recuperar senha de uma instância depois de anexar essa política na função IAM relativa a ela.
Usando a Chave do KMS padrão:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:PutParameter" ], "Resource": [ "arn:aws:ssm:
region
:account_id
:parameter/EC2Rescue/Passwords/<instanceid>
" ] } ] }
Usar uma Chave do KMS personalizada:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:PutParameter" ], "Resource": [ "arn:aws:ssm:
region
:account_id
:parameter/EC2Rescue/Passwords/<instanceid>
" ] }, { "Effect": "Allow", "Action": [ "kms:Encrypt" ], "Resource": [ "arn:aws:kms:region
:account_id
:key/<kmskeyid>
" ] } ] }
O procedimento a seguir descreve como visualizar o JSON para este documento no console do Amazon EC2.
Para visualizar o JSON para o documento Run Command do Systems Manager
-
Abra o console AWS Systems Manager em https://console.aws.amazon.com/systems-manager/
. -
No painel de navegação, expanda Shared Services e escolha Documents.
-
Na barra de pesquisa, defina o Proprietário como Meu ou da Amazon e defina o Prefixo de nome do documento como
AWSSupport-RunEC2RescueForWindowsTool
. -
Selecione o documento
AWSSupport-RunEC2RescueForWindowsTool
, escolha Contents, e visualize o JSON.
Exemplos
Veja alguns exemplos sobre como usar o documento Run Command do Systems Manager para executar o EC2Rescue for Windows Server usando a AWS CLI. Para obter mais informações sobre o envio de comandos com a AWS CLI, consulte a Referência de comandos da AWS CLI.
Tentar corrigir todos os problemas identificados em um volume raiz offline
Tente corrigir todos os problemas identificados em um volume raiz off-line associado a uma instância do Windows do Amazon EC2:
aws ssm send-command --instance-ids "
i-0cb2b964d3e14fd9f
" --document-name "AWSSupport-RunEC2RescueForWindowsTool" --comment "EC2Rescue offline volume xvdf
" --parameters "Command=FixAll, Parameters='xvdf
'" --output text
Coletar logs da instância atual do Windows do Amazon EC2
Colete todos os logs da instância atual do Windows do Amazon EC2 online e carregue-os em um bucket do Amazon S3:
aws ssm send-command --instance-ids "
i-0cb2b964d3e14fd9f
" --document-name "AWSSupport-RunEC2RescueForWindowsTool" --comment "EC2Rescue online log collection to S3
" --parameters "Command=CollectLogs, Parameters='amzn-s3-demo-bucket
'" --output text
Coletar logs de um volume de instância do Windows do Amazon EC2 offline
Colete todos os logs de um volume offline associado a uma instância do Windows do Amazon EC2 e carregue-os no Amazon S3 com um URL pré-assinado:
aws ssm send-command --instance-ids "
i-0cb2b964d3e14fd9f
" --document-name "AWSSupport-RunEC2RescueForWindowsTool" --comment "EC2Rescue offline log collection to S3
" --parameters "Command=CollectLogs, Parameters=\"-Offline -BlockDeviceNamexvdf
-S3PreSignedUrl 'YOURS3PRESIGNEDURL
'\"" --output text
Redefinir a senha do administrador local
Os seguintes exemplos mostram os métodos que você pode usar para restaurar a senha de administrador local. A saída fornece um link para o Parameter Store, onde você encontra a senha segura gerada aleatoriamente para usar o RDP para sua instância do Windows do Amazon EC2 como administrador local.
Restaurar a senha de administrador local de uma instância online usando a chave padrão AWS KMS key alias/aws/ssm:
aws ssm send-command --instance-ids "
i-0cb2b964d3e14fd9f
" --document-name "AWSSupport-RunEC2RescueForWindowsTool" --comment "EC2Rescue online password reset
" --parameters "Command=ResetAccess" --output text
Restaurar a senha de administrador local de uma instância online usando uma Chave do KMS:
aws ssm send-command --instance-ids "
i-0cb2b964d3e14fd9f
" --document-name "AWSSupport-RunEC2RescueForWindowsTool" --comment "EC2Rescue online password reset
" --parameters "Command=ResetAccess, Parameters=a133dc3c-a2g4-4fc6-a873-6c0720104bf0
" --output text
nota
Nesse exemplo, a Chave do KMS é a133dc3c-a2g4-4fc6-a873-6c0720104bf0
.