

• AWS Systems Manager CloudWatch 대시보드는 2026년 4월 30일 이후에는 더 이상 사용할 수 없습니다. 고객은 Amazon CloudWatch 콘솔을 계속 사용하여 현재와 마찬가지로 Amazon CloudWatch 대시보드를 보고, 생성하고, 관리할 수 있습니다. 자세한 내용은 [Amazon CloudWatch 대시보드 설명서](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html)를 참조하세요.

# 연결할 수 없는 인스턴스에서 EC2Rescue 도구 실행
<a name="automation-ec2rescue"></a>

EC2Rescue를 사용하면 Linux 및 Windows Server용 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에 대한 문제를 진단하고 해결할 수 있습니다. [Linux Server용 EC2Rescue 사용](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Linux-Server-EC2Rescue.html) 및 [Windows Server용 EC2Rescue 사용](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/Windows-Server-EC2Rescue.html)에서 설명한 대로 이 도구를 직접 실행할 수 있습니다. 또는 Systems Manager Automation 및 **`AWSSupport-ExecuteEC2Rescue`** 실행서를 사용하여 도구를 자동으로 실행할 수 있습니다. Automation은 AWS Systems Manager의 도구입니다. **`AWSSupport-ExecuteEC2Rescue`** 실행서는 EC2Rescue를 사용하는 데 일반적으로 필요한 단계를 자동화하는 Systems Manager 작업, CloudFormation 작업 및 Lambda 함수를 조합하여 수행하도록 설계되었습니다.

**`AWSSupport-ExecuteEC2Rescue`** 실행서를 사용하여 다양한 유형의 운영 체제(OS) 문제를 해결하고, 수정할 수도 있습니다. 루트 볼륨이 암호화된 인스턴스는 지원되지 않습니다. 전체 목록은 다음 항목을 참조하십시오.

