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:
-
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.
-
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.
-
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.
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"}