기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Veeam Backup & Replication을 사용하여 Amazon S3에 데이터를 백업 및 보관
작성자: Jeanna James(AWS), Anthony Fiore(AWS), William Quigley
환경: 프로덕션 | 기술: 스토리지 및 백업 | AWS 서비스: Amazon EC2; Amazon S3; Amazon S3 Glacier |
요약
이 패턴은 Veeam 스케일 아웃 백업 리포지토리 기능을 사용하여 Veeam Backup & Replication에서 생성한 백업을 지원되는 Amazon Simple Storage Service(S3) 객체 스토리지 클래스로 보내는 프로세스를 자세히 설명합니다.
Veeam은 특정 요구 사항에 적합한 여러 Amazon S3 스토리지 클래스를 지원합니다. 백업 또는 아카이브 데이터의 데이터 액세스, 복원력, 비용 요구 사항에 따라 스토리지 유형을 선택할 수 있습니다. 예를 들어, 30일 이상 사용할 계획이 없는 데이터를 Amazon S3 Inrequent Access(IA)에 저렴한 비용으로 저장할 수 있습니다. 90일 이상 데이터를 보관할 계획이라면 Veeam의 아카이브 계층과 함께 Amazon Simple Storage Service Glacier(Amazon S3 Glacier) Flexible Retrieval 또는 S3 Glacier Deep Archive를 사용할 수 있습니다. 또한 S3 객체 잠금을 사용하여 Amazon S3 내에서 백업을 변경 불가능하게 만들 수 있습니다.
이 패턴은 AWS Storage Gateway에서 Tape Gateway를 사용하여 Veeam Backup & Replication을 설정하는 방법을 다루지 않습니다. 해당 주제에 대한 자세한 내용은 Veeam 웹 사이트의 AWS VTL Gateway를 사용한 Veeam Backup & Replication-배포 가이드
경고: 이 시나리오에서는 IAM 사용자에게 프로그래밍 액세스 권한 및 장기 자격 증명이 필요하며, 이는 보안 위험을 초래합니다. 이 위험을 줄이려면 이러한 사용자에게 작업을 수행하는 데 필요한 권한만 제공하고 더 이상 필요하지 않을 경우 이러한 사용자를 제거하는 것이 좋습니다. 필요한 경우 액세스 키를 업데이트할 수 있습니다. 자세한 내용은 IAM 사용 설명서의 액세스 키 업데이트를 참조하세요. |
사전 조건 및 제한 사항
사전 조건
Veeam Availability Suite 또는 Veeam Backup Essentials를 포함한 Veeam Backup & Replication 설치(무료 평가판
에 등록할 수 있음) Enterprise 또는 Enterprise Plus 기능이 포함된 Veeam Backup & Replication 라이선스, Veeam Universal License(VUL) 포함
Amazon S3 버킷에 액세스할 수 있는 활성 AWS Identity and Access Management(IAM) 사용자
Amazon Elastic Compute Cloud(Amazon EC2) 및 Amazon Virtual Private Cloud(VPC)에 액세스할 수 있는 활성 IAM 사용자(아카이브 계층을 사용하는 경우)
퍼블릭 인터넷 연결 또는 AWS Direct Connect 퍼블릭 가상 인터페이스(VIF)를 통해 트래픽을 백업 및 복원하기 위한 가용 대역폭을 갖춘 온프레미스에서 AWS 서비스로의 네트워크 연결
객체 스토리지 리포지토리와의 적절한 통신을 보장하기 위해 다음과 같은 네트워크 포트 및 엔드포인트가 열려있습니다.
Amazon S3 스토리지-TCP-포트 443: Amazon S3 스토리지와의 통신하는 데 사용됩니다.
Amazon S3 스토리지 — 클라우드 엔드포인트 — AWS 지역 및 GovCloud AWS (미국) 지역의 경우 *.amazonaws.com, 중국 지역의 경우 *.amazonaws.com.rproxy.goskope.com.cn: Amazon S3 스토리지와 통신하는 데 사용됩니다. 연결 엔드포인트의 전체 목록은 AWS 설명서의 Amazon S3 엔드포인트를 참조하세요.
Amazon S3 스토리지-TCP HTTP-포트 80: 인증서 상태를 확인하는 데 사용됩니다. 인증서 취소 목록(CRL) URL 및 온라인 인증서 상태 프로토콜(OCSP) 서버와 같은 인증서 확인 엔드포인트는 변경될 수 있습니다. 실제 주소 목록은 인증서 자체에서 찾을 수 있습니다.
Amazon S3 스토리지-인증서 확인 엔드포인트-*.amazontrust.com: 인증서 상태를 확인하는 데 사용됩니다. 인증서 확인 엔드포인트(CRL URL 및 OCSP 서버)는 변경될 수 있습니다. 실제 주소 목록은 인증서 자체에서 찾을 수 있습니다.
제한 사항
Veeam은 Veeam 객체 스토리지 리포지토리로 사용되는 S3 버킷에 대한 S3 수명 주기 정책을 지원하지 않습니다. Amazon S3 스토리지 클래스 전환 정책과 S3 수명 주기 만료 규칙이 포함됩니다. Veeam은 이러한 객체를 관리하는 유일한 개체여야 합니다. S3 수명 주기 정책을 활성화하면 데이터 손실을 비롯한 예상치 못한 결과가 발생할 수 있습니다.
제품 버전
Veeam Backup & Replication v9.5 업데이트 4 이상(백업 전용 또는 용량 계층)
Veeam Backup & Replication v10 이상(백업 또는 용량 계층 및 S3 객체 잠금)
Veeam Backup & Replication v11 이상(백업 또는 용량 계층, 아카이브 또는 아카이브 계층, S3 객체 잠금)
Veeam Backup & Replication v12 이상(성능 계층, 백업 또는 용량 계층, 아카이브 또는 아카이브 계층, S3 객체 잠금)
S3 Standard
S3 Standard-IA
S3 One Zone-IA
S3 Glacier Flexible Retrieval(v11 이상만 해당)
S3 Glacier Deep Archive(v11 이상만 해당)
S3 Glacier Instant Retrieval(v12 이상만 해당)
아키텍처
소스 기술 스택
Veeam 백업 서버 또는 Veeam 게이트웨이 서버에서 Amazon S3로 연결되는 온프레미스 Veeam Backup & Replication 설치
대상 기술 스택
Amazon S3
Amazon VPC 및 Amazon EC2(아카이브 계층을 사용할 경우)
대상 아키텍처: SOBR
다음 다이어그램은 스케일 아웃 백업 리포지토리(SOBR) 아키텍처를 보여줍니다.
Veeam Backup and Replication 소프트웨어는 시스템 장애, 애플리케이션 오류 또는 실수로 인한 삭제와 같은 논리적 오류로부터 데이터를 보호합니다. 이 다이어그램에서는 백업이 온프레미스에서 먼저 실행되고 보조 사본이 Amazon S3로 직접 전송됩니다. 백업은 데이터 사본을 나타냅니다. point-in-time
워크플로는 백업을 계층화하거나 Amazon S3로 복사하는 데 필요한 세 가지 기본 구성 요소와 하나의 선택적 구성 요소로 구성됩니다.
Veeam Backup & Replication(1)-백업 인프라, 설정, 작업, 복구 작업 및 기타 프로세스를 조정, 제어, 관리하는 백업 서버입니다.
Veeam 게이트웨이 서버(다이어그램에는 표시되지 않음)-Veeam 백업 서버가 Amazon S3에 대한 아웃바운드 연결이 없는 경우 필요한 선택적 온프레미스 게이트웨이 서버입니다.
스케일 아웃 백업 리포지토리(2)-수평 확장으로 데이터의 다중 계층 스토리지를 지원하는 리포지토리 시스템입니다. 스케일 아웃 백업 리포지토리는 데이터에 빠르게 액세스할 수 있는 하나 이상의 백업 리포지토리로 구성되며 장기 스토리지(용량 계층) 및 보관(아카이브 계층)을 위해 Amazon S3 객체 스토리지 리포지토리로 확장할 수 있습니다. Veeam은 스케일 아웃 백업 리포지토리를 사용하여 로컬(성능 계층) 과 Amazon S3 객체 스토리지(용량 및 아카이브 계층) 간에 데이터를 자동으로 계층화합니다.
Amazon S3(3)-확장성, 데이터 가용성, 보안, 성능을 제공하는 AWS 객체 스토리지 서비스입니다.
대상 아키텍처: DTO
다음 다이어그램은 direct-to-object (DTO) 아키텍처를 보여줍니다.
이 다이어그램에서 백업 데이터는 온프레미스에 먼저 저장되지 않고 Amazon S3로 직접 이동합니다. 보조 사본은 S3 Glacier에 저장할 수 있습니다.
자동화 및 규모 조정
리포지토리에 제공된 AWS CloudFormation 템플릿을 사용하여 IAM 리소스 및 S3 버킷 생성을 자동화할 수 있습니다. VeeamHub GitHub
도구
도구 및 AWS 서비스
Veeam Backup & Replication
은 가상 및 물리적 워크로드를 보호, 백업, 복제, 복원하는 Veeam의 솔루션입니다. AWS는 AWS CloudFormation 리소스를 모델링 및 설정하고, 빠르고 일관되게 프로비저닝하고, 수명 주기 전반에 걸쳐 관리할 수 있도록 지원합니다. 템플릿을 사용하여 리소스와 해당 종속성을 설명하고 리소스를 개별적으로 관리하는 대신 스택으로 함께 시작 및 구성할 수 있습니다. 여러 AWS 계정 및 AWS 리전에서 스택을 관리하고 프로비저닝할 수 있습니다.
Amazon Elastic Compute Cloud(Amazon EC2)는 AWS 클라우드에서 확장 가능한 컴퓨팅 용량을 제공합니다. Amazon EC2를 사용하여 필요에 따라 많거나 적은 수의 가상 서버를 시작하고 스케일 아웃 또는 스케일 인할 수 있습니다.
AWS Identity and Access Management(IAM)는 AWS 서비스에 대한 액세스를 안전하게 제어하는 웹 서비스입니다. IAM을 통해 사용자, 액세스 키와 같은 보안 인증 정보, 사용자와 애플리케이션이 액세스할 수 있는 AWS 리소스를 제어하는 권한을 한 곳에서 관리할 수 있습니다.
Amazon Simple Storage Service(S3)는 객체 스토리지 서비스입니다. Amazon S3를 사용하면 인터넷을 통해 언제 어디서든 원하는 양의 데이터를 저장하고 검색할 수 있습니다.
Amazon S3 Glacier(S3 Glacier)는 저렴한 비용의 데이터 보관 및 장기 백업을 위한 안전하고 내구성이 뛰어난 서비스입니다.
Amazon Virtual Private Cloud(VPC)는 정의한 가상 네트워크에서 AWS 리소스를 시작할 수 있도록 AWS 클라우드의 논리적으로 격리된 섹션을 프로비저닝합니다. 이 가상 네트워크는 AWS의 확장 가능한 인프라를 사용한다는 이점과 함께 고객의 자체 데이터 센터에서 운영하는 기존 네트워크와 매우 유사합니다.
code
VeeamHub GitHub 리포지토리에
모범 사례
IAM 모범 사례에 따라 Amazon S3에 Veeam Backup & Replication 백업을 작성할 때 사용하는 IAM 사용자와 같은 장기 IAM 사용자 보안 인증 정보를 정기적으로 교체하는 것이 좋습니다. 자세한 내용은 IAM 설명서의 보안 모범 사례를 참조하세요.
에픽
작업 | 설명 | 필요한 기술 |
---|---|---|
IAM 사용자를 생성합니다. | IAM 설명서의 지침에 따라 IAM 사용자를 생성합니다. 이 사용자는 AWS Console 액세스 권한이 없어야 하며 이 사용자에 대한 액세스 키를 생성해야 합니다. Veeam은 이 개체를 사용하여 AWS에 인증하고 S3 버킷을 읽고 씁니다. 사용자가 필요 이상의 권한을 갖지 않도록 최소 권한(즉 작업 수행에 필요한 권한만 부여)을 부여해야 합니다. Veeam IAM 사용자에게 연결할 IAM 정책의 예는 추가 정보 섹션을 참조하세요. 참고 또는 VeeamHub GitHub 리포지토리에 | 관리자 |
S3 버킷을 생성합니다. |
자세한 내용은 Amazon S3 설명서의 버킷 생성을 참조하세요. | AWS 관리자 |
작업 | 설명 | 필요한 기술 |
---|---|---|
새 객체 리포지토리 마법사를 실행합니다. | Veeam에서 객체 스토리지 및 스케일 아웃 백업 리포지토리를 설정하기 전에 용량 및 아카이브 계층에 사용할 Amazon S3 및 Amazon S3 Glacier 스토리지 리포지토리를 추가해야 합니다. 다음 에픽에서는 이러한 스토리지 리포지토리를 스케일 아웃 백업 리포지토리에 연결해 보겠습니다.
| AWS 관리자, 앱 소유자 |
용량 계층에 Amazon S3 스토리지를 추가합니다. |
| AWS 관리자, 앱 소유자 |
아카이브 계층에 S3 Glacier 스토리지를 추가합니다. | 아카이브 계층을 생성하려면 IAM 권한(추가 정보 섹션에서 자세히 설명)을 사용합니다.
| AWS 관리자, 앱 소유자 |
작업 | 설명 | 필요한 기술 |
---|---|---|
새 스케일 아웃 백업 리포지토리 마법사를 실행합니다. |
| 앱 소유자, AWS 시스템 관리자 |
스케일 아웃 백업 리포지토리를 추가하고 용량 및 아카이브 계층을 구성합니다. |
| 앱 소유자, AWS 시스템 관리자 |
관련 리소스
AWS 계정에서 IAM 사용자 생성(IAM 설명서)
버킷 생성(Amazon S3 설명서)
Amazon S3 스토리지에 대한 퍼블릭 액세스 차단(Amazon S3 설명서)
S3 객체 잠금 사용(Amazon S3 설명서)
S3 객체 스토리지 연결을 위한 안전한 IAM 정책을 생성하는 방법
(Veeam 설명서)
추가 정보
다음 섹션에서는 이 패턴의 에픽 섹션에서 IAM 사용자를 생성할 때 사용할 수 있는 샘플 IAM 정책을 설명합니다.
용량 계층에 대한 IAM 정책
참고 예제 정책의 S3 버킷 이름을 <yourbucketname>
에서 Veeam 용량 계층 백업에 사용할 S3 버킷 이름으로 변경하세요.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "s3:GetObjectVersion", "s3:ListBucketVersions", "s3:ListBucket", "s3:PutObjectLegalHold", "s3:GetBucketVersioning", "s3:GetObjectLegalHold", "s3:GetBucketObjectLockConfiguration", "s3:PutObject*", "s3:GetObject*", "s3:GetEncryptionConfiguration", "s3:PutObjectRetention", "s3:PutBucketObjectLockConfiguration", "s3:DeleteObject*", "s3:DeleteObjectVersion", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::/*", "arn:aws:s3:::" ] }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": [ "s3:ListAllMyBuckets", "s3:ListBucket" ], "Resource": "*" } ] }
아카이브 계층에 대한 IAM 정책
참고 예제 정책의 S3 버킷 이름을 <yourbucketname>
에서 Veeam 아카이브 계층 백업에 사용할 S3 버킷 이름으로 변경하세요.
기존 VPC, 서브넷, 보안 그룹을 사용하려면:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "s3:DeleteObject", "s3:PutObject", "s3:GetObject", "s3:RestoreObject", "s3:ListBucket", "s3:AbortMultipartUpload", "s3:GetBucketVersioning", "s3:ListAllMyBuckets", "s3:GetBucketLocation", "s3:GetBucketObjectLockConfiguration", "s3:PutObjectRetention", "s3:GetObjectVersion", "s3:PutObjectLegalHold", "s3:GetObjectRetention", "s3:DeleteObjectVersion", "s3:ListBucketVersions", "ec2:DescribeInstances", "ec2:CreateKeyPair", "ec2:DescribeKeyPairs", "ec2:RunInstances", "ec2:DeleteKeyPair", "ec2:DescribeVpcAttribute", "ec2:CreateTags", "ec2:DescribeSubnets", "ec2:TerminateInstances", "ec2:DescribeSecurityGroups", "ec2:DescribeImages", "ec2:DescribeVpcs" ], "Resource": "*" } ] }
새 VPC, 서브넷, 보안 그룹을 생성하려면:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "s3:DeleteObject", "s3:PutObject", "s3:GetObject", "s3:RestoreObject", "s3:ListBucket", "s3:AbortMultipartUpload", "s3:GetBucketVersioning", "s3:ListAllMyBuckets", "s3:GetBucketLocation", "s3:GetBucketObjectLockConfiguration", "s3:PutObjectRetention", "s3:GetObjectVersion", "s3:PutObjectLegalHold", "s3:GetObjectRetention", "s3:DeleteObjectVersion", "s3:ListBucketVersions", "ec2:DescribeInstances", "ec2:CreateKeyPair", "ec2:DescribeKeyPairs", "ec2:RunInstances", "ec2:DeleteKeyPair", "ec2:DescribeVpcAttribute", "ec2:CreateTags", "ec2:DescribeSubnets", "ec2:TerminateInstances", "ec2:DescribeSecurityGroups", "ec2:DescribeImages", "ec2:DescribeVpcs", "ec2:CreateVpc", "ec2:CreateSubnet", "ec2:DescribeAvailabilityZones", "ec2:CreateRoute", "ec2:CreateInternetGateway", "ec2:AttachInternetGateway", "ec2:ModifyVpcAttribute", "ec2:CreateSecurityGroup", "ec2:DeleteSecurityGroup", "ec2:AuthorizeSecurityGroupIngress", "ec2:AuthorizeSecurityGroupEgress", "ec2:DescribeRouteTables", "ec2:DescribeInstanceTypes" ], "Resource": "*" } ] }