[アップデート] スナップショットから EBS のボリューム作成時の初期化プロセスの進捗状況が可能になりました

[アップデート] スナップショットから EBS のボリューム作成時の初期化プロセスの進捗状況が可能になりました

Clock Icon2025.07.19

はじめに

Amazon EBS の新機能により、スナップショットからボリューム作成時の初期化プロセスの進捗を確認できるようになりました。プロビジョニングレート利用時は推定完了時間も表示されます。

ボリューム___EC2___ap-northeast-1_🔊-4-2.png

https://aws.amazon.com/jp/about-aws/whats-new/2025/07/amazon-ebs-visibility-volume-initialization-status/

なにができるようになったのか

スナップショットからボリューム作成時、「ボリューム初期化」プロセスが実行されます。このプロセスは S3 からストレージブロックをダウンロードしボリュームに書き込みます。初期化中は I/O レイテンシが増加し、アプリケーションのパフォーマンスが低下する可能性があります。

Snapshot.png

今回のアップデートで、初期化プロセスの進捗状況を確認できるようになりました。 例えばレイテンシに敏感なアプリケーションでは、初期化完了後にアプリを起動するなどの運用手段が増えました。

Snapshot(3).png

ボリューム初期化レート使用時、従来は初期化完了時間を計算して求める必要がありました。今回のアップデートで、マネージメントコンソール、AWS CLI、SDK から推定完了時間を直接確認できるようになりました。

ボリューム___EC2___ap-northeast-1_🔊-4-2.png

ボリューム初期化レートの詳細は以下のブログを参照ください。

https://dev.classmethod.jp/articles/ebs-provisioned-rate-volume-initialization/

スナップショットからボリュームを作成してみた

スナップショットサイズが約 23GB のスナップショットをボリュームに復元して、今回のアップデート内容を確認してみます。

スナップショット___EC2___ap-northeast-1_🔊.png

スナップショットから普通にボリューム作成

スナップショットからボリュームを作成しました。ステータスチェックのタブに初期化の状態の項目が追加されています。初期化中であることが一目でわかります。

ボリューム___EC2___ap-northeast-1_🔊.png

推定残り時間はボリューム初期化レート使用時しか確認できません。

ボリューム___EC2___ap-northeast-1_🔊-8.png

23GB のスナップショットから 2 時間経過後、進捗は 46% でした。未アタッチのボリュームであり、ディスクアクセスは走りません。そのためか、初期化レートは 10,000MB ÷ 7,200 秒 = 1.39 MB/秒です。ずいぶん低速だったことを初めて伺い知ることができました。

ボリューム___EC2___ap-northeast-1.png

ボリューム初期化レート使用してスナップショットからボリュームを作成

ボリューム初期化レートを 100MiB/秒に設定してスナップショットからボリュームを作成してみます。

ボリュームの作成___EC2___ap-northeast-1_🔊.png

推定残り時間が 4 分と表示されました。これはわかりやすい。

ボリューム___EC2___ap-northeast-1_🔊-4.png

推定残り時間を秒単位で確認するなら AWS CLI

AWS CLI からなら秒単位で確認可能です。現時点ではドキュメント記載のコマンドが誤っていたため、修正されるまでは以下のコマンドを参考にしてください。

aws ec2 describe-volume-status --volume-id vol-0295a3e9f98bd2216

初期化中であること、推定残り時間は 238 秒であることが確認できました。

{
    "VolumeStatuses": [
        {
            "Actions": [],
            "AvailabilityZone": "ap-northeast-1a",
            "Events": [],
            "VolumeId": "vol-0295a3e9f98bd2216",
            "VolumeStatus": {
                "Details": [
                    {
                        "Name": "io-enabled",
                        "Status": "passed"
                    },
                    {
                        "Name": "io-performance",
                        "Status": "not-applicable"
                    },
                    {
                        "Name": "initialization-state",
                        "Status": "initializing"
                    }
                ],
                "Status": "ok"
            },
            "InitializationStatusDetails": {
                "InitializationType": "provisioned-rate",
                "Progress": 0,
                "EstimatedTimeToCompleteInSeconds": 238
            },
            "AvailabilityZoneId": "apne1-az4"
        }
    ]
}

推定残り時間はカウントダウンされない?

進捗率はパーセンテージで進捗状況をリアルタイムに確認できます。マネージメントコンソールから眺めていると、推定残り時間は更新されないことに気づきました。

ボリューム___EC2___ap-northeast-1_🔊-4.png

5 秒間隔で aws ec2 describe-volume-status コマンドを実行して確認しました。推定残り時間はカウントダウンされず、ボリューム作成時点の固定値を表示していました。

$ while true; do aws ec2 describe-volume-status --volume-id vol-0295a3e9f98bd2216 | jq -r '.VolumeStatuses[0].InitializationStatusDetails.EstimatedTimeToCompleteInSeconds // "N/A"'; sleep 5; done
238
238
238
--- 省略 ---
238
238
238
0
0
0
0
0
0

238 秒から急に 0 秒になり、ステータスはcompletedになりました。

{
    "VolumeStatuses": [
        {
            "Actions": [],
            "AvailabilityZone": "ap-northeast-1a",
            "Events": [],
            "VolumeId": "vol-0295a3e9f98bd2216",
            "VolumeStatus": {
                "Details": [
                    {
                        "Name": "io-enabled",
                        "Status": "passed"
                    },
                    {
                        "Name": "io-performance",
                        "Status": "not-applicable"
                    },
                    {
                        "Name": "initialization-state",
                        "Status": "completed"
                    }
                ],
                "Status": "ok"
            },
            "InitializationStatusDetails": {
                "InitializationType": "provisioned-rate",
                "Progress": 100,
                "EstimatedTimeToCompleteInSeconds": 0
            },
            "AvailabilityZoneId": "apne1-az4"
        }
    ]
}

マネージメントコンソールから確認してみると完了していました。

ボリューム___EC2___ap-northeast-1_🔊-5.png

補足: 高速スナップショットで復元した場合は?

高速スナップショットで復元した場合は、ボリューム作成直後に進捗状況が 100%になるとのことです。ボリューム復元直後からフルパフォーマンスを得るための機能なので当然です。

https://dev.classmethod.jp/articles/fast-snapshot-restore-vs-initialization-rate/

まとめ

EBS のアップデートにより、ボリューム初期化の進捗状況が確認できるようになりました。主なポイントは以下の通りです。

  • スナップショットからのボリューム作成時、初期化プロセスの進捗率を確認可能
  • ボリューム初期化レート使用時は推定残り時間も表示可
  • ただし、推定残り時間はカウントダウンされない固定値表示

おわりに

私はブログを書きあげるまでに平均 4 時間かかるのですが、デフォルトの初期化レートは低く書き終えた今でもまだ完了を見届けられませんでした。

ボリューム___EC2___ap-northeast-1-2.png

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.