すべてのプロダクト
Search
ドキュメントセンター

Elastic Compute Service:スナップショットの仕組み

最終更新日:Jan 18, 2024

スナップショットは、ディスクのポイントインタイムコピーです。 スナップショットを使用して、ディスクのスナップショットが作成された時点にディスクを復元できます。 このトピックでは、スナップショットの作成方法と削除方法、スナップショットサイズの計算方法、およびスナップショットサイズとディスクサイズの関係について説明します。

スナップショットの作成

ビジネス要件に基づいて、ディスクのスナップショットを手動または自動で作成できます。 詳細については、「ディスクのスナップショットの作成」または「自動スナップショットポリシーの作成」をご参照ください。

説明

スナップショットは、フルスナップショットと増分スナップショットに分類されます。 ディスク用に作成する最初のスナップショットは、完全なスナップショットです。 スナップショットには、スナップショット作成時にディスクに書き込まれた、空のデータブロックを除くすべてのデータブロックが含まれます。 ディスクに対して作成する後続のスナップショットは増分スナップショットであり、前のスナップショット以降に変更されたデータブロックのみが含まれます。 フルスナップショットと増分スナップショットの両方のメタデータには、すべてのデータブロックの情報が含まれます。 ディスクのスナップショットを使用してディスクをロールバックすると、スナップショットが作成された瞬間からすべてのデータをディスクに復元できます。

説明

ディスクは初期化された後、論理ブロックアドレス (LBA) に基づいて複数のデータブロックに分割される。 これらのデータブロックは、スナップショットのデータバックアップの最小粒度です。 データがデータブロックに書き込まれると、すべての変更されたデータブロックは、次のスナップショットでコピーされるようにマークされる。 ディスクに書き込まれて変更されたデータは、作成されたスナップショットには影響しません。 スナップショットは元のディスクデータには影響しません。

作成されたスナップショットはObject Storage Service (OSS) に保存されます。

  • OSSがゾーン冗長ストレージ (ZRS) をサポートしているリージョンでは、スナップショットデータはデフォルトでZRSバケットに保存され、データの冗長性を最大化します。

  • OSSがZRSをサポートしていないリージョンでは、スナップショットデータはローカル冗長ストレージ (LRS) バケットに保存されます。 ビジネスで高可用性が必要な場合は、スナップショットをコピーしてデータをさらにバックアップすることを推奨します。

  • データセキュリティのため、スナップショットデータを保存するために作成したOSSバケットを選択することはできません。

詳細については、「ストレージの冗長性の概要」および「ZRSバケットの作成」をご参照ください。

スナップショットを使用してディスクを作成またはロールバックすると、スナップショットに含まれるデータブロックがOSSからディスクにロードされ始めます。 ロードされていないスナップショットデータにアクセスすると、システムは要求されたデータをOSSからディスクに直ちにロードします。 ローディングプロセスを完了するには、数分または数時間が必要です。 必要な時間は、スナップショットのサイズによって異なります。 スナップショット内のすべてのデータブロックがディスクにロードされる前に、ディスクの読み取りレイテンシが増加します。 スナップショット内のすべてのデータブロックがディスクにロードされると、ディスクの読み取りレイテンシは通常レベルに戻ります。

例:

ECS (Elastic Compute Service) インスタンスのディスクに10:00:00と11:00:00にデータが書き込まれるとします。 次のセクションでは、ディスクのスナップショットの作成方法について説明します。

  1. 9:00:00に、ディスクにはデータブロックA、B、Cが含まれ、ディスクの最初のスナップショット (スナップショット1) が作成されます。 データブロックA、B、およびCはすべてスナップショット1でバックアップされます。 スナップショット1は、ディスク上のすべてのデータをバックアップする完全なスナップショットです。

  2. データはディスクに書き込まれ続けます。 データブロックAはA1に変更され、データブロックBはB1に変更され、データブロックDが追加される。 2番目のスナップショット (スナップショット2) は、ディスクの10:00:00に作成されます。 スナップショット2は、変更されたデータブロックA1、B1、Dのみをバックアップする増分スナップショットである。スナップショット2のメタデータは、ディスクの全てのデータブロックA1、B1、C、Dの情報を含む。 データブロックCは、スナップショット1から導出される。

  3. データはディスクに書き込まれ続けます。 データブロックCはC1に変更され、データブロックEが追加される。 3番目のスナップショット (スナップショット3) は11:00:00に作成されます。 スナップショット3は、変更されたデータブロックC1およびEのみをバックアップする増分スナップショットである。スナップショット3のメタデータは、ディスクの全てのデータブロックA1、B1、C1、D、Eの情報を含む。 データブロックA1、B1、およびDは、スナップショット2から導出される。

  4. 前述のプロセスが繰り返される。

