

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Menggunakan Amazon Glacier di AWS CLI
<a name="cli-services-glacier"></a>


| Pengantar Amazon Glacier | 
| --- | 
|    | 

Topik ini menunjukkan contoh AWS CLI perintah yang melakukan tugas umum untuk Amazon Glacier. Contoh menunjukkan cara menggunakan file untuk mengunggah file besar AWS CLI ke Amazon Glacier dengan membaginya menjadi bagian-bagian yang lebih kecil dan mengunggahnya dari baris perintah.

Anda dapat mengakses fitur Amazon Glacier menggunakan AWS Command Line Interface ().AWS CLI Untuk membuat daftar AWS CLI perintah untuk Amazon Glacier, gunakan perintah berikut.

```
aws glacier help
```

**catatan**  
Untuk referensi perintah dan contoh tambahan, lihat `[aws glacier](https://docs.aws.amazon.com/cli/latest/reference/glacier/index.html)` di *AWS CLI Command Reference*.

**Topics**
+ [Prasyarat](#cli-services-glacier-prereqs)
+ [Buat lemari besi Amazon Glacier](#cli-services-glacier-vault)
+ [Siapkan file untuk diunggah](#cli-services-glacier-prep)
+ [Memulai upload dan meng-upload file multipart](#cli-services-glacier-initiate)
+ [Selesaikan unggahan](#cli-services-glacier-complete)
+ [Sumber daya](#cli-services-glacier-resources)

## Prasyarat
<a name="cli-services-glacier-prereqs"></a>

Untuk menjalankan `glacier` perintah, Anda perlu:
+ Instal dan konfigurasikan AWS CLI. Untuk informasi selengkapnya, lihat [Menginstal atau memperbarui ke versi terbaru dari AWS CLI](getting-started-install.md) dan [Otentikasi dan akses kredensional untuk AWS CLI](cli-chap-authentication.md).
+ Tutorial ini menggunakan beberapa alat baris perintah yang biasanya sudah diinstal sebelumnya pada sistem operasi mirip Unix, termasuk Linux dan macOS. Pengguna Windows dapat menggunakan alat yang sama dengan menginstal [Cygwin](https://www.cygwin.com/) dan menjalankan perintah dari terminal Cygwin. Kami mencatat perintah dan utilitas asli Windows yang melakukan fungsi yang sama jika tersedia.

## Buat lemari besi Amazon Glacier
<a name="cli-services-glacier-vault"></a>

Buat lemari besi dengan `[create-vault](https://docs.aws.amazon.com/cli/latest/reference/glacier/create-vault.html)` perintah.

```
$ aws glacier create-vault --account-id - --vault-name myvault
{
    "location": "/123456789012/vaults/myvault"
}
```

**catatan**  
Semua perintah Amazon Glacier memerlukan parameter ID akun. Gunakan karakter tanda hubung (`--account-id -`) untuk menggunakan akun saat ini.

## Siapkan file untuk diunggah
<a name="cli-services-glacier-prep"></a>

Buat file untuk unggahan pengujian. Perintah berikut membuat file bernama *largefile* yang berisi persis 3 MiB data acak.

**Linux atau macOS**

```
$ dd if=/dev/urandom of=largefile bs=3145728 count=1
1+0 records in
1+0 records out
3145728 bytes (3.1 MB) copied, 0.205813 s, 15.3 MB/s
```

`dd`adalah utilitas yang menyalin sejumlah byte dari file input ke file output. Contoh sebelumnya menggunakan file perangkat sistem `/dev/urandom` sebagai sumber data acak. `fsutil`melakukan fungsi serupa di Windows.

**Windows**

```
C:\> fsutil file createnew largefile 3145728
File C:\temp\largefile is created
```

Selanjutnya, bagi file menjadi potongan 1 MiB (1.048.576 byte) menggunakan file splitter.

```
$ split -b 1048576 --verbose largefile chunk
creating file `chunkaa'
creating file `chunkab'
creating file `chunkac'
```

## Memulai upload dan meng-upload file multipart
<a name="cli-services-glacier-initiate"></a>

Buat unggahan multibagian di Amazon Glacier dengan menggunakan perintah. `[initiate-multipart-upload](https://docs.aws.amazon.com/cli/latest/reference/glacier/initiate-multipart-upload.html)`

```
$ aws glacier initiate-multipart-upload --account-id - --archive-description "multipart upload test" --part-size 1048576 --vault-name myvault
{
    "uploadId": "19gaRezEXAMPLES6Ry5YYdqthHOC_kGRCT03L9yetr220UmPtBYKk-OssZtLqyFu7sY1_lR7vgFuJV6NtcV5zpsJ",
    "location": "/123456789012/vaults/myvault/multipart-uploads/19gaRezEXAMPLES6Ry5YYdqthHOC_kGRCT03L9yetr220UmPtBYKk-OssZtLqyFu7sY1_lR7vgFuJV6NtcV5zpsJ"
}
```

Amazon Glacier memerlukan ukuran setiap bagian dalam byte (1 MiB dalam contoh ini), nama vault Anda, dan ID akun untuk mengonfigurasi unggahan multibagian. AWS CLI Output ID upload ketika operasi selesai. Simpan ID unggahan ke variabel shell untuk digunakan nanti.

**Linux atau macOS**

```
$ UPLOADID="19gaRezEXAMPLES6Ry5YYdqthHOC_kGRCT03L9yetr220UmPtBYKk-OssZtLqyFu7sY1_lR7vgFuJV6NtcV5zpsJ"
```

**Windows**

```
C:\> set UPLOADID="19gaRezEXAMPLES6Ry5YYdqthHOC_kGRCT03L9yetr220UmPtBYKk-OssZtLqyFu7sY1_lR7vgFuJV6NtcV5zpsJ"
```

Selanjutnya, gunakan `[upload-multipart-part](https://docs.aws.amazon.com/cli/latest/reference/glacier/upload-multipart-part.html)` perintah untuk mengunggah masing-masing dari tiga bagian.

```
$ aws glacier upload-multipart-part --upload-id $UPLOADID --body chunkaa --range 'bytes 0-1048575/*' --account-id - --vault-name myvault
{
    "checksum": "e1f2a7cd6e047fa606fe2f0280350f69b9f8cfa602097a9a026360a7edc1f553"
}
$ aws glacier upload-multipart-part --upload-id $UPLOADID --body chunkab --range 'bytes 1048576-2097151/*' --account-id - --vault-name myvault
{
    "checksum": "e1f2a7cd6e047fa606fe2f0280350f69b9f8cfa602097a9a026360a7edc1f553"
}
$ aws glacier upload-multipart-part --upload-id $UPLOADID --body chunkac --range 'bytes 2097152-3145727/*' --account-id - --vault-name myvault
{
    "checksum": "e1f2a7cd6e047fa606fe2f0280350f69b9f8cfa602097a9a026360a7edc1f553"
}
```

**catatan**  
Contoh sebelumnya menggunakan tanda dolar (`$`) untuk referensi isi variabel `UPLOADID` shell di Linux. Pada baris perintah Windows, gunakan tanda persen (%) di kedua sisi nama variabel (misalnya,`%UPLOADID%`).

Anda harus menentukan rentang byte setiap bagian saat Anda mengunggahnya sehingga Amazon Glacier dapat memasangnya kembali dalam urutan yang benar. Setiap bagian adalah 1.048.576 byte, sehingga bagian pertama menempati byte 0-1048575, yang kedua 1048576-2097151, dan yang ketiga 2097152-3145727.

## Selesaikan unggahan
<a name="cli-services-glacier-complete"></a>

Amazon Glacier memerlukan hash pohon dari file asli untuk mengonfirmasi bahwa semua bagian yang diunggah mencapai utuh. AWS 

Untuk menghitung hash pohon, Anda harus membagi file menjadi 1 bagian MiB dan menghitung hash SHA-256 biner dari setiap bagian. Kemudian Anda membagi daftar hash menjadi pasangan, menggabungkan dua hash biner di setiap pasangan, dan mengambil hash dari hasilnya. Ulangi proses ini sampai hanya ada satu hash yang tersisa. Jika ada jumlah ganjil hash di tingkat mana pun, promosikan ke tingkat berikutnya tanpa memodifikasinya.

Kunci untuk menghitung hash pohon dengan benar saat menggunakan utilitas baris perintah adalah menyimpan setiap hash dalam format biner dan mengkonversi ke heksadesimal hanya pada langkah terakhir. Menggabungkan atau hashing versi heksadesimal dari setiap hash di pohon akan menyebabkan hasil yang salah.

**catatan**  
Pengguna Windows dapat menggunakan `type` perintah sebagai pengganti`cat`. [OpenSSL tersedia untuk Windows di OpenSSL.org.](https://www.openssl.org/source/)

**Untuk menghitung hash pohon**

1. Jika Anda belum melakukannya, pisahkan file asli menjadi 1 bagian MiB.

   ```
   $ split --bytes=1048576 --verbose largefile chunk
   creating file `chunkaa'
   creating file `chunkab'
   creating file `chunkac'
   ```

1. Hitung dan simpan hash biner SHA-256 dari setiap potongan.

   ```
   $ openssl dgst -sha256 -binary chunkaa > hash1
   $ openssl dgst -sha256 -binary chunkab > hash2
   $ openssl dgst -sha256 -binary chunkac > hash3
   ```

1. Gabungkan dua hash pertama dan ambil hash biner hasilnya.

   ```
   $ cat hash1 hash2 > hash12
   $ openssl dgst -sha256 -binary hash12 > hash12hash
   ```

1. Gabungkan hash induk dari potongan `aa` dan `ab` dengan hash potongan dan hash hasilnya, kali ini mengeluarkan `ac` heksadesimal. Simpan hasilnya dalam variabel shell.

   ```
   $ cat hash12hash hash3 > hash123
   $ openssl dgst -sha256 hash123
   SHA256(hash123)= 9628195fcdbcbbe76cdde932d4646fa7de5f219fb39823836d81f0cc0e18aa67
   $ TREEHASH=9628195fcdbcbbe76cdde932d4646fa7de5f219fb39823836d81f0cc0e18aa67
   ```

Terakhir, selesaikan unggahan dengan `[complete-multipart-upload](https://docs.aws.amazon.com/cli/latest/reference/glacier/complete-multipart-upload.html)` perintah. Perintah ini mengambil ukuran file asli dalam byte, nilai hash pohon akhir dalam heksadesimal, dan ID akun dan nama vault Anda.

```
$ aws glacier complete-multipart-upload --checksum $TREEHASH --archive-size 3145728 --upload-id $UPLOADID --account-id - --vault-name myvault
{
    "archiveId": "d3AbWhE0YE1m6f_fI1jPG82F8xzbMEEZmrAlLGAAONJAzo5QdP-N83MKqd96Unspoa5H5lItWX-sK8-QS0ZhwsyGiu9-R-kwWUyS1dSBlmgPPWkEbeFfqDSav053rU7FvVLHfRc6hg",
    "checksum": "9628195fcdbcbbe76cdde932d4646fa7de5f219fb39823836d81f0cc0e18aa67",
    "location": "/123456789012/vaults/myvault/archives/d3AbWhE0YE1m6f_fI1jPG82F8xzbMEEZmrAlLGAAONJAzo5QdP-N83MKqd96Unspoa5H5lItWX-sK8-QS0ZhwsyGiu9-R-kwWUyS1dSBlmgPPWkEbeFfqDSav053rU7FvVLHfRc6hg"
}
```

Anda juga dapat memeriksa status brankas menggunakan `[describe-vault](https://docs.aws.amazon.com/cli/latest/reference/glacier/describe-vault.html)` perintah.

```
$ aws glacier describe-vault --account-id - --vault-name myvault
{
    "SizeInBytes": 3178496,
    "VaultARN": "arn:aws:glacier:us-west-2:123456789012:vaults/myvault",
    "LastInventoryDate": "2018-12-07T00:26:19.028Z",
    "NumberOfArchives": 1,
    "CreationDate": "2018-12-06T21:23:45.708Z",
    "VaultName": "myvault"
}
```

**catatan**  
Status Vault diperbarui sekitar sekali per hari. Lihat [Bekerja dengan Vaults untuk informasi](https://docs.aws.amazon.com/amazonglacier/latest/dev/working-with-vaults.html) lebih lanjut.

Sekarang aman untuk menghapus file chunk dan hash yang Anda buat.

```
$ rm chunk* hash*
```

*Untuk informasi selengkapnya tentang unggahan multibagian, lihat [Mengunggah Arsip Besar di Checksum Suku Cadang dan Komputasi di](https://docs.aws.amazon.com/amazonglacier/latest/dev/uploading-archive-mpu.html) [Panduan Pengembang](https://docs.aws.amazon.com/amazonglacier/latest/dev/checksum-calculations.html) Amazon Glacier.* 

## Sumber daya
<a name="cli-services-glacier-resources"></a>

**AWS CLI Referensi:**
+ `[aws glacier](https://docs.aws.amazon.com/cli/latest/reference/glacier/index.html)`
+ `[aws glacier complete-multipart-upload](https://docs.aws.amazon.com/cli/latest/reference/glacier/complete-multipart-upload.html)`
+ `[aws glacier create-vault](https://docs.aws.amazon.com/cli/latest/reference/glacier/create-vault.html)`
+ `[aws glacier describe-vault](https://docs.aws.amazon.com/cli/latest/reference/glacier/describe-vault.html)`
+ `[aws glacier initiate-multipart-upload](https://docs.aws.amazon.com/cli/latest/reference/glacier/initiate-multipart-upload.html)`

**Referensi layanan:**
+ [Panduan Pengembang Amazon Glacier](https://docs.aws.amazon.com/amazonglacier/latest/dev/)
+ [Mengunggah Arsip Besar di Bagian dalam](https://docs.aws.amazon.com/amazonglacier/latest/dev/uploading-archive-mpu.html) Panduan Pengembang *Amazon Glacier*
+ [Checksum Komputasi](https://docs.aws.amazon.com/amazonglacier/latest/dev/checksum-calculations.html) di Panduan Pengembang Amazon *Glacier*
+ [Bekerja dengan Vaults di Panduan](https://docs.aws.amazon.com/amazonglacier/latest/dev/working-with-vaults.html) Pengembang Amazon *Glacier*