Tulis EBS snapshot Amazon dengan langsung EBS APIs - Amazon EBS

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

Tulis EBS snapshot Amazon dengan langsung EBS APIs

Langkah-langkah berikut menjelaskan cara menggunakan EBS direct APIs untuk menulis snapshot tambahan:

  1. Gunakan StartSnapshot tindakan dan tentukan ID snapshot induk untuk memulai snapshot sebagai snapshot tambahan dari yang sudah ada, atau hilangkan ID snapshot induk untuk memulai snapshot baru. Tindakan ini mengembalikan ID snapshot baru, yang berada dalam status tertunda.

  2. Gunakan PutSnapshotBlock tindakan dan tentukan ID snapshot yang tertunda untuk menambahkan data ke dalamnya dalam bentuk blok individual. Anda harus menentukan SHA256 checksum yang dikodekan Base64 untuk blok data yang dikirimkan. Layanan ini menghitung checksum data yang diterima dan memvalidasinya dengan checksum yang Anda tentukan. Tindakan gagal jika checksum tidak cocok.

  3. Setelah selesai menambahkan data ke snapshot yang tertunda, gunakan CompleteSnapshot tindakan untuk memulai alur kerja asinkron yang menyegel snapshot dan memindahkannya ke status selesai.

Ulangi langkah-langkah ini untuk membuat snapshot inkremental baru menggunakan snapshot yang dibuat sebelumnya sebagai induk.

Misalnya, dalam diagram berikut, snapshot A adalah snapshot baru pertama yang dimulai. Snapshot A digunakan sebagai snapshot induk untuk memulai snapshot B. Snapshot B digunakan sebagai snapshot induk untuk memulai dan membuat snapshot C. Snapshot A, B, dan C adalah snapshot inkremental. Snapshot A digunakan untuk membuat EBS volume 1. Snapshot D dibuat dari EBS volume 1. Snapshot D adalah snapshot inkremental A; bukan snapshot inkremental dari B atau C.

EBSlangsung APIs digunakan untuk membuat snapshot tambahan.

Contoh berikut menunjukkan cara menulis snapshot menggunakan EBS directAPIs.

Mulai snapshot

AWS CLI

Contoh perintah start-snapshot berikut memulai snapshot 8 GiB, menggunakan snapshot snap-123EXAMPLE1234567 sebagai snapshot induk. Snapshot baru akan berupa snapshot inkremental dari snapshot induk. Snapshot berpindah ke status kesalahan jika tidak ada permintaan put atau complete yang dibuat untuk snapshot dalam periode waktu tunggu 60 menit yang ditentukan. Token klien 550e8400-e29b-41d4-a716-446655440000 memastikan idempotensi permintaan tersebut. Jika token klien dihilangkan, token AWS SDK otomatis menghasilkan satu untuk Anda. Untuk informasi selengkapnya tentang idempotensi, lihat Pastikan idempotensi dalam permintaan StartSnapshot API.

aws ebs start-snapshot --volume-size 8 --parent-snapshot snap-123EXAMPLE1234567 --timeout 60 --client-token 550e8400-e29b-41d4-a716-446655440000

Contoh respons berikut untuk perintah sebelumnya menunjukkan ID snapshot, ID akun AWS , status, ukuran volume dalam GiB, dan ukuran blok di snapshot. Snapshot dimulai dalam status pending. Tentukan ID snapshot di bagian perintah put-snapshot-block berikutnya untuk menuliskan data ke snapshot, lalu menggunakan perintah complete-snapshot untuk menyelesaikan snapshot dan mengubahnya status menjadi completed.

{ "SnapshotId": "snap-0aaEXAMPLEe306d62", "OwnerId": "111122223333", "Status": "pending", "VolumeSize": 8, "BlockSize": 524288 }
AWS API

Permintaan StartSnapshotcontoh berikut memulai snapshot 8 GiB, menggunakan snapshot snap-123EXAMPLE1234567 sebagai snapshot induk. Snapshot baru akan berupa snapshot inkremental dari snapshot induk. Snapshot berpindah ke status kesalahan jika tidak ada permintaan put atau complete yang dibuat untuk snapshot dalam periode waktu tunggu 60 menit yang ditentukan. Token klien 550e8400-e29b-41d4-a716-446655440000 memastikan idempotensi permintaan tersebut. Jika token klien dihilangkan, token AWS SDK otomatis menghasilkan satu untuk Anda. Untuk informasi selengkapnya tentang idempotensi, lihat Pastikan idempotensi dalam permintaan StartSnapshot API.

POST /snapshots HTTP/1.1 Host: ebs.us-east-2.amazonaws.com Accept-Encoding: identity User-Agent: <User agent parameter> X-Amz-Date: 20200618T040724Z Authorization: <Authentication parameter> { "VolumeSize": 8, "ParentSnapshot": snap-123EXAMPLE1234567, "ClientToken": "550e8400-e29b-41d4-a716-446655440000", "Timeout": 60 }

Contoh respons berikut untuk permintaan sebelumnya menunjukkan ID snapshot, ID akun AWS , status, ukuran volume dalam GiB, dan ukuran blok di snapshot. Snapshot dimulai dalam status tertunda. Tentukan ID snapshot di permintaan PutSnapshotBlocks berikutnya untuk menuliskan data ke snapshot.

