EC2 AMI または EBS スナップショットの作成に時間がかかるのはなぜですか?

最終更新日: 2021 年 5 月 25 日

Amazon マシンイメージ (AMI) またはスナップショットを作成して、Amazon Elastic Compute Cloud (Amazon EC2) インスタンスまたは Amazon Elastic Block Store (Amazon EBS) ボリュームのバックアップを作成しようとしています。ただし、このプロセスは低速であるか、保留中の状態でスタックしているようです。

簡単な説明

Amazon EBS-backed AMI には、1 つ以上の Amazon EBS スナップショットが含まれます。Amazon Simple Storage Service (Amazon S3) にコピーする必要があるデータが大量であるため、EBS-backed AMI または EBS スナップショットの作成に時間がかかることがあります。EBS ボリュームへの書き込みアクティビティなど、多くの要因が作成時間に影響している可能性があります。そのため、スナップショットの作成時間は大きく異なることがあります。

解決方法

ダーティブロック

AMI またはスナップショットの作成に時間がかかる最も一般的な原因は、Amazon S3 にコピーする必要があるダーティデータの量にあります。このダーティデータは、ブロック数によって測定されます。次の要因により、多数のダーティブロックが発生する可能性があります。

  • EBS ボリュームのサイズ
  • 前回のスナップショットからの経過時間
  • ボリュームの書き込みアクティビティ

スナップショットは増分になるように設計されています。つまり、Amazon EBS では、前回のスナップショットが作成されてから変更されたブロックのみがコピーされます。以前に作成されたスナップショットがないか、以前のスナップショットが削除されたため、EBS ボリュームに既存のスナップショットがない可能性があります。このような場合、ブロックをスナップショットと比較することはできません。したがって、すべてのブロックはダーティであるとみなされます。

また、スナップショットがかなり前に作成された場合や、EBS ボリュームが非常にアクティブな場合は、新しいスナップショットの一部としてコピーする必要のあるブロックが多数存在する可能性があります。

この問題を回避するには、スナップショットを頻繁に作成することをお勧めします。この方法では、スナップショットごとにコピーするブロック数が少なくなります。Amazon Data Lifecycle Manager を使用して、EBS ボリュームのスナップショットの作成、保持、削除を自動化できます。スナップショットの頻度は、RPO 目標復旧時点 (RPO) に基づいて設定できます。EBS スナップショットは、スナップショットの数に基づいて課金されるのではなく、S3 に保存された増分データに対して課金されます。詳細については、「Amazon EBS の料金」をご参照ください。

スナップショット作成のために複数のボリュームをキューに追加

スナップショットの作成は、共有帯域幅オペレーションです。つまり、Amazon EBS は共有帯域幅を使用して S3 にデータを送信します。したがって、スナップショット作成のためにキューに入れられたボリュームが複数ある場合、遅延が発生することがあります。これは、通常、1 時間の開始時に複数のスナップショットが作成される場合に発生します。例えば、スナップショットを真夜中に正確に作成するプロセスを自動化している場合、スナップショットの作成が遅れる可能性があります。

この問題を回避するには、1 時間経過後のさまざまな時間にスナップショットを作成することをお勧めします。この方法を使用すると、スナップショットの作成にかかる時間を短縮できる可能性があります。Amazon Data Lifecycle Manager を使用すると、スナップショットを直ちに作成するのではなく、スケジュールされた開始時刻から 1 時間以内にスナップショットを自動的に作成できます。

スタックされたスナップショット

短い期間内に同じボリュームに複数のスナップショットを作成すると、最初のスナップショットが作成され、その他のスナップショットは [保留中] 状態になります。[保留中] 状態のスナップショットの作成は、最初のスナップショットの作成が完了するまで進行しません。[保留中] 状態のスナップショットを削除しても、作成プロセスは停止しません。[保留中] 状態のスナップショットを削除しようとすると、そのスナップショットが作成されてから削除されます。

この問題を解決するには、ボリュームのあるスナップショットを作成している間に他のスナップショットを作成する必要がない限り、スナップショットを作成しないようにしてください。