image

スナップショットの削除

ストレージ容量を解放したい場合、またはスナップショットの最大数に達した場合は、不要になったスナップショットを削除できます。 スナップショットの削除方法については、「スナップショットの削除」をご参照ください。

説明

各ディスクには、最大256の手動スナップショットと最大1,000の自動スナップショットを含めることができます。 詳細については、「制限」トピックのスナップショット制限セクションを参照してください。

説明

スナップショットを作成するのとは対照的に、スナップショットを削除するときは、スナップショットに含まれるデータブロックとデータブロック間の関係に基づいてストレージ領域を解放する必要があります。 ディスクの最初のスナップショットが削除されると、最初の増分スナップショットは削除されたスナップショットの属性を継承してフルスナップショットになります。 ディスクが削除された完全なスナップショットのみを有する場合、ディスクに対して作成される次のスナップショットは、ディスクが作成されてから書き込まれたすべてのデータブロックをバックアップする完全なスナップショットである。

例:

ECSインスタンス上のディスクに対してスナップショット1、スナップショット2、およびスナップショット3が作成されているとします。 次のセクションでは、各スナップショットに含まれるデータブロックについて説明します。

  • スナップショット1: データブロックA、B、およびCを含む。

  • スナップショット2: データブロックA1 (データブロックAから変更された) 、B1 (データブロックBから変更された) 、C (変更されていない) 、およびD (新しいデータブロック) を含む。 データブロックCは、スナップショット1から導出される。

  • スナップショット3: データブロックA1 (未変更) 、B1 (未変更) 、C1 (データブロックCから変更) 、D (未変更) 、およびE (新規データブロック) を含む。 データブロックA1、B1、およびDは、スナップショット2から導出される。

次のセクションでは、スナップショットの削除方法について説明します。

  1. スナップショット1が14:00:00に削除されたとします。 スナップショット1に含まれるデータブロックAおよびBは参照されず、直接削除される。 データブロックCは、スナップショット2によって参照されるので保持される。 この場合、スナップショット2は完全なスナップショットになり、データブロックA1、B1、C、およびDを含む。スナップショット3はまだ増分スナップショットです。

  2. スナップショット2は15:00:00に削除されます。 スナップショット2に含まれるデータブロックCは参照されず、直接削除される。 データブロックA1、B1、およびDは、スナップショット3によって参照され、保持される。 この場合、スナップショット3は完全なスナップショットになり、データブロックA1、B1、C1、D、およびEを含む。

  3. スナップショット3は16:00:00に削除されます。 この場合、Snapshot 3内のすべてのデータブロックは参照されず、削除されます。

image

スナップショットサイズの計算

説明

ディスクの合計スナップショットサイズは、スナップショットチェーンの粒度で計算されます。 スナップショットチェーンは、ディスクに対して作成されたすべてのスナップショットのチェーンです。 ディスクのすべてのスナップショットのデータブロックが占めるストレージ容量が計算されます。 次のセクションでは、スナップショットサイズに関する概念について説明します。

  • 完全スナップショットサイズ: 1つのスナップショット内のすべてのデータブロックが占有するストレージ容量。

  • 増分スナップショットサイズ: 同じスナップショットチェーン内の前のスナップショット以降に変更されたスナップショット内のデータブロックによって占有されたストレージ容量。

  • 合計スナップショットサイズ: 最初のスナップショット (フルスナップショット) のサイズと、それ以降のすべての増分スナップショットのサイズの合計。

    説明

    スナップショットはディスクに保存されず、ディスク領域を消費しません。 各リージョンに保存されているスナップショットのサイズに基づいて、リージョン固有のスナップショットストレージ料金が課金されます。 詳細については、「スナップショット」をご参照ください。

ECSコンソールでスナップショットチェーンごとにスナップショットのサイズを表示できます。 詳細については、「スナップショットサイズの表示」トピックの「ディスクのスナップショットチェーンに基づくディスクのスナップショットサイズの表示」をご参照ください。

