Amazon EBS 볼륨 또는 EC2 인스턴스 복원 - AWS 규범적 지침

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon EBS 볼륨 또는 EC2 인스턴스 복원

EC2 인스턴스에 연결된 단일 볼륨만 복원해야 하는 경우 해당 볼륨을 별도로 복원하고 기존 볼륨을 분리한 다음 복원된 볼륨을 EC2 인스턴스에 연결할 수 있습니다. 모든 관련 볼륨을 포함하여 전체 EC2 인스턴스를 복원해야 하는 경우 인스턴스의 Amazon Machine Image(AMI) 백업을 사용해야 합니다.

복구 시간을 줄이고 종속 애플리케이션 및 프로세스에 미치는 영향을 줄이려면 복원 프로세스에서 대체하는 리소스를 고려해야 합니다. 최상의 결과를 얻으려면 낮은 환경(예: 비 프로덕션 환경)에서 정기적으로 복원 프로세스를 테스트하여 프로세스가 RPO(복구 시점 목표) 및 RTO(복구 시간 목표)를 충족하는지와 복원 프로세스가 예상대로 작동하는지 확인하십시오. 복원 프로세스가 복원 중인 인스턴스에 의존하는 애플리케이션과 서비스에 어떤 영향을 미칠지 생각해 본 다음 필요에 따라 복원을 조정하십시오. 복원 프로세스를 최대한 자동화하고 테스트하여 복원 프로세스가 실패하거나 일관되지 않게 구현될 위험을 줄이십시오.

트래픽을 처리하는 여러 인스턴스와 함께 Elastic Load Balancing을 사용하는 경우 장애가 발생하거나 손상된 인스턴스의 서비스 중단시킬 수 있습니다. 그러면 다른 인스턴스가 사용자에게 영향을 주지 않고 트래픽을 계속 서비스하는 동안 새 인스턴스를 복원하여 이를 대체할 수 있습니다.

설명된 다음 복원 프로세스는 Elastic Load Balancing을 사용하지 않는 인스턴스를 위한 것입니다.

  • EBS 스냅샷에서 개별 파일 및 디렉터리 복원

  • Amazon EBS 스냅샷에서 EBS 볼륨 복원

  • EBS 스냅샷에서 EC2 인스턴스 생성 또는 복원

  • AMI에서 실행 중인 인스턴스 복원

EBS 스냅샷에서 파일 및 디렉터리 복원

EBS 스냅샷은 스냅샷을 생성하는 데 사용된 원본 볼륨의 point-in-time 정확한 복제본을 제공합니다. 개별 파일 또는 디렉터리를 복원하려면 다음을 수행해야 합니다.

  1. 먼저, 파일 또는 디렉터리가 포함된 EBS 스냅샷에서 볼륨을 복원합니다.

  2. 파일을 복원하려는 EC2 인스턴스에 볼륨을 연결합니다.

  3. 복원된 볼륨의 파일을 EC2 인스턴스 볼륨으로 복사합니다.

  4. 복원된 볼륨을 분리하고 삭제합니다.

Amazon EBS 스냅샷에서 EBS 볼륨 복원

스냅샷에서 볼륨을 생성하고 인스턴스에 연결하여 기존 EC2 인스턴스에 연결된 볼륨을 복원할 수 있습니다. 콘솔 AWS CLI, 또는 API 작업을 사용하여 기존 스냅샷에서 볼륨을 생성할 수 있습니다. 그런 다음 운영 체제를 사용하여 인스턴스에 볼륨을 마운트할 수 있습니다.

Amazon EBS 스냅샷의 데이터는 비동기적으로 EBS 볼륨에 로드된다는 점에 유의하십시오. 애플리케이션이 데이터가 로드되지 않는 볼륨에 액세스하는 경우 Amazon S3에서 데이터를 로드하는 동안 지연 시간이 평소보다 길어집니다. 지연 시간에 민감한 애플리케이션에 이러한 영향을 미치지 않도록 하려면 다음 두 가지 옵션이 있습니다.

동일한 마운트 지점을 사용해야 하는 볼륨을 교체하는 경우, 새 볼륨을 제자리에 마운트할 수 있도록 해당 볼륨을 마운트 해제하십시오. 볼륨을 마운트 해제하려면 먼저 해당 볼륨을 사용하는 모든 프로세스를 중지합니다. 루트 볼륨을 교체하는 경우 루트 볼륨을 분리하기 전에 인스턴스를 먼저 중지해야 합니다.

