EBS 다이렉트 API를 사용하여 EBS 스냅샷 콘텐츠에 액세스 - Amazon EBS

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

EBS 다이렉트 API를 사용하여 EBS 스냅샷 콘텐츠에 액세스

Amazon Elastic Block Store(Amazon EBS) direct API를 사용하여 EBS 스냅샷을 생성하고, 스냅샷에 직접 데이터를 쓰고, 스냅샷에서 데이터를 읽고, 두 스냅샷 간의 차이점 또는 변경 사항을 파악할 수 있습니다. Amazon EBS용 백업 서비스를 제공하는 Independent Software Vendor(ISV)는 EBS 다이렉트 API를 사용하여 스냅샷을 통해 더 효율적이고 비용 효과적으로 EBS 볼륨에 대한 증분 변경 사항을 추적할 수 있습니다. 스냅샷에서 새 볼륨을 만들지 않고도 이 작업이 가능하며 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스를 사용하여 차이를 비교할 수 있습니다.

온프레미스의 데이터에서 직접 EBS 볼륨 및 클라우드로 증분 스냅샷을 생성하고 이를 사용해 신속하게 재해 복구를 수행할 수 있습니다. 스냅샷을 쓰고 읽을 수 있으므로 재해 발생 시 온프레미스 데이터를 EBS 스냅샷에 쓸 수 있습니다. 그런 다음 복구 후 스냅샷으로 AWS 또는 온-프레미스로 복원할 수 있습니다. Amazon EBS로/에서 데이터를 복사하기 위해 더 이상 복잡한 메커니즘을 빌드하고 유지 관리할 필요가 없습니다.

이 사용 설명서에는 EBS 다이렉트 API를 구성하는 요소의 개요와 이 요소를 효과적으로 사용하는 방법의 예가 나와 있습니다. API의 작업, 데이터 형식, 파라미터 및 오류에 대한 자세한 내용은 EBS 다이렉트 API 참조를 참조하세요. EBS 다이렉트 API의 지원되는 AWS 지역, 엔드포인트 및 서비스 할당량에 대한 자세한 내용은 의 Amazon EBS 엔드포인트 및 할당량을 참조하십시오. AWS 일반 참조

EBS 다이렉트 API 이해

EBS 다이렉트 API를 시작하려면 먼저 다음과 같은 핵심 요소를 이해해야 합니다.

스냅샷

스냅샷은 EBS 볼륨에서 데이터를 백업하는 기본 방법입니다. EBS 다이렉트 API를 사용하면 온프레미스 디스크의 데이터를 스냅샷으로 백업할 수도 있습니다. 스토리지 비용을 절약하기 위해 이전 스냅샷 이후로 변경된 볼륨 데이터만 연속 스냅샷에 증분식으로 포함시킵니다. 자세한 정보는 Amazon EBS 스냅샷을 참조하세요.

참고

EBS 다이렉트 API는 아웃포스트의 퍼블릭 스냅샷 및 로컬 Outpost를 지원하지 않습니다.

블록

블록은 스냅샷에 있는 데이터의 조각입니다. 각 스냅샷에 수천 개의 블록을 포함할 수 있습니다. 스냅샷에 있는 모든 블록은 크기가 고정되어 있습니다.

블록 인덱스

블록 인덱스는 512KiB 블록 단위의 논리적 인덱스입니다. 블록 인덱스를 식별하려면 논리적 볼륨에 있는 데이터의 논리적 오프셋을 블록 크기(데이터의 논리적 오프셋/524288)로 나눕니다. 데이터의 논리적 오프셋은 512KiB로 정렬되어야 합니다.

블록 토큰

블록 토큰은 스냅샷에 있는 블록의 식별 해시이며 블록 데이터를 찾는 데 사용됩니다. EBS 다이렉트 API에서 반환된 블록 토큰은 임시로, 지정된 만료 타임스탬프에 따라 또는 다른 스냅샷을 실행하거나 동일한 스냅샷을 요청하면 변경됩니다. ListSnapshotBlocks ListChangedBlocks

체크섬

체크섬은 전송 또는 저장 중에 발생한 오류를 탐지하기 위해 데이터 블록에서 제공되는 작은 크기의 데이터입니다. EBS 다이렉트 API는 데이터 무결성을 검증하기 위해 체크섬을 사용합니다. EBS 스냅샷에서 데이터를 읽을 때는 이 서비스가 전송된 각 데이터 블록에 대해 Base64로 인코딩된 SHA256 체크섬을 제공하며, 이 체크섬을 검증에 사용할 수 있습니다. EBS 스냅샷에 데이터를 쓸 때는 사용자가 전송된 각 데이터 블록에 대해 Base64로 인코딩된 SHA256 체크섬을 제공해야 합니다. 그러면 이 서비스가 제공된 체크섬을 사용하여 수신된 데이터를 검증합니다. 자세한 내용은 이 설명서 후반부의 체크섬 사용 섹션을 참조하세요.