例:

ECSインスタンスのディスクに10:00:00と11:00:00にデータが書き込まれるとします。 次の例では、ディスクのスナップショットサイズを計算する方法について説明します。

  1. ディスクにデータブロックA (2 MB) 、B(2 MB) 、C (2 MB) が含まれているとします。 スナップショット1は9:00:00に作成され、データブロックA、B、Cをバックアップします。スナップショット1は完全なスナップショットです。

    スナップショット1サイズ=データブロックAサイズ + データブロックBサイズ + データブロックCサイズ=6 MB

  2. データブロックA1 (2 MB) 、B1 (2 MB) 、D (2 MB) がディスクに書き込まれる。 スナップショット2は、10:00:00に作成され、スナップショット1が作成されてから変更されたデータブロックA1、B1、およびDのみをバックアップする。 スナップショット2は増分スナップショットです。

    スナップショット2サイズ=データブロックA1サイズ + データブロックB1サイズ + データブロックDサイズ=6 MB

  3. データブロックC1 (2 MB) 及びデータブロックE (2 MB) は、ディスクに書き込まれる。 スナップショット3は、11:00: 00に作成され、スナップショット2が作成されてから変更されたデータブロックC1およびEのみをバックアップする。 スナップショット3は増分スナップショットです。

    スナップショット3サイズ=データブロックC1サイズ + データブロックEサイズ=4 MB

  4. 合計スナップショットサイズ=スナップショット1サイズ + スナップショット2サイズ + スナップショット3サイズ=16 MB

image

スナップショットサイズとディスクサイズの関係

ディスクの単一スナップショットのサイズは、ディスクサイズを超えません。 スナップショットの数が増えると、ディスクサイズはすべてのスナップショットの合計サイズよりも小さくなる可能性があります。

40 GBのディスクを作成し、そのディスクに20 GBのデータを書き込み、そのディスクのスナップショットを作成するとします。 スナップショットのサイズは20 GBです。 引き続き10 GBのデータをディスクに書き込み、ディスクに別のスナップショットを作成するとします。 ディスクサイズはまだ40 GBで、スナップショットの合計サイズは30 GBです。 前述のプロセスが繰り返される。 スナップショットチェーンを使用して、スナップショットサイズを表示できます。 詳細については、「スナップショットサイズの表示」トピックの「ディスクのスナップショットチェーンに基づくディスクのスナップショットサイズの表示」をご参照ください。

次の図で、① はディスクサイズ、② はディスクのすべてのスナップショットのサイズです。快照容量和云盘容量

スナップショットサイズとシステム値の違い

  • スナップショットサイズは、スナップショットのデータバックアップの最小粒度として固定サイズのデータブロックを使用して計算されます。

  • ディスク上のファイルを削除すると、オペレーティングシステムに表示されるディスク容量が減少します。 オペレーティングシステムのファイルシステムの場合、ファイルを削除すると、ファイルは削除済みとしてマークされ、ファイルのデータは物理的に削除されません。 ディスクの場合、ファイル削除は書き込み操作であり、データが占める実際のディスク容量を減らすことはありません。 この時点でスナップショットが作成された場合、スナップショットには削除されたファイルに対応するデータブロックが含まれます。 スナップショットには、オペレーティングシステムのファイルシステムからファイルが物理的に削除された場合にのみ、削除されたファイルに対応するデータブロックは含まれません。 理解を深めるために、ファイルシステムのTRIMメカニズムについて学ぶことができます。

  • システムディスクにデータを書き込まなくても、スナップショットサイズが増加する可能性があります。 オペレーティングシステムが実行されると、システムファイルが生成され、ディスクに書き込まれ、スナップショットでバックアップされます。

  • スナップショットのサイズは、ディスクに書き込まれるデータのサイズよりもわずかに大きい場合があります。 これは、ファイルシステムの一部のメタデータがディスクスペースを占有するためです。 スナップショットのデータブロックには、メタデータと自分が書き込んだデータが含まれています。 たとえば、ディスク上に1 MBのテキストファイルしか作成しない場合、スナップショットでバックアップされるデータのサイズは、ファイルシステムのメタデータが存在するため、テキストファイルのサイズよりもわずかに大きくなります。 スナップショットサイズが1 MBを超えています。