Amazon EC2 서버에서 호스팅되는 웹 애플리케이션용 데이터베이스를 백업해야 하며 어떻게 해야 합니까?

Amazon EC2 서버에서 호스팅되는 웹 애플리케이션용 데이터베이스를 백업해야 하며 어떻게 해야 합니까?

나는 설정했다아마존 EC2Ubuntu 서버 에디션을 사용하는 인스턴스를 설치했고램프그 위에 쌓아두세요. 나는 MySQL에서 실행되는 PHP 웹 애플리케이션을 만들었습니다. Amazon EC2에서 웹 애플리케이션을 테스트했는데 작동합니다.

정식으로 런칭한 적은 없지만 런칭하기 전에 이 사실을 알아야 합니다. 데이터베이스 데이터를 백업해야 합니까? 그렇다면 최대한 비용 효율적으로 하려면 어떻게 해야 할까요?

이전에 다른 웹 애플리케이션에 대해 다음에서 실행될 Perl 또는 Bash 스크립트(기억할 수 없음)를 작성했습니다.크론매일.

그런 다음 스크립트는 데이터베이스를 단일 .sql파일로 백업하고 내 Gmail 계정에 이메일 첨부 파일로 보냅니다.

해당 웹 애플리케이션은 공유 호스팅에 있었기 때문에 데이터베이스를 백업해야 한다고 확신했습니다. 내 파일은 Git 저장소에 있으므로 걱정하지 않습니다.

이 새로운 웹 애플리케이션의 경우아마존 웹 서비스(AWS) 다음과 같은 이유로 아직 결정을 내리지 못했습니다.

  1. 이메일로 전송된 데이터는 안전하지 않기 때문에 좋은 해결책이라고 생각하지 않습니다. 저렴한 솔루션이었지만 제가 기억하는 한 SSL은 없습니다. 무료. 날짜별로 쉽게 검색할 수 있습니다.

  2. Amazon은 이미 백업을 수행하고 있기 때문에 백업을 불필요하게 만들었을 수도 있습니다. 재난이 닥쳤을 때 복구하는 방법만 알면 됩니다(나무를 만지다)

    • (제 생각에는) 다음을 사용하여 백업을 수행할 수 있는 우수하고 비용 효과적인 방법이 있을 것입니다.아마존 S3.
  3. 사용자가 파일을 업로드할 수 있도록 허용하므로 어떻게든 해당 파일도 백업해야 합니다. 나는 이전에 어떤 형태로든 방법을 모르고 한 번도 해본 적이 없습니다.

내가 원하는 것: 가능한 한 비용 효율적으로 데이터베이스와 이미지 파일을 매일 백업하고 이를 구현하고 재해 발생 시 복구할 수 있는 명확한 단계별 플레이 가이드입니다.

배경:

  • 저는 AWS에 전혀 익숙하지 않습니다. 계정을 설정하는 만큼만 알아두세요. 그게 전부입니다.

  • << 우분투 초보자로서 1년간의 경험. 내 인생의 대부분은 Windows에서 이루어졌습니다.

  • 주로 PHP 프로그래밍에 익숙합니다. 다른 프로그래밍 언어의 명령은 사용법이 부족하여 좋지 않습니다.

답변1

Amazon은 데이터베이스 파일을 중복 스토리지에 보관하지만 구성 방법에 대한 제한된 정보만 제공하므로 이것이 귀하의 요구에 적합한지 여부에 대한 자신의 견해를 형성해야 합니다. 그러나 이전 버전은 유지하지 않으므로 이는 하드웨어 오류에 대해서만 보호할 뿐이며 일종의 사용자 오류(하드웨어 오류보다 가능성이 높음)에 대해서는 보호하지 않습니다.

또한 EC2 서버가 인스턴스 스토어에 있는 경우 서버가 중지되면 데이터가 지워진다는 점에 유의하세요. 영구 스토리지의 경우 데이터는 EBS(Elastic Block Storage) 볼륨에 있어야 합니다. EBS 볼륨에 저장되면 정기적으로 스냅샷(수동 또는 Amazon API를 사용하여 자동)을 생성하여 이전 버전으로 롤백할 수 있습니다. PHP용 AWS SDK는 매우 훌륭하며 여기에서 찾을 수 있습니다.http://aws.amazon.com/sdkforphp/.

답변2

Amazon에는 매우 많은 서비스가 있으며 때로는 다양한 기술로 인해 혼란을 겪을 수 있습니다. Amazon은 특정 문제를 해결하기 위해 이러한 모든 서비스를 만들고 있다는 점을 명심하십시오.

S3에서 MySQL을 백업하는 것은 매우 일반적이며 많은 블로그에 잘 문서화되어 있습니다. 여기 가이드를 따르는 것이 좋습니다http://agiliq.com/blog/2009/02/automatically-backup-mysql-database-to-amazon-s3-u/

아무 것도 가정하지 마세요. S3는 내결함성 저장 장치로 설계되었지만 그렇다고 해서 내 컴퓨터나 다른 공급자를 통해 모든 것을 로컬로 백업하는 것을 막을 수는 없습니다. EBS 볼륨은 백업을 위한 유일한 저장 장치로 사용할 수 있을 만큼 안정적이지 않으며 데이터베이스도 동일한 디스크에 저장되어 있는 경우에는 더욱 그렇습니다.

어떤 방법을 선택하시든 백업할 때 다음 단계를 따르겠습니다.

  1. 매일 백업 생성
  2. S3에 백업 보내기(백업이 양호한지 확인하려면 MD5 체크섬을 사용해야 함)
  3. S3에서 로컬로 또는 S3가 아닌 다른 공급자에서 백업을 다운로드하세요.
  4. 롤링 백업 유형 기록을 사용하여 오래된 백업 정리
    • 지난 7일의 백업을 저장하세요.
    • 매주 금요일의 백업을 1개월 동안 저장합니다.
    • 지난 달의 백업을 1년간 보관

관련 정보