Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Scrivi EBS istantanee Amazon con Direct EBS APIs
I passaggi seguenti descrivono come utilizzare EBS direct per APIs scrivere istantanee incrementali:
-
Utilizzate l' StartSnapshot azione e specificate un ID snapshot principale per avviare un'istantanea come istantanea incrementale di un'istantanea esistente oppure omettete l'ID dello snapshot principale per iniziare una nuova istantanea. Questa operazione restituisce il nuovo ID snapshot, che è in sospeso.
-
Utilizzate l' PutSnapshotBlock azione e specificate l'ID dell'istantanea in sospeso per aggiungervi dati sotto forma di singoli blocchi. È necessario specificare un checksum con codifica Base64 per il SHA256 blocco di dati trasmesso. Il servizio calcola il checksum dei dati ricevuti e lo convalida con il checksum specificato. L'operazione ha esito negativo se i checksum non corrispondono.
-
Quando hai finito di aggiungere dati allo snapshot in sospeso, utilizza l' CompleteSnapshotazione per avviare un flusso di lavoro asincrono che sigilla l'istantanea e la sposta in uno stato completo.
Ripeti queste fasi per creare un nuovo snapshot incrementale utilizzando lo snapshot creato in precedenza come padre.
Nel diagramma seguente, ad esempio, lo snapshot A è il primo nuovo snapshot avviato. Lo snapshot A viene utilizzato come snapshot padre per avviare lo snapshot B. Lo snapshot B viene utilizzato come snapshot padre per avviare e creare lo snapshot C. Gli snapshot A, B e C sono snapshot incrementali. L'istantanea A viene utilizzata per creare il volume 1. EBS L'istantanea D viene creata dal EBS volume 1. Lo snapshot D è uno snapshot incrementale di A; non è uno snapshot incrementale di B o C.
Gli esempi seguenti mostrano come scrivere istantanee usando la diretta. EBS APIs
Avvio di uno snapshot
- AWS CLI
-
Il seguente comando di esempio start-snapshot avvia uno snapshot 8
GiB utilizzando lo snapshot snap-123EXAMPLE1234567
come snapshot padre. Il nuovo snapshot sarà uno snapshot incrementale dello snapshot padre. Lo snapshot viene impostato in stato di errore se non vengono effettuate richieste di inserimento o completamento per lo snapshot entro il periodo di timeout di 60
minuti specificato. Il token client 550e8400-e29b-41d4-a716-446655440000
garantisce l'idempotenza della richiesta. Se il token client viene omesso, ne genera AWS SDK automaticamente uno per te. Per ulteriori informazioni sull'idempotenza, consulta Garantisci l'idempotenza nelle richieste StartSnapshot API.
aws ebs start-snapshot --volume-size 8
--parent-snapshot snap-123EXAMPLE1234567
--timeout 60
--client-token 550e8400-e29b-41d4-a716-446655440000
La seguente risposta di esempio per il comando precedente mostra l'ID snapshot, l'ID account AWS
, lo stato, la dimensione del volume in GiB e la dimensione dei blocchi dello snapshot. Lo snapshot al momento dell'avvio è nello stato pending
. Specifica l'ID snapshot nei comandi put-snapshot-block
successivi per scrivere i dati nello snapshot, quindi utilizza il comando complete-snapshot
per completare lo snapshot e modificare lo stato come completed
.
{
"SnapshotId": "snap-0aaEXAMPLEe306d62",
"OwnerId": "111122223333",
"Status": "pending",
"VolumeSize": 8,
"BlockSize": 524288
}
- AWS API
-
La seguente richiesta di StartSnapshotesempio avvia un'istantanea 8
GiB, utilizzando snapshot snap-123EXAMPLE1234567
come snapshot principale. Il nuovo snapshot sarà uno snapshot incrementale dello snapshot padre. Lo snapshot viene impostato in stato di errore se non vengono effettuate richieste di inserimento o completamento per lo snapshot entro il periodo di timeout di 60
minuti specificato. Il token client 550e8400-e29b-41d4-a716-446655440000
garantisce l'idempotenza della richiesta. Se il token client viene omesso, ne genera AWS SDK automaticamente uno per te. Per ulteriori informazioni sull'idempotenza, consulta Garantisci l'idempotenza nelle richieste 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
}
La seguente risposta di esempio per la richiesta precedente mostra l'ID snapshot, l'ID account AWS
, lo stato, la dimensione del volume in GiB e la dimensione dei blocchi dello snapshot. Lo snapshot al momento dell'avvio è nello stato in sospeso. Specifica l'ID snapshot in una richiesta PutSnapshotBlocks
successiva per scrivere i dati nello 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
}
Inserimento dei dati in uno snapshot
- AWS CLI
-
Il seguente comando di esempio put-snapshot scrive 524288
byte di dati nell'indice di blocco 1000
nello snapshot snap-0aaEXAMPLEe306d62
. Il checksum QOD3gmEQOXATfJx2Aa34W4FU2nZGyXfqtsUuktOw8DM=
con codifica Base64 è stato generato utilizzando l'algoritmo SHA256
. I dati trasmessi si trovano nel 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
Il seguente esempio di risposta per il comando precedente conferma la lunghezza dei dati, il checksum e l'algoritmo di checksum per i dati ricevuti dal servizio.
{
"DataLength": "524288",
"Checksum": "QOD3gmEQOXATfJx2Aa34W4FU2nZGyXfqtsUuktOw8DM=",
"ChecksumAlgorithm": "SHA256"
}
- AWS API
-
La seguente richiesta di PutSnapshotesempio scrive 524288
byte di dati per bloccare l'indice 1000
sull'istantanea. snap-052EXAMPLEc85d8dd
Il checksum QOD3gmEQOXATfJx2Aa34W4FU2nZGyXfqtsUuktOw8DM=
con codifica Base64 è stato generato utilizzando l'algoritmo SHA256
. I dati vengono trasmessi nel corpo della richiesta e sono rappresentati come BlockData
nel seguente esempio.
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
La seguente risposta di esempio per la richiesta precedente conferma la lunghezza dei dati, il checksum e l'algoritmo di checksum per i dati ricevuti dal servizio.
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
{}
Completamento di uno snapshot
- AWS CLI
-
Il seguente comando di esempio complete-snapshot completa lo snapshot snap-0aaEXAMPLEe306d62
. Il comando specifica che 5
blocchi sono stati scritti nello snapshot. Il checksum 6D3nmwi5f2F0wlh7xX8QprrJBFzDX8aacdOcA3KCM3c=
rappresenta il checksum per il set completo di dati scritti in uno snapshot. Per ulteriori informazioni sui checksum, consulta Utilizza i APIs checksum EBS diretti per convalidare i dati delle istantanee in precedenza in questa guida.
aws ebs complete-snapshot --snapshot-id snap-0aaEXAMPLEe306d62
--changed-blocks-count 5
--checksum 6D3nmwi5f2F0wlh7xX8QprrJBFzDX8aacdOcA3KCM3c=
--checksum-algorithm SHA256
--checksum-aggregation-method LINEAR
Di seguito è riportata una risposta di esempio per il comando precedente.
{
"Status": "pending"
}
- AWS API
-
La seguente richiesta di CompleteSnapshotesempio completa l'istantaneasnap-052EXAMPLEc85d8dd
. Il comando specifica che 5
blocchi sono stati scritti nello snapshot. Il checksum 6D3nmwi5f2F0wlh7xX8QprrJBFzDX8aacdOcA3KCM3c=
rappresenta il checksum per il set completo di dati scritti in uno 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>
Di seguito è riportato un esempio di risposta per la richiesta precedente.
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"}