다운 타임없이 Linux 기반 EC2 인스턴스를 백업 한 다음 나중에 새 인스턴스를 시작하려고합니다. (인스턴스가 웹 서버 및 Postgres 데이터베이스를 실행 중입니다.)
나는 이것을하는 두 가지 방법이 있다는 것을 알았지 만 그들 사이의 결과의 차이점이 무엇인지 혼란 스럽습니다.
옵션 # 1 : 실행중인 인스턴스에서 바로 AMI를 생성합니다.
- 실행중인 원본 인스턴스에서 바로 새 AMI를 생성합니다.
- AMI에서 새 인스턴스를 시작하십시오.
옵션 # 2 : 스냅 샷에서 AMI를 수동으로 생성하십시오.
- 실행중인 원본 인스턴스에 연결된 볼륨에서 스냅 샷 생성
- 스냅 샷에서 AMI 생성, 아키텍처 및 커널 ID와 같은 세부 정보를 수동으로 입력
- 수동으로 생성 된 이미지에서 새 인스턴스를 시작합니다
혼란스러운 것은 인스턴스에서 바로 AMI를 생성 할 때 EC2가 기본적으로 인스턴스를 재부팅한다는 것입니다. 다음 툴팁과 함께 “No reboot” 확인란이 있습니다 .
활성화하면 Amazon EC2는 이미지를 생성하기 전에 인스턴스를 종료하지 않습니다. 이 옵션을 사용 하면 작성된 이미지에서 파일 시스템 무결성 을 보장 할 수 없습니다.
이 두 가지 옵션의 결과에 실제로 차이가 있습니까? 나에게 그것은 자동 마법사가 어쨌든 동일한 작업을 수동으로 수행하는 것처럼 느낍니다. 스냅 샷을 생성하고 커널 ID 및 아키텍처를 선택합니다.
왜 하나는 경고 텍스트를 가지고 있고 다른 하나는 그렇지 않습니까? 실행중인 인스턴스의 스냅 샷 생성은 비교적 안전하며 AMI 생성이 백그라운드에서 스냅 샷을 수행하는 경우 수동으로 수행하는 것보다 더 위험합니까?
답변
no reboot
EC2에서 직접 AMI를 생성 할 때 옵션 을 선택하면 정확히 동일합니다 . 기본적으로 일관성이없는 상태 일 수있는 스냅 샷을 만듭니다. 예를 들어, 스냅 샷을 생성 할 때 많은 디스크 쓰기를 수행하는 경우 더 일관성이없는 상태가 될 위험이 있습니다.
“일관된”상태로 스냅 샷을 생성하려면 먼저 인스턴스를 종료 한 다음 스냅 샷을 생성 한 다음 인스턴스를 다시 시작해야합니다. 그렇기 때문에 EC2의 AMI 생성 옵션은 중지하고 다시 시작할 필요가 없기 때문에 매우 유용합니다. Amazon이이를 처리하고 인스턴스의 IP 주소도 변경되지 않습니다. (인스턴스를 중지 / 다시 시작하면 IP 주소가 실제로 변경됨)
볼륨에서 직접 스냅 샷을 찍는 경우 Amazon에 경고가없는 이유는 확실하지 않지만 볼륨의 관점에서 볼 때 볼륨이 실행중인 인스턴스 또는 실행 중이 아닌 인스턴스에서 사용 중인지 여부는 중요하지 않습니다 ( 스냅 샷 생성에 영향을 미치지 않는 첨부 또는 분리 여부에만 관심이 있습니다)