Amazon S3를 사용한 백업 및 복구 - AWS 규범적 지침

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

Amazon S3를 사용한 백업 및 복구

Amazon Simple Storage 서비스 (Amazon S3) 를 사용하여 언제든지 원하는 양의 데이터를 저장하고 검색할 수 있습니다. Amazon S3를 애플리케이션 데이터와 파일 수준 백업 및 복원 프로세스를 위한 내구성 있는 저장소로 사용할 수 있습니다. 예를 들어, AWS CLI 또는 AWS SDK를 사용하여 백업 스크립트를 사용하여 데이터베이스 인스턴스에서 Amazon S3로 데이터베이스 백업을 복사할 수 있습니다.

AWS 서비스 Amazon S3를 사용하면 다음 예와 같이 내구성이 뛰어나고 안정적인 스토리지를 만들 수 있습니다.

  • Amazon EC2는 Amazon S3를 사용하여 EBS 볼륨 및 EC2 인스턴스 스토어용 Amazon EBS 스냅샷을 저장합니다.

  • Storage Gateway는 Amazon S3와 통합되어 Amazon S3가 지원하는 파일 공유, 볼륨 및 테이프 라이브러리가 있는 온프레미스 환경을 제공합니다.

  • Amazon RDS는 데이터베이스 스냅샷에 Amazon S3를 사용합니다.

많은 타사 백업 솔루션도 Amazon S3를 사용합니다. 예를 들어. Arcserve Unified Data Protection은 온프레미스 및 클라우드 네이티브 서버의 내구성 있는 백업을 위해 Amazon S3를 지원합니다.

이러한 서비스의 Amazon S3 통합 기능을 사용하여 백업 및 복구 접근 방식을 단순화할 수 있습니다. 동시에 Amazon S3가 제공하는 높은 내구성 및 가용성을 활용할 수 있습니다.

Amazon S3는 버킷이라 불리는 리소스 내에 객체로 데이터를 저장합니다. 버킷에 객체를 원하는 만큼 저장할 수 있습니다. 세분화된 액세스 제어를 통해 버킷에서 객체를 쓰고, 읽고, 삭제할 수 있습니다. 단일 객체의 크기는 최대 5TB까지 가능합니다.

Amazon S3 스토리지 클래스를 사용하여 백업 데이터 스토리지 비용 절감

Amazon S3는 온프레미스, 하이브리드 및 클라우드 네이티브 아키텍처에서 사용할 수 있는 여러 스토리지 클래스를 제공합니다. 모든 스토리지 클래스는 확장 가능한 용량을 제공하므로 백업 데이터 세트가 증가함에 따라 볼륨이나 미디어를 관리할 필요가 없습니다. pay-for-what-you-use 모델과 저렴한 GB/월 비용 덕분에 Amazon S3 스토리지 클래스는 광범위한 데이터 보호 사용 사례에 적합합니다. Amazon S3 스토리지 클래스는 다음 범주를 포함하여 다양한 사용 사례에 맞게 설계되었습니다.

액세스 패턴을 알 수 없거나 변경되는 백업의 경우 S3 인텔리전트 티어링 스토리지 클래스를 사용할 수 있습니다. S3 Intelligent-Tiering은 객체에 마지막으로 액세스한 지 며칠을 기준으로 객체를 가장 비용 효율적인 계층으로 자동 전환합니다.

참고

일부 스토리지 클래스에는 최소 기간 요금이 부과됩니다. 자세한 내용은 Amazon S3 요금을 참조하고 웹 페이지 검색을 사용하여 찾아보십시오duration.

또한 Amazon S3는 수명 주기 전반에 걸쳐 데이터를 관리하기 위한 구성 가능한 수명 주기 정책을 제공합니다. 정책이 설정되면 애플리케이션을 변경하지 않고도 데이터가 적절한 스토리지 클래스로 자동 마이그레이션됩니다. 자세한 내용을 알아보려면 Amazon S3 객체 수명 주기 관리 설명서를 참조하십시오.

백업 비용을 줄이려면 다음 예와 같이 RPO(복구 시점 목표) 및 RTO(복구 시간 목표)를 기반으로 계층형 스토리지 클래스 접근 방식을 사용하십시오.

  • S3 Standard를 사용한 지난 2주 동안의 일일 백업

  • S3 Standard-IA를 사용한 지난 3개월 동안의 주간 백업

  • S3 Glacier Flexible Retrieval의 지난해 분기별 백업

  • S3 Glacier Deep Archive의 지난 5년 동안의 연간 백업

  • S3 Glacier Deep Archive에서 5년이 지난 후 백업이 삭제됨

백업 및 아카이브를 위한 표준 S3 버킷 생성