암호화(Encryption)

암호화는 읽을 수 없는 코드로 데이터를 변환하고 암호화에 사용되는 KMS 키에 액세스할 수 있는 사용자만 코드를 해독할 수 있도록 하여 데이터를 보호합니다. EBS 다이렉트 API를 사용하여 암호화된 스냅샷을 읽고 쓸 수 있지만 몇 가지 제한 사항이 있습니다. 자세한 내용은 이 설명서 후반부의 암호화 사용 섹션을 참조하세요.

API 작업

EBS 다이렉트 API는 6가지 작업으로 구성됩니다. 3가지 읽기 작업과 3가지 쓰기 작업이 있습니다. 읽기 작업은 다음과 같습니다.

  • ListSnapshot블록 - 지정된 스냅샷에 있는 블록의 블록 인덱스와 블록 토큰을 반환합니다.

  • ListChanged블록 - 볼륨과 스냅샷 계보가 같은 지정된 두 스냅샷 간에 다른 블록의 블록 인덱스와 블록 토큰을 반환합니다.

  • GetSnapshot블록 — 지정된 스냅샷 ID, 블록 인덱스 및 블록 토큰에 대한 데이터를 블록으로 반환합니다.

쓰기 작업은 다음과 같습니다.

  • StartSnapshot— 기존 스냅샷의 증분 스냅샷 또는 새 스냅샷으로 스냅샷을 시작합니다. 시작된 스냅샷은 CompleteSnapshot 작업을 사용하여 완료될 때까지 보류 상태로 유지됩니다.

  • PutSnapshot블록 - 개별 블록 형태로 시작된 스냅샷에 데이터를 추가합니다. 전송되는 데이터의 블록에 대해 Base64 인코딩 SHA256 체크섬을 지정해야 합니다. 이 서비스는 전송이 완료되고 나면 체크섬을 검증합니다. 서비스에서 계산된 체크섬이 지정한 체크섬과 일치하지 않으면 요청이 실패합니다.

  • CompleteSnapshot— 보류 중인 시작 스냅샷을 완성합니다. 그러면 스냅샷이 완료됨 상태로 바뀝니다.

EBS 다이렉트 API 요금

API 요금

EBS 다이렉트 API를 사용하기 위해 지불하는 요금은 요청하는 내용에 따라 다릅니다. 자세한 내용은 Amazon EBS 요금을 참조하세요.

  • ListChanged블록 및 ListSnapshotBlocks API는 요청당 요금이 부과됩니다. 예를 들어 요청 1,000개당 0.0006 USD를 청구하는 지역에서 100,000개의 ListSnapshotBlocks API 요청을 수행하면 0.06 달러 (요청 1,000개당 0.0006 달러 x 100) 의 요금이 부과됩니다.

  • GetSnapshot블록은 반환된 블록당 요금이 부과됩니다. 예를 들어 반환된 블록 1,000개당 0.003 USD의 요금을 부과하는 지역에서 100,000개의 GetSnapshotBlock API 요청을 하는 경우 0.30 달러 (반환된 블록 1,000개당 0.003 달러 x 100) 의 요금이 부과됩니다.

  • PutSnapshot블록은 기록된 블록당 요금이 부과됩니다. 예를 들어, 작성된 블록 1,000개당 0.006 USD의 요금이 부과되는 지역에서 100,000개의 PutSnapshotBlock API 요청을 하는 경우 0.60 달러 (작성된 블록 1,000개당 0.006 달러 x 100) 의 요금이 부과됩니다.

네트워킹 비용

데이터 전송 비용

AWS 동일한 지역의 EBS Direct API와 Amazon EC2 인스턴스 간에 직접 전송되는 데이터는 비 FIPS 엔드포인트를 사용할 경우 무료입니다. 자세한 내용은 AWS 서비스 엔드포인트를 참조하세요. 다른 AWS 서비스가 데이터 전송 중에 있는 경우 관련 데이터 처리 비용이 청구됩니다. 이러한 서비스에는 PrivateLink 엔드포인트, NAT 게이트웨이 및 Transit Gateway가 포함되며 이에 국한되지는 않습니다.

VPC 인터페이스 엔드포인트

Amazon EC2 인스턴스 AWS Lambda 또는 프라이빗 서브넷의 함수에서 EBS 다이렉트 API를 사용하는 경우, NAT 게이트웨이를 사용하는 대신 VPC 인터페이스 엔드포인트를 사용하여 네트워크 데이터 전송 비용을 줄일 수 있습니다. 자세한 정보는 EBS 다이렉트 API에 인터페이스 VPC 엔드포인트 사용을 참조하세요.