**Windows**: [명령줄에서 EC2Rescue for Windows Server 사용](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2rw-cli.html#ec2rw-rescue)의 *복구 작업*을 참조하세요.

**Linux** 및 **macOS**: 일부 Linux용 EC2Rescue 모듈은 문제를 감지하여 수정을 시도합니다. 자세한 내용은 GitHub에서 각 모델에 대한 [https://github.com/awslabs/aws-ec2rescue-linux/tree/master/docs](https://github.com/awslabs/aws-ec2rescue-linux/tree/master/docs) 설명서를 참조하세요.

## 작동 방식
<a name="automation-ec2rescue-how"></a>

Automation과 **`AWSSupport-ExecuteEC2Rescue`** 실행서를 사용한 인스턴스 문제 해결은 다음과 같이 수행됩니다.
+ 연결할 수 없는 인스턴스의 ID를 지정하고 자동화를 시작합니다.
+ 시스템에서 임시 VPC를 만든 다음, 일련의 Lambda 함수를 실행하여 VPC를 구성합니다.
+ 시스템에서 원본 인스턴스와 동일한 가용 영역에 있는 임시 VPC의 서브넷을 식별합니다.
+ 시스템에서 SSM이 활성화된 임시 헬퍼 인스턴스를 시작합니다.
+ 시스템에서 원본 인스턴스를 중지한 후 백업을 만듭니다. 그런 다음 헬퍼 인스턴스에 원본 루트 볼륨을 연결합니다.
+ 시스템에서 Run Command를 사용하여 헬퍼 인스턴스에서 EC2Rescue를 실행합니다. EC2Rescue는 연결된 원본 루트 볼륨의 문제를 확인하고 수정하려 시도합니다. 마치면 EC2Rescue가 원본 인스턴스에 루트 볼륨을 다시 연결합니다.
+ 시스템에서 원본 인스턴스를 다시 시작하고, 임시 인스턴스를 종료합니다. 또한 자동화가 시작될 때 생성된 Lambda 함수와 임시 VPC를 종료합니다.

## 시작하기 전 준비 사항
<a name="automation-ec2rescue-begin"></a>

다음 자동화를 실행하기 전에 다음을 수행합니다.
+ 연결할 수 없는 인스턴스의 인스턴스 ID를 복사합니다. 절차에서 이 ID를 지정할 것입니다.
+ 원할 경우, 연결할 수 없는 인스턴스와 동일한 가용 영역에 있는 서브넷 ID를 수집할 수도 있습니다. 이 서브넷에 EC2Rescue 인스턴스가 생성됩니다. 서브넷을 지정하지 않으면 Automation 프로세스에 따라 AWS 계정에 새로운 임시 VPC가 생성됩니다. AWS 계정에 사용 가능한 VPC가 하나 이상 있는지 확인합니다. 기본적으로 리전 하나에 VPC를 다섯 개 만들 수 있습니다. 리전에 이미 VPC를 다섯 개 만든 경우, 자동화가 인스턴스를 변경하지 않고 실패합니다. Amazon VPC 할당량에 대한 자세한 내용은 *Amazon VPC 사용 설명서*의 [VPC 및 서브넷](https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html#vpc-limits-vpcs-subnets)을 참조하세요.
+ 필요에 따라 Automation의 AWS Identity and Access Management(IAM) 역할을 생성하고 지정할 수 있습니다. 이 역할을 지정하지 않으면 자동화가 자동화를 실행한 사용자의 맥락에서 실행됩니다.

### `AWSSupport-EC2Rescue`에 인스턴스에서 작업을 수행할 권한 부여
<a name="automation-ec2rescue-access"></a>

EC2Rescue는 자동화 중에 인스턴스에서 일련의 작업을 수행할 권한이 필요합니다. 이러한 작업은 AWS Lambda, IAM 및 Amazon EC2 서비스를 호출하여 인스턴스 관련 문제를 안전하게 해결하려고 시도합니다. AWS 계정 및/또는 VPC에서 관리자 수준 권한이 있는 경우 이 섹션의 설명과 같이 권한을 구성하지 않고 자동화를 실행할 수 있습니다. 관리자 수준 권한이 없는 경우, 사용자 또는 관리자가 다음 옵션 중 하나를 사용하여 권한을 구성해야 합니다.
+ [IAM 정책을 사용하여 권한 부여](#automation-ec2rescue-access-iam)
+ [CloudFormation 템플릿을 사용하여 권한 부여](#automation-ec2rescue-access-cfn)

#### IAM 정책을 사용하여 권한 부여
<a name="automation-ec2rescue-access-iam"></a>

사용자, 그룹 또는 역할에 다음 IAM 정책을 인라인 정책으로 연결하거나, 새 IAM 관리형 정책을 생성하고 이를 사용자, 그룹 또는 역할에 연결할 수 있습니다. 사용자, 그룹 또는 역할에 인라인 정책 추가에 대한 자세한 내용은 [인라인 정책 작업](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_inline-using.html)을 참조하세요. 새 관리형 정책 만들기에 대한 자세한 내용은 [관리형 정책 작업](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-using.html)을 참조하십시오.

**참고**  
새 IAM 관리형 정책을 생성하는 경우 인스턴스가 Systems Manager API와 통신할 수 있도록 **AmazonSSMAutomationRole** 관리형 정책도 여기에 연결해야 합니다.

**AWSSupport-EC2Rescue의 IAM 정책**

*계정 ID*를 자신의 정보로 바꿉니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "lambda:InvokeFunction",
                "lambda:DeleteFunction",
                "lambda:GetFunction"
            ],
            "Resource": "arn:aws:lambda:*:111122223333: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::111122223333:role/AWSSupport-EC2Rescue-*",
                "arn:aws:iam::111122223333: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*",
                "autoscaling:DescribeAutoScalingInstances"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}
```

------

#### CloudFormation 템플릿을 사용하여 권한 부여
<a name="automation-ec2rescue-access-cfn"></a>

CloudFormation은 미리 구성된 템플릿을 사용하여 IAM 역할과 정책을 만드는 과정을 자동화합니다. 다음 절차에 따라 CloudFormation을 사용하여 EC2Rescue Automation에 필요한 IAM 역할과 정책을 생성합니다.

**EC2Rescue에 필요한 IAM 역할과 정책을 생성하려면**

1. [https://docs.aws.amazon.com/systems-manager/latest/userguide/samples/AWSSupport-EC2RescueRole.zip](https://docs.aws.amazon.com/systems-manager/latest/userguide/samples/AWSSupport-EC2RescueRole.zip)을 다운로드하여 로컬 시스템의 디렉터리에 `AWSSupport-EC2RescueRole.json` 파일의 압축을 풉니다.

1. AWS 계정가 특수 파티션인 경우 템플릿을 편집하여 ARN 값을 파티션 값으로 변경합니다.

   예를 들어 중국 리전의 경우 `arn:aws`의 모든 사례를 `arn:aws-cn`으로 변경합니다.

1. AWS Management Console에 로그인하여 [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/)에서 CloudFormation 콘솔을 엽니다.

1. **스택 생성**, **새 리소스 사용(표준)**를 선택합니다.

1. **스택 생성** 페이지에서 **Prerequisite - Prepare template(사전 조건 - 템플릿 준비)**에 대해 **Template is ready(템플릿 준비됨)**를 선택합니다.

1. **템플릿 지정**에서 **템플릿 파일 업로드**를 선택합니다.

1. **파일 선택**을 선택한 다음 압축을 푼 디렉터리에서 `AWSSupport-EC2RescueRole.json` 파일을 찾아 선택합니다.

1. **다음**을 선택합니다.

1. **Specify stack details(스택 세부 정보 지정)** 페이지의 **스택 이름** 필드에 이 스택을 식별할 이름을 입력하고 **다음**을 선택합니다.

1. (선택 사항) **태그** 영역에서 하나 이상의 태그 키 이름/값 쌍을 스택에 적용합니다.

   태그는 리소스에 할당하는 선택적 메타데이터입니다. 태그를 사용하면 용도, 소유자 또는 환경을 기준으로 하는 등 리소스를 다양한 방식으로 분류할 수 있습니다. 예를 들어, 스택에 태그를 지정하여 실행되는 작업 유형, 대상 유형이나 기타 관련 리소스, 해당 스택이 실행되는 환경을 식별할 수 있습니다.

1. **다음(Next)**을 선택합니다.

1. **검토** 페이지에서 스택 세부 정보를 검토하고 아래로 스크롤하여 **CloudFormation에서 IAM 리소스를 생성할 수 있음을 승인합니다** 옵션을 선택합니다.

1. **스택 생성**을 선택합니다.

   CloudFormation에 몇 분간 **CREATE\$1IN\$1PROGRESS** 상태가 표시됩니다. 스택이 생성된 후 상태가 **CREATE\$1COMPLETE**로 바뀝니다. 새로 고침 아이콘을 선택하여 생성 프로세스의 상태를 확인할 수도 있습니다.

1. **스택** 목록에서 방금 생성한 스택 옆의 옵션 버튼을 선택한 후 **출력** 탭을 선택합니다.

1. **값**을 기록해 둡니다. 이는 AssumeRole의 ARN입니다. [자동화 실행](#automation-ec2rescue-executing) 단원에 나온 절차에서 자동화를 실행할 때 이 ARN을 지정합니다.

## 자동화 실행
<a name="automation-ec2rescue-executing"></a>

**중요**  
다음 자동화는 연결할 수 없는 인스턴스를 중지합니다. 인스턴스가 중지되면 연결된 인스턴스 스토어 볼륨(있는 경우)의 데이터가 손실될 수 있습니다. 또한 인스턴스가 중지되면 연결된 탄력적 IP가 없는 경우 퍼블릭 IP가 변경될 수도 있습니다.

**`AWSSupport-ExecuteEC2Rescue` Automation을 실행하려면**

1. [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)에서 AWS Systems Manager 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **Automation**을 선택합니다.

1. **자동화 실행(Execute automation)**을 선택합니다.

1. **자동화 문서** 섹션의 목록에서 **Owned by Amazon(Amazon 소유)**을 선택합니다.

1. 실행서 목록에서 [`AWSSupport-ExecuteEC2Rescue`]의 카드에 있는 버튼을 선택하고 [**다음(Next)**]을 선택합니다.

1. **Execute automation document(자동화 문서 실행)** 페이지에서 **Simple execution(단순 실행)**을 선택합니다.

1. **문서 세부 정보** 섹션에서 **문서 버전**이 가장 높은 기본 버전으로 설정되어 있는지 확인합니다. 예를 들어, **\$1DEFAULT** 또는 **3(기본값)**입니다.

1. **입력 파라미터** 섹션에서 다음 파라미터를 지정합니다.

   1. **UnreachableInstanceId**에서 연결할 수 없는 인스턴스의 ID를 지정합니다.

   1. (선택 사항) **EC2RescueInstanceType**에서 EC2Rescue 인스턴스의 인스턴스 유형을 지정합니다. 기본 인스턴스 유형은 `t2.medium`입니다.

   1. **AutomationAssumeRole**의 경우 이 주제의 앞부분에서 설명한 CloudFormation 절차를 사용하여 이 자동화에 대한 역할을 생성한 경우 CloudFormation 콘솔에서 생성한 AssumeRole의 ARN을 선택합니다.

   1. (선택 사항) **LogDestination**에서 인스턴스의 문제를 해결하는 동안 운영 체제 수준 로그를 수집하려면 S3 버킷을 지정합니다. 지정된 버킷으로 로그가 자동으로 업로드됩니다.

   1. **SubnetId**에서, 연결할 수 없는 인스턴스와 동일한 가용 영역에 있는 기존 VPC의 서브넷을 지정합니다. 기본적으로 Systems Manager는 새로운 VPC를 생성하지만, 원하는 사용자는 기존 VPC의 서브넷을 지정할 수 있습니다.
**참고**  
버킷이나 서브넷 ID를 지정하는 옵션이 표시되지 않는 경우 실행서의 최신 **기본** 버전을 사용하고 있는지 확인합니다.

1. (옵션) [**태그(Tags)**] 영역에서 하나 이상의 태그 키 이름/값 페어(예: `Key=Purpose,Value=EC2Rescue`)를 적용하여 자동화를 식별할 수 있습니다.

1. **실행**을 선택합니다.

실행서가 자동화의 일부로 백업 AMI를 생성합니다. 자동화에 의해 생성된 다른 모든 리소스는 자동으로 삭제되지만, 이 AMI는 계정에 계속 유지됩니다. 다음 명명 규칙을 사용하여 AMI 이름이 지정됩니다.

백업 AMI: AWSSupport-EC2Rescue:*UnreachableInstanceId*

Automation 실행 ID를 검색하여 Amazon EC2 콘솔에 있는 이 AMI를 찾을 수 있습니다.