Amazon Glacier와 함께 AWS SDK 사용 - Amazon Glacier

이 페이지는 볼트와 2012년부터 원래 REST API를 사용하는 Amazon Glacier 서비스의 기존 고객만 사용할 수 있습니다.

아카이브 스토리지 솔루션을 찾고 있다면 Amazon S3의 Amazon Glacier 스토리지 클래스, S3 Glacier Instant Retrieval, S3 Glacier Flexible Retrieval 및 S3 Glacier Deep Archive를 사용하는 것이 좋습니다. 이러한 스토리지 옵션에 대한 자세한 내용은 Amazon Glacier 스토리지 클래스를 참조하세요.

Amazon Glacier(기존 독립 실행형 볼트 기반 서비스)는 더 이상 신규 고객을 받지 않습니다. Amazon Glacier는 데이터를 볼트에 저장하고 Amazon S3 및 Amazon S3 Glacier 스토리지 클래스와 구별되는 자체 API를 갖춘 독립 실행형 서비스입니다. 기존 데이터는 Amazon Glacier에서 무기한으로 안전하게 보관되며 액세스 가능합니다. 마이그레이션은 필요하지 않습니다. 저비용 장기 아카이브 스토리지의 경우는 S3 버킷 기반 API, 전체 가용성, 저렴한 비용 및 서비스 통합을 통해 우수한 고객 경험을 제공하는 Amazon S3 Glacier 스토리지 클래스를 AWS 권장합니다. S3 APIs AWS 리전 AWS 향상된 기능을 원하는 경우 Amazon Glacier 볼트에서 Amazon S3 Glacier 스토리지 클래스로 데이터를 전송하기 위한AWS 솔루션 지침을 사용하여 Amazon S3 Glacier 스토리지 클래스로 마이그레이션하는 것이 좋습니다.

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

Amazon Glacier와 함께 AWS SDK 사용

AWS는 Amazon Glacier용 애플리케이션을 개발할 수 있는 SDK를 제공합니다. SDK 라이브러리가 기본적인 Amazon Glacier API를 래핑하기 때문에 프로그래밍 작업이 단순화됩니다. 예를 들어 각 요청을 Amazon Glacier에 전송할 때마다 반드시 요청 인증을 위한 서명을 추가해야 합니다. SDK 라이브러리를 사용할 경우 코드에 AWS 보안 자격 증명만 입력하면 라이브러리가 필요한 서명을 계산하여 Amazon Glacier로 전송되는 요청에 추가합니다. AWS SDK는 기본 REST API로 매핑되는 라이브러리를 비롯해 쉽게 요청을 구성하여 응답을 처리할 수 있는 객체를 제공합니다.

AWS Command Line Interface(AWS CLI)는 Amazon Glacier를 비롯한 AWS 서비스를 관리하는 통합 도구입니다. AWS CLI 다운로드에 대한 자세한 내용은 AWS Command Line Interface 섹션을 참조하세요. Amazon Glacier CLI 명령 목록은 AWS CLI 명령 참조를 참조하세요.

AWS SDK Libraries for Java 및 .NET

AWS SDK for Java 및 .NET은 하이레벨 및 로우레벨 래퍼 라이브러리를 제공합니다.

이 개발자 안내서의 AWS SDK for Java과 AWS SDK for .NET을 사용해서 Amazon Glacier를 사용하는 작업 예를 찾아볼 수 있습니다.

로우레벨 API가 무엇입니까?

로우레벨 래퍼 라이브러리는 Amazon Glacier에서 지원되는 기본 REST API(Amazon Glacier를 위한 API 참조)와 긴밀하게 매핑됩니다. 각 Amazon Glacier REST 작업마다 로우레벨 API가 해당하는 메서드, 요청 정보를 입력할 요청 객체, Amazon Glacier 응답을 처리할 응답 객체를 제공합니다. 로우레벨 래퍼 라이브러리는 기본 Amazon Glacier 작업을 가장 완벽하게 구현한 것입니다.

SDK 라이브러리에 대한 자세한 내용은 Amazon Glacier와 함께 AWS SDK for Java 사용Amazon Glacier와 함께 AWS SDK for .NET 사용 섹션을 참조하세요.

하이레벨 API가 무엇입니까?

이 라이브러리는 애플리케이션 개발을 더욱 간소화할 목적으로 몇 가지 작업에 하이레벨 추상화를 제공합니다. 예:

  • 아카이브 업로드: 로우레벨 API를 사용하여 아카이브를 업로드하려면 파일 이름과 아카이브를 저장할 볼트 이름 외에도 페이로드 체크섬(SHA-256 트리해시)을 입력해야 합니다. 하지만 하이레벨 API는 자동으로 체크섬을 계산합니다.

  • 아카이브 또는 볼트 인벤토리 다운로드: 로우레벨 API를 사용하여 아카이브를 다운로드하려면 먼저 작업을 시작하고 작업이 끝날 때까지 기다린 후에 작업 출력을 가져옵니다. 작업 완료 시 Amazon Glacier에서 알림을 전송하도록 하려면 추가로 코드를 작성하여 Amazon Simple Notification Service(Amazon SNS) 토픽을 설정해야 합니다. 또한 작업 완료 메시지가 토픽에 게시되었는지 확인할 수 있는 폴링 메커니즘도 필요합니다. 하지만 하이레벨 API는 아카이브를 다운로드하는 메서드를 제공하여 이 모든 단계를 관리합니다. 사용자는 아카이브 ID와 다운로드된 데이터를 저장할 폴더 경로만 지정하면 됩니다.

SDK 라이브러리에 대한 자세한 내용은 Amazon Glacier와 함께 AWS SDK for Java 사용Amazon Glacier와 함께 AWS SDK for .NET 사용 섹션을 참조하세요.

하이레벨 API와 로우레벨 API의 사용 시기

일반적으로 하이레벨 API가 작업을 수행하는 데 필요한 메서드를 제공하는 경우에는 간편성이 뛰어나기 때문에 하이레벨 API를 사용하는 것이 좋습니다. 하지만 하이레벨 API가 필요한 기능을 제공하지 않을 때는 로우레벨 API를 사용할 수 있습니다. 또한 로우레벨 API는 장애 발생 시 재시도 로직 등 작업을 세분화하여 제어할 수 있습니다. 예를 들어 아카이브를 업로드할 때 하이레벨 API는 파일 크기에 따라 아카이브를 단일 작업으로 업로드할지, 아니면 멀티파트 업로드 API를 사용할지 결정합니다. 또한 업로드 장애 시 재시도 로직을 기본적으로 지원합니다. 하지만 로우레벨 API를 사용할 수 있는 경우에는 애플리케이션이 이러한 사용 결정을 세분화하여 제어할 필요도 있습니다.