[アップデート] Amazon EBS スナップショットから復元時のデータ転送速度を指定可能になりました

[アップデート] Amazon EBS スナップショットから復元時のデータ転送速度を指定可能になりました

Clock Icon2025.05.07

はじめに

Amazon EBS の新機能「ボリューム初期化レート」を一般提供開始しました。データ転送速度を指定できるようになり、EBS の スナップショットからボリュームを作成して EBS がフルパフォーマンスを発揮できるまでの時間を予測可能となりました。

https://aws.amazon.com/jp/about-aws/whats-new/2025/05/ebs-provisioned-rate-volume-initialization/

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

スナップショットからボリュームを作成する場合、ストレージブロックを S3 からダウンロードしてボリュームに書き込む「ボリューム初期化」プロセスがあります。このプロセス中は I/O レイテンシが増加します。また、パフォーマンスも低下する可能性があります。このボリューム初期化にかかる時間の予測が困難でした。

EBS Provisioned Rate for Volume Initialization

今回のアップデートで、S3 からのダウンロード速度を 100〜300 MiB/秒の範囲で指定できるようになりました。 これにより一定の転送レートでダウンロードできるため、初期化にかかる時間を予測可能となりました。

ボリューム初期化レートの計算

ボリューム初期化レートはオプションの項目ですので、デフォルトは未指定となっています。 未指定にすれば従来どおりで動作で別途課金は発生しません。ここに 100 から 300 の数値を入力すると今回の機能が利用できます。

ボリュームの作成___EC2___us-east-1-2

主な利点 3 行まとめ

  1. 予測可能な初期化時間
    • 一定した転送レートで S3 からダウンロードできるため、ボリュームがフルパフォーマンスを発揮できるまでの時間を予測できる
  2. 同時初期化の高速化
    • 多数のボリューム同時初期化にも利用できる
    • ただし、リージョンあたりのクォータがあるため注意してください
  3. 手動初期化スクリプトの廃止検討可

ポイント

ボリューム初期化レートを指定すると、スナップショットから EBS 作成時に S3 からボリュームに指定したレートでダウンロードされます。初期化にかかる時間は、以下の要素に依存します。

例えば、30GiB の EBS からスナップショットまたは、AMI を取得し、スナップショットのサイズは 20GiB だったとします。ボリューム初期化レートを 300 MiB/秒に設定した場合、初期化時間は約 67 秒(20GiB ÷ 300 MiB/秒)となります。

料金

スナップショットのフルスナップショットサイズと、指定したボリューム初期化レートに基づいて課金されます。価格帯は 100-200 MiB/秒と 201-300 MiB/秒の 2 段階で分かれています。

料金
東京リージョンの価格 2025/5/7 現在

最新情報は Amazon EBS の料金ページ をご確認ください。

例えば、20GiB のフルスナップショットサイズを 300MiB/秒のボリューム初期化レートで初期化すると $0.086 かかる計算です。200MiB/秒のボリューム初期化レートなら$0.058 です。100 - 200 MiB/秒の方が安価な設定ですね。

請求項目名

翌日請求書項目を確認したところ、以下の名前で請求がありました。

請求書___Billing_and_Cost_Management___Global-8

サービスクォータ

各 AWS アカウントには、リージョンごとに ボリューム初期化レートのクォータ 5,000 MiB/秒 が設定されています。

  • この制限は同時実行されるすべてのボリューム作成リクエストの合計に適用される
    • 100 MiB/秒のレートで最大 50 個のボリュームを同時に初期化可能(50 × 100 = 5,000 MiB/秒)
    • 200 MiB/秒のレートで最大 25 個のボリュームを同時に初期化可能(25 × 200 = 5,000 MiB/秒)
    • 300 MiB/秒のレートで最大 16 個のボリュームを同時に初期化可能(16 × 300 = 4,800 MiB/秒)

リージョンクォータに関する具体的な制限値は AWS Service Quotas コンソールで確認できます。必要に応じてクォータの引き上げを申請できます。

クォータリスト_-_Amazon_Elastic_Block_Store__Amazon_EBS____AWS_Service_Quotas.png

ハードリミットのクォータの値を見ると、単発の初期化リクエストのスループットの限界は 1TB/秒までいけそうな感じがします。現在は 300MiB/秒に制限されているのでしょうかね。

試してみた

AWS マネジメントコンソールからボリューム初期化レートを設定してみました。私のアカウントでは東京リージョンでは利用できなかったため、北米リージョンで検証しています。

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

EC2 から AMI を取得して、フルスナップショットサイズが約 21GB のスナップショットを用意しました。

スナップショット一覧からの作成

1. スナップショット一覧からボリュームを作成

「アクション」→「スナップショットからボリュームの作成」を選びます。

スナップショットからの作成設定

2. ボリューム初期化レートの設定

ボリューム作成の詳細画面で、下部にある「ボリューム初期化レート」でレートを選択します。

ボリューム作成画面

3. EBS ボリュームの完成

裏側で初期化が走っていることはわかりませんが、EBS ボリューム自体はすぐに作成されます。
ボリューム___EC2___us-east-1.png

AMI でもボリューム初期化レート設定できます

AMI から EC2 インスタンスを作成するときも同様にボリューム初期化レートを指定できます。

EC2インスタンス起動時の設定

モニタリング

ボリューム作成後 EBS は初期化が完了したか確認したければ、EventBridge に発行されるイベントを確認する必要があります。initalizeVolumeというイベント名で拾うことができました。

EventBridge のルール設定
{
  "source": ["aws.ec2"],
  "detail-type": ["EBS Volume Notification"],
  "detail": {
    "event": ["initializeVolume"]
  }
}

実際に拾えたイベントは以下です。

{
	"version": "0",
	"id": "a7c2dca2-53d9-39be-fa61-1729e2b8a6d2",
	"detail-type": "EBS Volume Notification",
	"source": "aws.ec2",
	"account": "123456789012",
	"time": "2025-05-07T06:35:29Z",
	"region": "us-east-1",
	"resources": [
		"arn:aws:ec2:us-east-1:123456789012:volume/vol-046d17de0fabf107a"
	],
	"detail": {
		"result": "succeeded",
		"cause": "",
		"event": "initializeVolume",
		"request-id": "ec0a68a0-66d1-4547-a72f-d1edfdf9f3a3"
	}
}

まとめ

今回のアップデートで EBS スナップショットからのボリューム初期化時間を予測可能となりました。主な利点は以下の通りです。

  • 初期化レート(100〜300 MiB/秒)を指定できるため、ボリュームが完全なパフォーマンスを発揮するまでの時間を正確に計算可能
  • アプリケーション復旧やテスト・開発環境の準備時間を短縮
  • fio/dd などの手動初期化スクリプトが不要となり、運用の簡素化が可能

ただし、リージョンあたり 5,000 MiB/秒のクォータがあることと、料金が 100-200 MiB/秒と 201-300 MiB/秒の 2 段階となっていることに注意が必要です。同時に多数のボリュームを初期化する場合はクォータを考慮した設計が必要です。

おわりに

DR(災害復旧)対策で有効活用できる設定値なのではないでしょうか。また、現在の上限は 300 MiB/秒ですが、将来的にはさらに高速な初期化レートがサポートされる可能性も考えられます。ハードリミットのクォータ値を見ると、単発の初期化リクエストのスループットの最大値は将来的に引き上げられる余地があるようです。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.