HTTP/1.1 201 Created x-amzn-RequestId: 929e6eb9-7183-405a-9502-5b7da37c1b18 Content-Type: application/json Content-Length: 181 Date: Thu, 18 Jun 2020 04:07:29 GMT Connection: keep-alive { "BlockSize": 524288, "Description": null, "OwnerId": "138695307491", "Progress": null, "SnapshotId": "snap-052EXAMPLEc85d8dd", "StartTime": null, "Status": "pending", "Tags": null, "VolumeSize": 8 }

Menempatkan data ke dalam snapshot

AWS CLI

Contoh perintah berikut put-snapshot menulis 524288 Bita data untuk 1000 indeks blok pada snapshot snap-0aaEXAMPLEe306d62. Checksum QOD3gmEQOXATfJx2Aa34W4FU2nZGyXfqtsUuktOw8DM= berkode Base64 dibuat menggunakan algoritme SHA256. Data yang ditransmisikan terdapat di file /tmp/data.

aws ebs put-snapshot-block --snapshot-id snap-0aaEXAMPLEe306d62 --block-index 1000 --data-length 524288 --block-data /tmp/data --checksum QOD3gmEQOXATfJx2Aa34W4FU2nZGyXfqtsUuktOw8DM= --checksum-algorithm SHA256

Contoh respons untuk perintah sebelumnya berikut ini mengonfirmasi panjang data, checksum, dan algoritma checksum untuk data yang diterima oleh layanan.

{ "DataLength": "524288", "Checksum": "QOD3gmEQOXATfJx2Aa34W4FU2nZGyXfqtsUuktOw8DM=", "ChecksumAlgorithm": "SHA256" }
AWS API

PutSnapshotContoh permintaan berikut menulis 524288 Bytes data untuk memblokir indeks 1000 pada snapshotsnap-052EXAMPLEc85d8dd. Checksum QOD3gmEQOXATfJx2Aa34W4FU2nZGyXfqtsUuktOw8DM= dengan enkode Base64 dibuat menggunakan algoritma SHA256. Datake dalam badan permintaan dan direpresentasikan sebagai BlockData pada contoh berikut.

PUT /snapshots/snap-052EXAMPLEc85d8dd/blocks/1000 HTTP/1.1 Host: ebs.us-east-2.amazonaws.com Accept-Encoding: identity x-amz-Data-Length: 524288 x-amz-Checksum: QOD3gmEQOXATfJx2Aa34W4FU2nZGyXfqtsUuktOw8DM= x-amz-Checksum-Algorithm: SHA256 User-Agent: <User agent parameter> X-Amz-Date: 20200618T042215Z X-Amz-Content-SHA256: UNSIGNED-PAYLOAD Authorization: <Authentication parameter> BlockData

Berikut ini adalah contoh tanggapan untuk permintaan sebelumnya yang mengonfirmasi panjang data, checksum, dan checksum untuk data yang diterima oleh layanan.

HTTP/1.1 201 Created x-amzn-RequestId: 643ac797-7e0c-4ad0-8417-97b77b43c57b x-amz-Checksum: QOD3gmEQOXATfJx2Aa34W4FU2nZGyXfqtsUuktOw8DM= x-amz-Checksum-Algorithm: SHA256 Content-Type: application/json Content-Length: 2 Date: Thu, 18 Jun 2020 04:22:12 GMT Connection: keep-alive {}

Menyelesaikan snapshot

AWS CLI

Contoh perintah complete-snapshot berikut menyelesaikan snapshot snap-0aaEXAMPLEe306d62. Perintah menentukan bahwa 5 blok ditulis untuk snapshot. Checksum 6D3nmwi5f2F0wlh7xX8QprrJBFzDX8aacdOcA3KCM3c= mewakili checksum untuk set data lengkap yang ditulis ke snapshot. Untuk informasi selengkapnya tentang checksum, lihat Gunakan APIs checksum EBS langsung untuk memvalidasi data snapshot sebelumnya di dalam panduan ini.

aws ebs complete-snapshot --snapshot-id snap-0aaEXAMPLEe306d62 --changed-blocks-count 5 --checksum 6D3nmwi5f2F0wlh7xX8QprrJBFzDX8aacdOcA3KCM3c= --checksum-algorithm SHA256 --checksum-aggregation-method LINEAR

Berikut ini adalah contoh tanggapan untuk perintah sebelumnya.

{ "Status": "pending" }
AWS API

CompleteSnapshotContoh permintaan berikut melengkapi snapshotsnap-052EXAMPLEc85d8dd. Perintah menentukan bahwa 5 blok ditulis untuk snapshot. Checksum 6D3nmwi5f2F0wlh7xX8QprrJBFzDX8aacdOcA3KCM3c= merepresentasikan checksum untuk set data lengkap yang ditulis ke snapshot.

POST /snapshots/completion/snap-052EXAMPLEc85d8dd HTTP/1.1 Host: ebs.us-east-2.amazonaws.com Accept-Encoding: identity x-amz-ChangedBlocksCount: 5 x-amz-Checksum: 6D3nmwi5f2F0wlh7xX8QprrJBFzDX8aacdOcA3KCM3c= x-amz-Checksum-Algorithm: SHA256 x-amz-Checksum-Aggregation-Method: LINEAR User-Agent: <User agent parameter> X-Amz-Date: 20200618T043158Z Authorization: <Authentication parameter>

Berikut ini adalah contoh tanggapan untuk permintaan sebelumnya.

HTTP/1.1 202 Accepted x-amzn-RequestId: 06cba5b5-b731-49de-af40-80333ac3a117 Content-Type: application/json Content-Length: 20 Date: Thu, 18 Jun 2020 04:31:50 GMT Connection: keep-alive {"Status":"pending"}