翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
EBS direct API を使用して Amazon EBS スナップショットを読み取る
次の手順では、EBS direct API を使用してスナップショットを読み取る方法について説明します。
-
スナップショット内にあるすべてのブロックのブロックインデックスとブロックトークンを表示するには、ListSnapshotBlocks アクションを使用します。同じボリュームやスナップショット系列の 2 つのスナップショット間で異なるブロックのブロックインデックスとブロックトークンのみを表示するには、ListChangeBlocks アクションを使用します。これらのアクションは、データを取得するブロックのブロックトークンとブロックインデックスを識別するのに役立ちます。
-
GetSnapshotBlock アクションを使用し、データを取得するブロックのブロックインデックスとブロックトークンを指定します。
アーカイブされたスナップショットで EBS direct API を使用することはできません。
次に、EBS direct API を使用しながらスナップショットを読み取る場合の例を示します。
スナップショット内のブロックの一覧表示
- AWS CLI
-
次の list-snapshot-blocks コマンドの例では、スナップショット snap-0987654321
内のブロックのブロックインデックスとブロックトークンを返します。--starting-block-index
パラメータは、結果を 1000
より大きいブロックインデックスに制限します。--max-results
パラメータは、結果を最初の 100
ブロックに制限します。
aws ebs list-snapshot-blocks --snapshot-id snap-0987654321
--starting-block-index 1000
--max-results 100
前のコマンドに対する次のレスポンスの例では、スナップショット内のブロックインデックスとブロックトークンを一覧表示します。get-snapshot-block
コマンドを使用し、データを取得するブロックのブロックインデックスとブロックトークンを指定します。ブロックトークンは、表示されている有効期限まで有効です。
{
"Blocks": [
{
"BlockIndex": 1001,
"BlockToken": "AAABAV3/PNhXOynVdMYHUpPsetaSvjLB1dtIGfbJv5OJ0sX855EzGTWos4a4"
},
{
"BlockIndex": 1002,
"BlockToken": "AAABATGQIgwr0WwIuqIMjCA/Sy7e/YoQFZsHejzGNvjKauzNgzeI13YHBfQB"
},
{
"BlockIndex": 1007,
"BlockToken": "AAABAZ9CTuQtUvp/dXqRWw4d07eOgTZ3jvn6hiW30W9duM8MiMw6yQayzF2c"
},
{
"BlockIndex": 1012,
"BlockToken": "AAABAQdzxhw0rVV6PNmsfo/YRIxo9JPR85XxPf1BLjg0Hec6pygYr6laE1p0"
},
{
"BlockIndex": 1030,
"BlockToken": "AAABAaYvPax6mv+iGWLdTUjQtFWouQ7Dqz6nSD9L+CbXnvpkswA6iDID523d"
},
{
"BlockIndex": 1031,
"BlockToken": "AAABATgWZC0XcFwUKvTJbUXMiSPg59KVxJGL+BWBClkw6spzCxJVqDVaTskJ"
},
...
],
"ExpiryTime": 1576287332.806,
"VolumeSize": 32212254720,
"BlockSize": 524288
}
- AWS API
-
次の ListSnapshotBlocks リクエストの例では、スナップショット snap-0acEXAMPLEcf41648
にあるブロックのブロックインデックスとブロックトークンを返します。startingBlockIndex
パラメータは、結果を 1000
より大きいブロックインデックスに制限します。maxResults
パラメータは、結果を最初の 100
ブロックに制限します。
GET /snapshots/snap-0acEXAMPLEcf41648
/blocks?maxResults=100
&startingBlockIndex=1000
HTTP/1.1
Host: ebs.us-east-2.amazonaws.com
Accept-Encoding: identity
User-Agent: <User agent parameter>
X-Amz-Date: 20200617T231953Z
Authorization: <Authentication parameter>
前のリクエストに対する次のレスポンスの例では、スナップショット内のブロックインデックスとブロックトークンを一覧表示します。GetSnapshotBlock アクションを使用し、データを取得するブロックのブロックインデックスとブロックトークンを指定します。ブロックトークンは、表示されている有効期限まで有効です。
HTTP/1.1 200 OK
x-amzn-RequestId: d6e5017c-70a8-4539-8830-57f5557f3f27
Content-Type: application/json
Content-Length: 2472
Date: Wed, 17 Jun 2020 23:19:56 GMT
Connection: keep-alive
{
"BlockSize": 524288,
"Blocks": [
{
"BlockIndex": 0,
"BlockToken": "AAUBAcuWqOCnDNuKle11s7IIX6jp6FYcC/q8oT93913HhvLvA+3JRrSybp/0"
},
{
"BlockIndex": 1536,
"BlockToken": "AAUBAWudwfmofcrQhGVlLwuRKm2b8ZXPiyrgoykTRC6IU1NbxKWDY1pPjvnV"
},
{
"BlockIndex": 3072,
"BlockToken": "AAUBAV7p6pC5fKAC7TokoNCtAnZhqq27u6YEXZ3MwRevBkDjmMx6iuA6tsBt"
},
{
"BlockIndex": 3073,
"BlockToken": "AAUBAbqt9zpqBUEvtO2HINAfFaWToOwlPjbIsQOlx6JUN/0+iMQl0NtNbnX4"
},
...
],
"ExpiryTime": 1.59298379649E9,
"VolumeSize": 3
}
2 つのスナップショット間で異なるブロックの一覧表示
2 つのスナップショット間で、変更されたブロックを一覧表示するためにページ分割されたリクエストを実行する場合は、次の点に注意してください。
-
レスポンスには、1 つ以上の空の ChangedBlocks
配列を含めることができます。例:
これらのスナップショットの変更されたブロックを StartingBlockIndex = 0
および MaxResults = 100
で一覧表示し、ChangedBlocks
の空の配列を返します。変更されたブロックが 10 番目の結果セットで返されるまで nextToken
を使用して残りの結果をリクエストする必要があります。これにはブロックインデックス 900
- 999
を持つブロックが含まれます。
-
レスポンスは、スナップショット内の書き込まれていないブロックをスキップできます。例:
これらのスナップショットの変更されたブロックを StartingBlockIndex = 0
および MaxResults = 100
で一覧表示すると、レスポンスはブロックインデックス 0
- 1999
をスキップし、ブロックインデックス 2000
を含みます。レスポンスには、空の ChangedBlocks
配列は含まれません。
- AWS CLI
-
次の list-changed-blocks コマンドの例では、スナップショット snap-1234567890
とスナップショット snap-0987654321
の間で異なるブロックのブロックインデックスとブロックトークンを返します。--starting-block-index
パラメータは、結果を 0
より大きいブロックインデックスに制限します。--max-results
パラメータは、結果を最初の 500
ブロックに制限します。
aws ebs list-changed-blocks --first-snapshot-id snap-1234567890
--second-snapshot-id snap-0987654321
--starting-block-index 0
--max-results 500
前のコマンドに対する次のレスポンスの例は、2 つのスナップショット間でブロックインデックス 0、6000、6001、6002、6003 が異なることを示しています。さらに、ブロックインデックス 6001、6002、および 6003 は、指定された最初のスナップショット ID にのみ存在し、2 番目のスナップショット ID には存在しません。これは、レスポンスに 2 番目のブロックトークンが表示されないためです。
get-snapshot-block
コマンドを使用し、データを取得するブロックのブロックインデックスとブロックトークンを指定します。ブロックトークンは、表示されている有効期限まで有効です。
{
"ChangedBlocks": [
{
"BlockIndex": 0,
"FirstBlockToken": "AAABAVahm9SO60Dyi0ORySzn2ZjGjW/KN3uygGlS0QOYWesbzBbDnX2dGpmC",
"SecondBlockToken": "AAABAf8o0o6UFi1rDbSZGIRaCEdDyBu9TlvtCQxxoKV8qrUPQP7vcM6iWGSr"
},
{
"BlockIndex": 6000,
"FirstBlockToken": "AAABAbYSiZvJ0/R9tz8suI8dSzecLjN4kkazK8inFXVintPkdaVFLfCMQsKe",
"SecondBlockToken": "AAABAZnqTdzFmKRpsaMAsDxviVqEI/3jJzI2crq2eFDCgHmyNf777elD9oVR"
},
{
"BlockIndex": 6001,
"FirstBlockToken": "AAABASBpSJ2UAD3PLxJnCt6zun4/T4sU25Bnb8jB5Q6FRXHFqAIAqE04hJoR"
},
{
"BlockIndex": 6002,
"FirstBlockToken": "AAABASqX4/NWjvNceoyMUljcRd0DnwbSwNnes1UkoP62CrQXvn47BY5435aw"
},
{
"BlockIndex": 6003,
"FirstBlockToken": "AAABASmJ0O5JxAOce25rF4P1sdRtyIDsX12tFEDunnePYUKOf4PBROuICb2A"
},
...
],
"ExpiryTime": 1576308931.973,
"VolumeSize": 32212254720,
"BlockSize": 524288,
"NextToken": "AAADARqElNng/sV98CYk/bJDCXeLJmLJHnNSkHvLzVaO0zsPH/QM3Bi3zF//O6Mdi/BbJarBnp8h"
}
- AWS API
-
次の ListChangedBlocks リクエストの例では、snap-0acEXAMPLEcf41648
スナップショットと snap-0c9EXAMPLE1b30e2f
スナップショットの間で異なるブロックのブロックインデックスとブロックトークンを返します。startingBlockIndex
パラメータは、結果を 0
より大きいブロックインデックスに制限します。maxResults
パラメータは、結果を最初の 500
ブロックに制限します。
GET /snapshots/snap-0c9EXAMPLE1b30e2f
/changedblocks?firstSnapshotId=snap-0acEXAMPLEcf41648
&maxResults=500
&startingBlockIndex=0
HTTP/1.1
Host: ebs.us-east-2.amazonaws.com
Accept-Encoding: identity
User-Agent: <User agent parameter>
X-Amz-Date: 20200617T232546Z
Authorization: <Authentication parameter>
前のリクエストに対する次のレスポンスの例では、2 つのスナップショット間でブロックインデックス 0
、3072
、6002
、6003
が異なることを示しています。さらに、ブロックインデックス 6002
および 6003
は、指定した最初のスナップショット ID にのみ存在し、2 番目のスナップショット ID には存在しません。これは、レスポンスに 2 番目のブロックトークンが表示されないためです。
GetSnapshotBlock
アクションを使用し、データを取得するブロックのブロックインデックスとブロックトークンを指定します。ブロックトークンは、表示されている有効期限まで有効です。
HTTP/1.1 200 OK
x-amzn-RequestId: fb0f6743-6d81-4be8-afbe-db11a5bb8a1f
Content-Type: application/json
Content-Length: 1456
Date: Wed, 17 Jun 2020 23:25:47 GMT
Connection: keep-alive
{
"BlockSize": 524288,
"ChangedBlocks": [
{
"BlockIndex": 0,
"FirstBlockToken": "AAUBAVaWqOCnDNuKle11s7IIX6jp6FYcC/tJuVT1GgP23AuLntwiMdJ+OJkL",
"SecondBlockToken": "AAUBASxzy0Y0b33JVRLoYm3NOresCxn5RO+HVFzXW3Y/RwfFaPX2Edx8QHCh"
},
{
"BlockIndex": 3072,
"FirstBlockToken": "AAUBAcHp6pC5fKAC7TokoNCtAnZhqq27u6fxRfZOLEmeXLmHBf2R/Yb24MaS",
"SecondBlockToken": "AAUBARGCaufCqBRZC8tEkPYGGkSv3vqvOjJ2xKDi3ljDFiytUxBLXYgTmkid"
},
{
"BlockIndex": 6002,
"FirstBlockToken": "AAABASqX4/NWjvNceoyMUljcRd0DnwbSwNnes1UkoP62CrQXvn47BY5435aw"
},
{
"BlockIndex": 6003,
"FirstBlockToken": "AAABASmJ0O5JxAOce25rF4P1sdRtyIDsX12tFEDunnePYUKOf4PBROuICb2A"
},
...
],
"ExpiryTime": 1.592976647009E9,
"VolumeSize": 3
}
スナップショットからのブロックデータの取得
- AWS CLI
-
次の get-snapshot-block コマンドの例では、スナップショット 6001
内でブロックインデックスが AAABASBpSJ2UAD3PLxJnCt6zun4/T4sU25Bnb8jB5Q6FRXHFqAIAqE04hJoR
で、ブロックトークンが snap-1234567890
のデータを返します。バイナリデータは、Windows コンピュータの C:\Temp
ディレクトリ内の data
ファイルに出力されます。Linux または UNIX コンピュータでコマンドを実行する場合は、出力パスを /tmp/data
に置き換え、データを data
ディレクトリ内の /tmp
ファイルに出力します。
aws ebs get-snapshot-block --snapshot-id snap-1234567890
--block-index 6001
--block-token AAABASBpSJ2UAD3PLxJnCt6zun4/T4sU25Bnb8jB5Q6FRXHFqAIAqE04hJoR
C:/Temp/data
前のコマンドに対するの次のレスポンスの例は、返されたデータのサイズ、データを検証するためのチェックサム、チェックサムのアルゴリズムを示しています。バイナリデータは、リクエストコマンドで指定したディレクトリとファイルに自動的に保存されます。
{
"DataLength": "524288",
"Checksum": "cf0Y6/Fn0oFa4VyjQPOa/iD0zhTflPTKzxGv2OKowXc=",
"ChecksumAlgorithm": "SHA256"
}
- AWS API
-
次の GetSnapshotBlock リクエストの例では、スナップショット 3072
内でブロックインデックスが AAUBARGCaufCqBRZC8tEkPYGGkSv3vqvOjJ2xKDi3ljDFiytUxBLXYgTmkid
で、ブロックトークンが snap-0c9EXAMPLE1b30e2f
のデータを返します。
GET /snapshots/snap-0c9EXAMPLE1b30e2f
/blocks/3072
?blockToken=AAUBARGCaufCqBRZC8tEkPYGGkSv3vqvOjJ2xKDi3ljDFiytUxBLXYgTmkid
HTTP/1.1
Host: ebs.us-east-2.amazonaws.com
Accept-Encoding: identity
User-Agent: <User agent parameter>
X-Amz-Date: 20200617T232838Z
Authorization: <Authentication parameter>
前のリクエストに対する次のレスポンスの例は、返されたデータのサイズ、データを検証するためのチェックサム、チェックサムの生成に使用されたアルゴリズムを示しています。バイナリデータは、レスポンスの本文で送信され、次の例では BlockData
として示されています。
HTTP/1.1 200 OK
x-amzn-RequestId: 2d0db2fb-bd88-474d-a137-81c4e57d7b9f
x-amz-Data-Length: 524288
x-amz-Checksum: Vc0yY2j3qg8bUL9I6GQuI2orTudrQRBDMIhcy7bdEsw=
x-amz-Checksum-Algorithm: SHA256
Content-Type: application/octet-stream
Content-Length: 524288
Date: Wed, 17 Jun 2020 23:28:38 GMT
Connection: keep-alive
BlockData