예를 들어 콘솔을 사용하여 볼륨을 이전 point-in-time 백업으로 복원하려면 다음 단계를 따르십시오.

  1. Amazon EC2 콘솔의 Elastic Block Store 메뉴에서 스냅샷을 선택합니다.

  2. 복원할 스냅샷을 검색하고 선택합니다.

  3. 작업, 볼륨 생성을 차례대로 선택합니다.

  4. EC2 인스턴스와 동일한 가용 영역에서 새 볼륨을 생성합니다.

  5. Amazon EC2 콘솔에서 인스턴스를 선택합니다.

  6. 인스턴스 세부 정보에서 루트 디바이스 항목 또는 블록 디바이스 항목의 교체하려는 디바이스 이름을 기록해 둡니다.

  7. 볼륨을 연결합니다. 프로세스는 루트 볼륨과 비루트 볼륨에 따라 다릅니다.

    루트 볼륨의 경우:

    1. EC2 인스턴스를 중지합니다.

    2. EC2 Elastic Block Store 볼륨 메뉴에서 교체하려는 루트 볼륨을 선택합니다.

    3. 작업을 선택한 후 볼륨 분리를 선택합니다.

    4. EC2 Elastic Block Store 볼륨 메뉴에서 새 볼륨을 선택합니다.

    5. 작업을 선택한 후 볼륨 연결을 선택합니다.

    6. 볼륨을 연결할 인스턴스를 선택하고 앞서 언급한 것과 동일한 디바이스 이름을 사용합니다.

    비루트 볼륨의 경우:

    1. EC2 Elastic Block Store 볼륨 메뉴에서 교체하려는 비루트 볼륨을 선택합니다.

    2. 작업을 선택한 후 볼륨 분리를 선택합니다.

    3. EC2 Elastic Block Store 볼륨 메뉴에서 새 볼륨을 선택한 다음 작업, 볼륨 연결을 선택하여 새 볼륨을 연결합니다. 연결할 인스턴스를 선택한 다음 사용 가능한 디바이스 이름을 선택합니다.

    4. 인스턴스의 운영 체제를 사용하여 기존 볼륨을 마운트 해제한 다음 새 볼륨을 제자리에 마운트합니다.

      Linux에서 umount 명령을 사용할 수 있습니다. Windows에서는 디스크 관리 시스템 유틸리티와 같은 LVM(논리 볼륨 관리자)을 사용할 수 있습니다.

    5. EC2 Elastic Block Store 볼륨 메뉴에서 이전 볼륨을 선택한 다음 작업, 볼륨 분리를 선택하여 교체할 이전 볼륨을 분리합니다.

를 운영 체제 명령과 함께 사용하여 이러한 단계를 자동화할 수도 있습니다. AWS CLI

EBS 스냅샷에서 EC2 인스턴스 생성 또는 복원

전체 EC2 인스턴스를 복원하는 데 사용할 백업을 생성하려면 Amazon Machine Image(AMI)를 생성하는 것이 좋습니다. AMI는 가상화 유형과 같은 머신 정보를 캡처합니다. 또한 디바이스 매핑을 포함하여 EC2 인스턴스에 연결된 각 볼륨에 대한 스냅샷을 생성하므로 동일한 구성으로 복원할 수 있습니다.

하지만 EBS 스냅샷을 사용하여 인스턴스를 복원해야 하는 경우 먼저 새 EC2 인스턴스의 루트 볼륨이 될 EBS 스냅샷에서 AMI를 생성하십시오.

  1. Amazon EC2 콘솔의 Elastic Block Store 메뉴에서 스냅샷을 선택합니다.

  2. 새 EC2 인스턴스의 루트 볼륨을 생성하는 데 사용할 스냅샷을 검색하고 선택합니다.

  3. 작업을 선택한 후 스냅샷에서 이미지 생성을 선택합니다.

  4. 이미지 이름(예:YYYYMMDD-restore-for-i-012345678998765de)을 입력하고 새 이미지에 적합한 옵션을 선택합니다.

이미지를 생성하여 사용할 수 있게 되면 해당 EBS 스냅샷을 루트 볼륨에 사용할 새 EC2 인스턴스를 시작할 수 있습니다.

AMI에서 실행 중인 인스턴스 복원

AMI 백업에서 새 인스턴스를 가져와서 실행 중인 기존 인스턴스를 대체할 수 있습니다. 한 가지 접근 방식은 기존 인스턴스를 중지하고 AMI에서 새 인스턴스를 시작하는 동안 오프라인 상태로 유지하면서 필요한 업데이트를 수행하는 것입니다. 이러한 접근 방식을 사용하면 두 인스턴스가 동시에 실행될 때 충돌이 발생할 위험이 줄어듭니다. 인스턴스가 제공하는 서비스가 중단되거나 유지 관리 기간 중에 복원을 수행하는 경우 적합한 접근 방식입니다. 새 인스턴스를 테스트한 후 이전 인스턴스에 할당되었던 탄력적 IP 주소를 재할당할 수 있습니다. 그런 다음 새 인스턴스를 가리키도록 모든 도메인 이름 시스템(DNS) 레코드를 업데이트할 수 있습니다.

그러나 복원 중에 서비스 중인 인스턴스의 가동 중지 시간을 최소화해야 하는 경우 AMI 백업에서 새 인스턴스를 시작하고 테스트해 보십시오. 그런 다음 기존 인스턴스를 새 인스턴스로 교체합니다.

두 인스턴스가 모두 실행 중일 때는 새 인스턴스가 플랫폼 수준 또는 애플리케이션 수준 충돌을 일으키지 않도록 해야 합니다. 예를 들어, 동일한 SID와 컴퓨터 이름으로 실행되는 도메인에 가입된 Windows 인스턴스에서 문제가 발생할 수 있습니다. 고유 식별자가 필요한 네트워크 애플리케이션 및 서비스에서도 비슷한 문제가 발생할 수 있습니다.

준비가 되기 전에 다른 서버 및 서비스가 새 인스턴스에 연결하지 못하도록 하려면 보안 그룹을 사용하여 액세스 및 테스트용 자체 IP 주소를 제외한 새 인스턴스의 모든 인바운드 연결을 일시적으로 차단하십시오. 또한 새 인스턴스의 아웃바운드 연결을 일시적으로 차단하여 서비스와 애플리케이션이 다른 리소스에 대한 연결이나 업데이트를 시작하지 못하게 할 수 있습니다. 새 인스턴스가 준비되면 기존 인스턴스를 중지하고 새 인스턴스에서 서비스와 프로세스를 시작한 다음 구현한 인바운드 또는 아웃바운드 네트워크 연결의 차단을 해제하십시오.