EC2Rescue와 Systems Manager로 손상된 Windows 인스턴스 트러블슈팅하기
EC2Rescue와 Systems Manager로 손상된 Windows 인스턴스 트러블슈팅하기
지원은 Systems Manager가 활성화된 인스턴스와 인터페이스하여 Windows Server용 EC2Rescue를 실행하는 Systems Manager Run Command 문서를 제공해요. Run Command 문서 이름은 **AWSSupport-RunEC2RescueForWindowsTool**입니다.
출처: 문서
본문
이 Systems Manager Run Command 문서는 다음 작업을 수행합니다.
- Windows Server용 EC2Rescue를 다운로드하고 확인합니다.
- 도구와의 상호작용을 쉽게 해주는 PowerShell 모듈을 가져옵니다.
- 제공된 명령과 파라미터로 EC2RescueCmd를 실행합니다.
Systems Manager Run Command 문서는 세 가지 파라미터를 받습니다.
- Command — Windows Server용 EC2Rescue 작업. 현재 허용되는 값은 다음과 같습니다.
- ResetAccess — 로컬 Administrator 비밀번호를 재설정합니다. 현재 인스턴스의 로컬 Administrator 비밀번호가 재설정되고 무작위로 생성된 비밀번호가 Parameter Store의
/EC2Rescue/Password/<INSTANCE_ID>에 안전하게 저장됩니다. 이 작업을 선택하고 파라미터를 제공하지 않으면 비밀번호는 기본 KMS 키로 자동 암호화됩니다. 선택적으로Parameters에서 KMS 키 ID를 지정해 자체 키로 비밀번호를 암호화할 수 있어요. - CollectLogs — Windows Server용 EC2Rescue를
/collect:all작업으로 실행합니다. 이 작업을 선택하면Parameters에 로그를 업로드할 Amazon S3 버킷 이름이 포함되어야 합니다. - FixAll — Windows Server용 EC2Rescue를
/rescue:all작업으로 실행합니다. 이 작업을 선택하면Parameters에 구제할 블록 장치 이름이 포함되어야 합니다.
- ResetAccess — 로컬 Administrator 비밀번호를 재설정합니다. 현재 인스턴스의 로컬 Administrator 비밀번호가 재설정되고 무작위로 생성된 비밀번호가 Parameter Store의
- Parameters — 지정된 명령에 전달할 PowerShell 파라미터.
요구사항 (Requirements)
ResetAccess 작업을 실행하려면 Amazon EC2 인스턴스에 암호화된 비밀번호를 Parameter Store에 쓸 권한을 부여하는 정책이 연결되어 있어야 해요. 정책을 연결한 후 관련 IAM 역할에 연결하기 몇 분을 기다린 후 인스턴스 비밀번호 재설정을 시도하세요.
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ssm:PutParameter"
],
"Resource": [
"arn:aws:ssm:us-east-1:111122223333:parameter/EC2Rescue/Passwords/<instanceid>"
]
}
]
}
기본 KMS 키가 아닌 커스텀 KMS 키를 사용한다면 이 정책을 대신 사용하세요.
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ssm:PutParameter"
],
"Resource": [
"arn:aws:ssm:us-east-1:111122223333:parameter/EC2Rescue/Passwords/<instanceid>"
]
}
],
"Statement": [
...
]
}
참고: 위 정책은 커스텀 KMS 키 예시로,
kms:Encrypt작업과 함께 사용해야 합니다(KMS 키를 사용할 때). 올바른 최종 정책은 다음 JSON을 참고하세요.
다음은 커스텀 KMS 키를 사용하는 올바른 정책입니다.
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ssm:PutParameter"
],
"Resource": [
"arn:aws:ssm:us-east-1:111122223333:parameter/EC2Rescue/Passwords/<instanceid>"
]
},
{
"Effect": "Allow",
"Action": [
"kms:Encrypt"
],
"Resource": [
"arn:aws:kms:us-east-1:111122223333:key/<kmskeyid>"
]
}
]
}
문서의 JSON 보기 (View the JSON for the document)
다음 절차는 이 문서의 JSON을 보는 방법을 설명해요.
Systems Manager Run Command 문서의 JSON을 보려면
- AWS Systems Manager 콘솔을 엽니다. https://console.aws.amazon.com/systems-manager/
- 탐색 창에서 Change Management Tools를 펼치고 Documents를 선택합니다.
- 검색 창에
AWSSupport-RunEC2RescueForWindowsTool을 입력하고AWSSupport-RunEC2RescueForWindowsTool문서를 선택합니다. - Content 탭을 선택합니다.
예시 (Examples)
다음은 AWS CLI를 사용해 Systems Manager Run Command 문서로 Windows Server용 EC2Rescue를 실행하는 예시입니다. AWS CLI로 명령을 보내는 방법에 대한 자세한 내용은 send-command 문서를 참고하세요.
- 오프라인 루트 볼륨의 식별된 모든 문제를 수정하려 시도
- 현재 Amazon EC2 Windows 인스턴스에서 로그 수집
- 로컬 Administrator 비밀번호 재설정
오프라인 루트 볼륨의 식별된 모든 문제를 수정하려 시도
Amazon EC2 Windows 인스턴스에 연결된 오프라인 루트 볼륨의 식별된 모든 문제를 수정하려 시도합니다.
aws ssm send-command --instance-ids "i-0cb2b964d3e14fd9f" --document-name "AWSSupport-RunEC2RescueForWindowsTool" --parameters "Command=FixAll, Parameters='xvdf'" --output text
현재 Amazon EC2 Windows 인스턴스에서 로그 수집
현재 온라인 Amazon EC2 Windows 인스턴스에서 모든 로그를 수집해 Amazon S3 버킷에 업로드합니다.
aws ssm send-command --instance-ids "i-0cb2b964d3e14fd9f" --document-name "AWSSupport-RunEC2RescueForWindowsTool" --parameters "Command=CollectLogs, Parameters='amzn-s3-demo-bucket'" --output text
로컬 Administrator 비밀번호 재설정
다음 예시는 로컬 Administrator 비밀번호를 재설정하는 데 사용할 수 있는 방법을 보여줘요. 출력은 Parameter Store에 대한 링크를 제공하며, 여기서 로컬 Administrator로 Amazon EC2 Windows 인스턴스에 RDP로 접속하는 데 사용할 수 있는 무작위로 생성된 보안 비밀번호를 찾을 수 있습니다.
기본 AWS KMS 키 alias/aws/ssm을 사용해 온라인 인스턴스의 로컬 Administrator 비밀번호를 재설정합니다.
aws ssm send-command --instance-ids "i-0cb2b964d3e14fd9f" --document-name "AWSSupport-RunEC2RescueForWindowsTool" --parameters "Command=ResetAccess" --output text
KMS 키를 사용해 온라인 인스턴스의 로컬 Administrator 비밀번호를 재설정합니다.
aws ssm send-command --instance-ids "i-0cb2b964d3e14fd9f" --document-name "AWSSupport-RunEC2RescueForWindowsTool" --parameters "Command=ResetAccess, Parameters=a133dc3c-a2g4-4fc6-a873-6c0720104bf0" --output text
참고: 이 예시에서 KMS 키는
a133dc3c-a2g4-4fc6-a873-6c0720104bf0입니다.