S3 수명 주기 정책을 통해 구현된 회사의 백업 및 보존 정책을 사용하여 백업 및 아카이브를 위한 표준 S3 버킷을 생성할 수 있습니다. 비용 할당 태깅 및 AWS 청구 보고는 버킷 수준에서 할당된 태그를 기반으로 합니다. 비용 할당이 중요한 경우 각 프로젝트 또는 사업부에 대해 별도의 백업 및 아카이브 S3 버킷을 만들어 그에 따라 비용을 할당할 수 있습니다.

백업 스크립트와 애플리케이션은 생성한 백업 및 아카이브 S3 버킷을 사용하여 애플리케이션 및 워크로드 데이터용 point-in-time 스냅샷을 저장할 수 있습니다. 표준 S3 접두사를 생성하여 point-in-time 데이터 스냅샷을 구성하는 데 도움이 될 수 있습니다. 예를 들어, 시간별 백업을 생성하는 경우 YYYY/MM/DD/HH/<WorkloadName>/<files...>와 같은 백업 접두사를 사용하는 것이 좋습니다. 이렇게 하면 수동 또는 프로그래밍 방식으로 point-in-time 백업을 빠르게 검색할 수 있습니다.

Amazon S3 버전 관리를 사용하여 롤백 기록 자동 유지 관리

S3 객체 버전 관리를 활성화하여 이전 버전으로 되돌리는 기능을 포함하여 객체 변경 기록을 유지 관리할 수 있습니다. 이는 point-in-time 백업 일정보다 더 자주 변경될 수 있는 구성 파일 및 기타 객체에 유용합니다. 또한 개별적으로 되돌려야 하는 파일에도 유용합니다.

Amazon S3를 사용하여 AMI용 사용자 지정 구성 파일 백업 및 복구

객체 버전 관리를 사용하는 Amazon S3는 워크로드 구성 및 옵션 파일의 레코드 시스템이 될 수 있습니다. 예를 들어 ISV에서 유지 관리하는 표준 AWS Marketplace Amazon EC2 이미지를 사용할 수 있습니다. 이 이미지에는 여러 구성 파일에서 구성이 유지되는 소프트웨어가 포함될 수 있습니다. Amazon S3에서 사용자 지정 구성 파일을 유지 관리할 수 있습니다. 인스턴스가 시작되면 이러한 구성 파일을 인스턴스 사용자 데이터의 일부로 인스턴스에 복사할 수 있습니다. 이러한 접근 방식을 적용하면 업데이트된 버전을 사용하기 위해 AMI를 사용자 지정하고 다시 생성할 필요가 없습니다.

사용자 지정 백업 및 복원 프로세스에서 Amazon S3의 사용

Amazon S3는 기존의 사용자 지정 백업 프로세스에 빠르게 통합할 수 있는 범용 백업 저장소를 제공합니다. AWS CLI, AWS SDK 및 API 작업을 사용하여 Amazon S3를 사용하는 백업 및 복원 스크립트와 프로세스를 통합할 수 있습니다. 예를 들어, 야간 데이터베이스 내보내기를 수행하는 데이터베이스 백업 스크립트가 있을 수 있습니다. 이 스크립트를 사용자 지정하여 야간 백업을 Amazon S3에 복사하여 오프사이트 저장소에 저장할 수 있습니다. 이 작업을 수행하는 방법에 대한 개요는 Batch upload files to the cloud 자습서를 참조하십시오.

개별 RPO에 따라 다양한 애플리케이션의 데이터를 내보내고 백업하는 유사한 접근 방식을 사용할 수 있습니다. 또한 를 AWS Systems Manager 사용하여 관리형 인스턴스에서 백업 스크립트를 실행할 수 있습니다. Systems Manager는 개별 백업 프로세스에 대한 자동화, 액세스 제어, 일정 예약, 로깅 및 알림을 제공합니다.

Amazon S3의 백업 데이터 보안

데이터 보안은 보편적인 관심사이며 AWS 보안을 매우 중요하게 생각합니다. 보안은 모든 것의 AWS 서비스기초입니다. Amazon S3는 저장 및 전송 중 액세스 제어 및 암호화 기능을 제공합니다. 모든 Amazon S3 엔드포인트는 전송 데이터를 암호화하기 위해 SSL/TLS를 지원합니다. 다음을 수행하여 유휴 객체에 대한 암호화를 설정할 수 있습니다.

AWS Identity and Access Management (IAM) 을 사용하여 S3 객체에 대한 액세스를 제어할 수 있습니다. IAM은 S3 버킷 내 개별 객체 및 특정 접두사 경로에 대한 권한을 제어합니다. 에서 객체 수준 로깅을 사용하여 S3 객체에 대한 액세스를 감사할 수 있습니다. AWS CloudTrail