

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

아카이브 스토리지 솔루션을 찾고 있다면 Amazon S3의 Amazon Glacier 스토리지 클래스, S3 Glacier Instant Retrieval, S3 Glacier Flexible Retrieval 및 S3 Glacier Deep Archive를 사용하는 것이 좋습니다. 이러한 스토리지 옵션에 대한 자세한 내용은 [Amazon Glacier 스토리지 클래스](https://aws.amazon.com/s3/storage-classes/glacier/)를 참조하세요.

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

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

# Amazon Glacier에 볼트 생성
<a name="creating-vaults"></a>

볼트를 생성하면 계정의 볼트 집합에 볼트가 추가됩니다. AWS 계정은 AWS 리전당 최대 1,000개까지 볼트를 생성할 수 있습니다. Amazon Glacier(Amazon Glacier)에서 지원하는 AWS 리전의 목록은 *AWS 일반 참조*의 [리전 및 엔드포인트](https://docs.aws.amazon.com/general/latest/gr/rande.html#glacier_region)를 참조하세요.

볼트를 생성할 때는 볼트 이름을 입력해야 합니다. 다음은 볼트 이름을 지정할 때 필요한 요건입니다.

 
+  이름에 포함되는 문자 길이는 1\$1255자입니다.
+ 유효한 문자는 a\$1z, A\$1Z, 0\$19, ‘\$1’(밑줄), ‘-’(하이픈), ‘.’(마침표)입니다.

볼트 이름은 볼트를 생성하는 계정 및 AWS 리전에서 고유해야 합니다. 즉, 한 계정에서 서로 다른 AWS 리전에 동일한 이름의 볼트를 만들 수 있지만, 동일한 AWS 리전에서는 만들 수 없습니다.

**Topics**
+ [Amazon Glacier에서 AWS SDK for Java를 사용하여 볼트 생성](creating-vaults-sdk-java.md)
+ [를 사용하여 Amazon Glacier에서 볼트 생성 AWS SDK for .NET](creating-vaults-dotnet-sdk.md)
+ [Amazon Glacier에서 REST API를 사용하여 볼트 생성](creating-vaults-rest-api.md)
+ [Amazon Glacier 콘솔을 사용하여 볼트 생성](creating-vaults-console.md)
+ [Amazon Glacier에서 AWS Command Line Interface를 사용하여 볼트 생성](creating-vaults-cli.md)

# Amazon Glacier에서 AWS SDK for Java를 사용하여 볼트 생성
<a name="creating-vaults-sdk-java"></a>

로우레벨 API는 볼트를 생성 및 삭제하거나, 볼트 설명을 가져오거나, 특정 AWS 리전에서 생성된 볼트 목록을 가져오는 등 모든 볼트 작업에 사용할 수 있는 메서드를 제공합니다. 다음은 AWS SDK for Java를 사용하여 볼트를 생성하는 단계입니다.

 

1. `AmazonGlacierClient` 클래스(클라이언트)의 인스턴스를 만듭니다.

   볼트 생성을 원하는 AWS 리전을 지정합니다. 이 클라이언트를 사용하여 실행하는 모든 작업이 해당 AWS 리전에 적용됩니다.

1. `CreateVaultRequest` 클래스 인스턴스를 생성하여 요청 정보를 입력합니다.

   Amazon Glacier(Amazon Glacier)는 볼트 이름과 사용자의 계정 ID를 요구합니다. 계정 ID를 입력하지 않는 경우에는 요청 서명을 위해 입력하는 자격 증명과 연결되어 있는 계정 ID를 사용합니다. 자세한 내용은 [Amazon Glacier AWS SDK for Java 에서 사용](using-aws-sdk-for-java.md) 섹션을 참조하세요.

1. 요청 객체를 파라미터로 입력하여 `createVault` 메서드를 실행합니다.

   Amazon Glacier가 반환하는 응답은 `CreateVaultResult` 객체에서 사용할 수 있습니다.

다음은 위에서 설명한 단계를 나타내는 Java 코드 조각입니다. 이 조각을 실행하면 `us-west-2` 리전에 볼트가 생성됩니다. 여기에서 출력되는 `Location`은 계정 ID, AWS 리전 및 볼트 이름이 포함된 볼트의 상대적 URI입니다.

```
AmazonGlacierClient client = new AmazonGlacierClient(credentials);
client.setEndpoint("https://glacier.us-west-2.amazonaws.com");

CreateVaultRequest request = new CreateVaultRequest()
    .withVaultName("*** provide vault name ***");
CreateVaultResult result = client.createVault(request);

System.out.println("Created vault successfully: " + result.getLocation());
```

**참고**  
기본 REST API에 대한 자세한 내용은 [볼트 만들기(PUT vault)](api-vault-put.md) 섹션을 참조하세요.

## 예제: AWS SDK for Java를 사용하여 볼트 생성
<a name="creating-vaults-sdk-java-example"></a>

다음의 Java 코드 예시는 `us-west-2` 리전(AWS 리전에 대한 더 자세한 내용은 [Amazon Glacier 액세스](amazon-glacier-accessing.md) 섹션 참조)에 볼트를 생성합니다. 또한 이 코드 예시는 볼트 정보를 검색하거나, 동일한 AWS 리전에 속하는 모든 볼트를 나열하거나, 생성된 볼트를 삭제하기도 합니다.

다음 예제의 실행을 위한 단계별 지침은 [Eclipse를 사용하여 Amazon Glacier의 Java 예 실행](using-aws-sdk-for-java.md#setting-up-and-testing-sdk-java) 섹션을 참조하세요.

**Example**  

```
import java.io.IOException;
import java.util.List;

import com.amazonaws.auth.profile.ProfileCredentialsProvider;
import com.amazonaws.services.glacier.AmazonGlacierClient;
import com.amazonaws.services.glacier.model.CreateVaultRequest;
import com.amazonaws.services.glacier.model.CreateVaultResult;
import com.amazonaws.services.glacier.model.DeleteVaultRequest;
import com.amazonaws.services.glacier.model.DescribeVaultOutput;
import com.amazonaws.services.glacier.model.DescribeVaultRequest;
import com.amazonaws.services.glacier.model.DescribeVaultResult;
import com.amazonaws.services.glacier.model.ListVaultsRequest;
import com.amazonaws.services.glacier.model.ListVaultsResult;


public class AmazonGlacierVaultOperations {

    public static AmazonGlacierClient client;

    public static void main(String[] args) throws IOException {

    	ProfileCredentialsProvider credentials = new ProfileCredentialsProvider();
    	
        client = new AmazonGlacierClient(credentials);
        client.setEndpoint("https://glacier.us-east-1.amazonaws.com/");
        
        String vaultName = "examplevaultfordelete";

        try {            
            createVault(client, vaultName);
            describeVault(client, vaultName); 
            listVaults(client);
            deleteVault(client, vaultName);      

        } catch (Exception e) {
            System.err.println("Vault operation failed." + e.getMessage());
        }
    }

    private static void createVault(AmazonGlacierClient client, String vaultName) {
        CreateVaultRequest createVaultRequest = new CreateVaultRequest()
            .withVaultName(vaultName);
        CreateVaultResult createVaultResult = client.createVault(createVaultRequest);

        System.out.println("Created vault successfully: " + createVaultResult.getLocation());
    }

    private static void describeVault(AmazonGlacierClient client, String vaultName) {
        DescribeVaultRequest describeVaultRequest = new DescribeVaultRequest()
            .withVaultName(vaultName);
        DescribeVaultResult describeVaultResult  = client.describeVault(describeVaultRequest);

        System.out.println("Describing the vault: " + vaultName);
        System.out.print(
                "CreationDate: " + describeVaultResult.getCreationDate() +
                "\nLastInventoryDate: " + describeVaultResult.getLastInventoryDate() +
                "\nNumberOfArchives: " + describeVaultResult.getNumberOfArchives() + 
                "\nSizeInBytes: " + describeVaultResult.getSizeInBytes() + 
                "\nVaultARN: " + describeVaultResult.getVaultARN() + 
                "\nVaultName: " + describeVaultResult.getVaultName());
    }

    private static void listVaults(AmazonGlacierClient client) {
        ListVaultsRequest listVaultsRequest = new ListVaultsRequest();
        ListVaultsResult listVaultsResult = client.listVaults(listVaultsRequest);

        List<DescribeVaultOutput> vaultList = listVaultsResult.getVaultList();
        System.out.println("\nDescribing all vaults (vault list):");
        for (DescribeVaultOutput vault : vaultList) {
            System.out.println(
                    "\nCreationDate: " + vault.getCreationDate() +
                    "\nLastInventoryDate: " + vault.getLastInventoryDate() +
                    "\nNumberOfArchives: " + vault.getNumberOfArchives() + 
                    "\nSizeInBytes: " + vault.getSizeInBytes() + 
                    "\nVaultARN: " + vault.getVaultARN() + 
                    "\nVaultName: " + vault.getVaultName()); 
        }
    }

    private static void deleteVault(AmazonGlacierClient client, String vaultName) {
        DeleteVaultRequest request = new DeleteVaultRequest()
            .withVaultName(vaultName);
        client.deleteVault(request);
        System.out.println("Deleted vault: " + vaultName);
    }

}
```

# 를 사용하여 Amazon Glacier에서 볼트 생성 AWS SDK for .NET
<a name="creating-vaults-dotnet-sdk"></a>

Amazon SDK에서 .NET용으로 제공하는 [하이레벨 및 로우레벨 API](using-aws-sdk.md)는 모두 볼트를 생성하는 메서드를 제공합니다.

**Topics**
+ [의 상위 수준 API를 사용하여 볼트 생성 AWS SDK for .NET](#create-vault-dotnet-highlevel)
+ [의 하위 수준 API를 사용하여 볼트 생성 AWS SDK for .NET](#create-vault-dotnet-lowlevel)

## 의 상위 수준 API를 사용하여 볼트 생성 AWS SDK for .NET
<a name="create-vault-dotnet-highlevel"></a>

하이레벨 API의 `ArchiveTransferManager` 클래스는 AWS 리전에 볼트를 생성하는 데 사용할 수 있는 `CreateVault` 방법을 제공합니다.

### 예:의 상위 수준 API를 사용한 볼트 작업 AWS SDK for .NET
<a name="vault-operations-example-dotnet-highlevel"></a>

다음의 C\$1 코드 예시는 미국 서부(오레곤)에서 볼트를 생성 및 삭제합니다. 볼트를 생성할 수 AWS 리전 있는 목록은 단원을 참조하십시오[Amazon Glacier 액세스](amazon-glacier-accessing.md).

다음 예제의 실행을 위한 단계별 지침은 [코드 예제 실행](using-aws-sdk-for-dot-net.md#setting-up-and-testing-sdk-dotnet) 섹션을 참조하세요. 아래와 같이 볼트 이름을 사용해 코드를 업데이트해야 합니다.

**Example**  

```
using System;
using Amazon.Glacier;
using Amazon.Glacier.Transfer;
using Amazon.Runtime;

namespace glacier.amazon.com.rproxy.govskope.ca.docsamples
{
  class VaultCreateDescribeListVaultsDeleteHighLevel
  {
    static string vaultName = "*** Provide vault name ***";

    public static void Main(string[] args)
    {
      try
      {
          var manager = new ArchiveTransferManager(Amazon.RegionEndpoint.USWest2);
          manager.CreateVault(vaultName);
          Console.WriteLine("Vault created. To delete the vault, press Enter");
          Console.ReadKey();
          manager.DeleteVault(vaultName);
          Console.WriteLine("\nVault deleted. To continue, press Enter");
          Console.ReadKey();
      }
      catch (AmazonGlacierException e) { Console.WriteLine(e.Message); }
      catch (AmazonServiceException e) { Console.WriteLine(e.Message); }
      catch (Exception e) { Console.WriteLine(e.Message); }
      Console.WriteLine("To continue, press Enter");
      Console.ReadKey();
    }
  }
}
```

## 의 하위 수준 API를 사용하여 볼트 생성 AWS SDK for .NET
<a name="create-vault-dotnet-lowlevel"></a>

하위 수준 API는 볼트 생성 및 삭제, 볼트 설명 가져오기, 특정에서 생성된 볼트 목록 가져오기 등 모든 볼트 작업에 대한 메서드를 제공합니다 AWS 리전. 다음은 AWS SDK for .NET를 사용하여 볼트를 생성하는 단계입니다.

 

1. `AmazonGlacierClient` 클래스(클라이언트)의 인스턴스를 만듭니다.

   볼트를 AWS 리전 생성할를 지정해야 합니다. 이 클라이언트를 사용하여 실행하는 모든 작업이 해당 AWS 리전에 적용됩니다.

1. `CreateVaultRequest` 클래스 인스턴스를 생성하여 요청 정보를 입력합니다.

    Amazon Glacier(Amazon Glacier)는 볼트 이름과 사용자의 계정 ID를 요구합니다. 계정 ID를 입력하지 않는 경우에는 요청 서명을 위해 입력하는 자격 증명과 연결되어 있는 계정 ID로 간주합니다. 자세한 내용은 [Amazon Glacier와 함께 AWS SDK for .NET 사용](using-aws-sdk-for-dot-net.md) 단원을 참조하십시오.

1. 요청 객체를 파라미터로 입력하여 `CreateVault` 메서드를 실행합니다.

   Amazon Glacier가 반환하는 응답은 `CreateVaultResponse` 객체에서 사용할 수 있습니다.

### 예:의 하위 수준 API를 사용한 볼트 작업 AWS SDK for .NET
<a name="vault-operations-example-dotnet-lowlevel"></a>

다음은 앞선 단계를 설명하는 C\$1 예제입니다. 이 예시는 미국 서부(오레곤)에 볼트를 생성합니다. 또한 코드 예제는 볼트 정보를 검색 AWS 리전하고 동일한의 모든 볼트를 나열한 다음 생성된 볼트를 삭제합니다. `Location` 인쇄된는 계정 ID AWS 리전, 및 볼트 이름이 포함된 볼트의 상대적 URI입니다.

**참고**  
기본 REST API에 대한 자세한 내용은 [볼트 만들기(PUT vault)](api-vault-put.md) 섹션을 참조하세요.

다음 예제의 실행을 위한 단계별 지침은 [코드 예제 실행](using-aws-sdk-for-dot-net.md#setting-up-and-testing-sdk-dotnet) 섹션을 참조하세요. 아래와 같이 볼트 이름을 사용해 코드를 업데이트해야 합니다.

**Example**  

```
using System;
using Amazon.Glacier;
using Amazon.Glacier.Model;
using Amazon.Runtime;

namespace glacier.amazon.com.rproxy.govskope.ca.docsamples
{
  class VaultCreateDescribeListVaultsDelete
  {
    static string vaultName = "*** Provide vault name ***";
    static AmazonGlacierClient client;

    public static void Main(string[] args)
    {
       try
      {
         using (client = new AmazonGlacierClient(Amazon.RegionEndpoint.USWest2))
        {
          Console.WriteLine("Creating a vault.");
          CreateAVault();
          DescribeVault();
          GetVaultsList();
          Console.WriteLine("\nVault created. Now press Enter to delete the vault...");
          Console.ReadKey();
          DeleteVault();
        }
      }
      catch (AmazonGlacierException e) { Console.WriteLine(e.Message); }
      catch (AmazonServiceException e) { Console.WriteLine(e.Message); }
      catch (Exception e) { Console.WriteLine(e.Message); }
      Console.WriteLine("To continue, press Enter");
      Console.ReadKey();
    }

    static void CreateAVault()
    {
      CreateVaultRequest request = new CreateVaultRequest()
      {
        VaultName = vaultName
      };
      CreateVaultResponse response = client.CreateVault(request);
      Console.WriteLine("Vault created: {0}\n", response.Location); 
    }

    static void DescribeVault()
    {
      DescribeVaultRequest describeVaultRequest = new DescribeVaultRequest()
      {
        VaultName = vaultName
      };
   
      DescribeVaultResponse describeVaultResponse = client.DescribeVault(describeVaultRequest);
      Console.WriteLine("\nVault description...");
      Console.WriteLine(
        "\nVaultName: " + describeVaultResponse.VaultName +
        "\nVaultARN: " + describeVaultResponse.VaultARN +
        "\nVaultCreationDate: " + describeVaultResponse.CreationDate +
        "\nNumberOfArchives: " + describeVaultResponse.NumberOfArchives +
        "\nSizeInBytes: " + describeVaultResponse.SizeInBytes +
        "\nLastInventoryDate: " + describeVaultResponse.LastInventoryDate 
        );
    }

    static void GetVaultsList()
    {
      string lastMarker = null;
      Console.WriteLine("\n List of vaults in your account in the specific region ...");
      do
      {
        ListVaultsRequest request = new ListVaultsRequest()
        {
          Marker = lastMarker
        };
        ListVaultsResponse response = client.ListVaults(request);
         
        foreach (DescribeVaultOutput output in response.VaultList)
        {
          Console.WriteLine("Vault Name: {0} \tCreation Date: {1} \t #of archives: {2}",
                            output.VaultName, output.CreationDate, output.NumberOfArchives); 
        }
        lastMarker = response.Marker;
      } while (lastMarker != null);
    }

    static void DeleteVault()
    {
      DeleteVaultRequest request = new DeleteVaultRequest()
      {
        VaultName = vaultName
      };
      DeleteVaultResponse response = client.DeleteVault(request);
    }
  }
}
```

# Amazon Glacier에서 REST API를 사용하여 볼트 생성
<a name="creating-vaults-rest-api"></a>

REST API를 사용하여 볼트를 생성하려면 [볼트 만들기(PUT vault)](api-vault-put.md) 섹션을 참조하세요.

# Amazon Glacier 콘솔을 사용하여 볼트 생성
<a name="creating-vaults-console"></a>

Amazon Glacier(Amazon Glacier) 콘솔을 사용하여 볼트를 생성하려면 *시작하기* 자습서의 [2단계: Amazon Glacier에서 볼트 생성](getting-started-create-vault.md) 섹션을 참조하세요.

# Amazon Glacier에서 AWS Command Line Interface를 사용하여 볼트 생성
<a name="creating-vaults-cli"></a>

다음 단계에 따라 AWS Command Line Interface(AWS CLI)를 사용하여 Amazon Glacier(Amazon Glacier)에 볼트를 생성합니다.

**Topics**
+ [(전제 조건) AWS CLI 설정](#Creating-Vaults-CLI-Setup)
+ [예제: AWS CLI를 사용하여 볼트 생성](#Creating-Vaults-CLI-Implementation)

## (전제 조건) AWS CLI 설정
<a name="Creating-Vaults-CLI-Setup"></a>

1. AWS CLI를 다운로드하고 구성합니다. 관련 지침은 *AWS Command Line Interface 사용 설명서*에서 다음 토픽을 참조하세요.

    [AWS Command Line Interface 설치](https://docs.aws.amazon.com/cli/latest/userguide/installing.html) 

   [AWS Command Line Interface 구성](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)

1. 명령 프롬프트에 다음 명령을 입력하여 사용자의 AWS CLI 설정을 확인합니다. 이러한 명령은 명시적으로 자격 증명을 제공하지 않으므로 기본 프로파일의 자격 증명이 사용됩니다.
   + help 명령을 사용해 보십시오.

     ```
     aws help
     ```
   + 구성된 계정의 Amazon Glacier 볼트 목록을 가져오려면 `list-vaults` 명령을 사용합니다. *123456789012*를 사용자의 AWS 계정 ID로 바꿉니다.

     ```
     aws glacier list-vaults --account-id 123456789012
     ```
   + AWS CLI를 위한 현재 구성 데이터를 확인하려면 `aws configure list` 명령을 사용합니다.

     ```
     aws configure list
     ```

## 예제: AWS CLI를 사용하여 볼트 생성
<a name="Creating-Vaults-CLI-Implementation"></a>

1. `create-vault` 명령을 사용하여 *111122223333* 계정에 *awsexamplevault*라는 이름의 볼트를 생성합니다.

   ```
   aws glacier create-vault --vault-name awsexamplevault --account-id 111122223333
   ```

   예상 결과:

   ```
   {
       "location": "/111122223333/vaults/awsexamplevault"
   }
   ```

1. `describe-vault` 명령을 사용하여 생성을 확인합니다.

   ```
   aws glacier describe-vault --vault-name awsexamplevault --account-id 111122223333
   ```