인스턴스의 내부 문제로 인해 연결할 수 없는 경우 Amazon EC2 인스턴스의 데이터를 검색하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2020년 3월 3일

연결할 수 없는 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에서 데이터를 검색하려고 합니다. 어떻게 해야 합니까?

간략한 설명

EC2 인스턴스에 연결할 수 없는 상태에서 인스턴스에 저장된 데이터를 검색해야 하는 경우 인스턴스를 중지하고 루트 볼륨을 분리한 다음 볼륨을 복구 인스턴스에 연결하면 됩니다.

EC2 인스턴스가 인스턴스 스토어 지원 인스턴스이거나 데이터를 포함하는 인스턴스 스토어 볼륨이 있는 경우에는 이 절차를 수행하지 마십시오. 이 복구 절차를 수행하려면 인스턴스를 중단했다가 시작해야 하며, 이는 인스턴스 스토어 볼륨의 데이터가 손실된다는 것을 의미합니다. 자세한 내용은 인스턴스의 루트 디바이스 유형 확인을 참조하십시오.

인스턴스가 Amazon EC2 Auto Scaling 그룹의 일부이거나 Amazon EMR, AWS CloudFormation, AWS Elastic Beanstalk 등과 같이 AWS Auto Scaling을 사용하는 서비스에서 인스턴스를 시작한 경우 인스턴스를 중단하면 인스턴스가 종료될 수 있습니다. 이 시나리오에서 인스턴스 종료는 Auto Scaling 그룹에 대한 인스턴스 축소 보호 설정에 따라 달라집니다. 인스턴스가 Auto Scaling 그룹의 일부인 경우, 문제 해결 단계를 시작하기 전에 Auto Scaling 그룹에서 인스턴스를 일시적으로 제거하십시오.

​해결 방법

1.    Amazon EC2 콘솔을 엽니다.

2.    탐색 창에서 [인스턴스]를 선택하고 손상된 인스턴스를 선택합니다.

3.    [작업]을 선택하고 [인스턴스 상태]를 선택한 다음 [중지]를 선택합니다.

4.    [설명] 탭에서 [루트 디바이스]를 선택한 다음 [EBS ID]를 선택합니다.

5.    [작업]을 선택하고 [볼륨 분리]를 선택한 다음 [예, 분리]를 선택합니다.

6.    [볼륨 상태]를 사용할 수 있는지 확인합니다.

7.    손상된 인스턴스와 동일한 가용 영역에서 새 EC2 인스턴스를 시작합니다. 새 인스턴스가 "복구" 인스턴스가 됩니다.

또는 액세스할 수 있는 기존 인스턴스가 동일한 Amazon Machine Image(AMI)를 사용하고 손상된 인스턴스와 동일한 가용 영역에 있는 경우 이 인스턴스를 사용할 수 있습니다.

8.    복구 인스턴스를 시작한 후에 탐색 창에서 [볼륨]을 선택한 다음 손상된 인스턴스의 분리된 루트 볼륨을 선택합니다.

9.    [Actions]를 선택하고 [Attach Volume]을 선택합니다.

10.    복구 인스턴스 ID(i-xxxxx)를 선택한 다음 디바이스 이름을 입력합니다. 디바이스 이름을 /dev/sd[f-p]로 지정해야 합니다.

11.    [연결]을 선택합니다.

12.    SSH를 사용하여 복구 인스턴스에 연결합니다.

13.    lsblk 명령을 실행하여 연결된 볼륨의 디바이스 이름을 확인합니다.

$ lsblk

다음은 출력에 대한 예입니다.

NAME    MAJ:MIN   RM  SIZE RO TYPE MOUNTPOINT
xvda    202:0     0   15G  0 disk
└─xvda1 202:1     0   15G  0 part /
xvdf    202:80    0  15G  0 disk
    └─xvdf1 202:0 0  15G  0 part

10단계에서 /dev/sdf를 지정하는 경우 디바이스 이름이 /dev/xvdf일 수 있습니다.

14.    탑재 디렉터리를 생성한 다음 루트 권한으로 탑재합니다.

$ sudo mount -o nouuid /dev/xvdf1 /mnt

15.    탑재 디렉터리에서 로그를 확인합니다. 필요한 경우 AWS 명령줄 인터페이스(AWS CLI)를 사용하여 Amazon Simple Storage Service(Amazon S3)에 로그를 업로드하거나 scp 명령을 사용하여 로컬 PC에 복사합니다.

$ sudo cp /mnt/var/log/messages .
$ sudo chmod 644 messages
$ exit

16.    로그를 검토한 후 unmount /mnt를 실행하여 연결된 볼륨을 분리합니다.

$ sudo umount /mnt

17.    볼륨을 원본 인스턴스에 연결합니다. 디바이스 이름은 /dev/xvda입니다.


이 문서가 도움이 되었습니까?

AWS에서 개선해야 할 부분이 있습니까?


도움이 필요하십니까?