Amazon EBS ボリュームの初期化 - Amazon EBS

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon EBS ボリュームの初期化

スナップショットからボリュームを作成した場合、それにアクセスする前に、スナップショットのストレージブロックは Amazon S3 からダウンロードされてボリュームに書き込まれる必要があります。このプロセスはボリューム初期化と呼ばれます。この間、ボリュームの I/O レイテンシーが増加し、パフォーマンスが低下する可能性があります。フルボリュームのパフォーマンスは、すべてのストレージブロックがダウンロードされてボリュームに書き込まれた場合にのみ達成されます。

注記

空のボリュームは、作成直後に最大パフォーマンスを実現し、初期化は必要ありません。

デフォルトのボリューム初期化レートは初期化プロセス全体で変動するため、完了時間が予測できなくなる可能性があります。

ボリュームの初期化に関連するパフォーマンスへの影響を最小限に抑えるには、次のオプションを使用できます。

ボリュームの初期化に Amazon EBS プロビジョンドレートを使用する

スナップショットから Amazon EBS ボリュームを作成する場合、オプションで、100~300 MiB/秒の範囲のボリューム初期化の Amazon EBS プロビジョンドレート (ボリューム初期化レート) を指定できます。ボリュームの初期化レートを指定すると、スナップショットブロックは Amazon S3 からダウンロードされ、作成後に指定されたレートでボリュームに書き込まれます。これにより、予測可能な時間内に完全に初期化され、完全にパフォーマンスを発揮するボリュームを作成できます。

ボリュームの初期化レートの使用は、複数のボリュームを同時に作成していて、すべてのボリュームを予測可能な時間内に初期化する必要がある場合に特に役立ちます。

注記

ボリューム初期化の Amazon EBS プロビジョンドレートは、すべての Amazon EBS ボリュームタイプ、および Amazon EC2 Mac インスタンスを含むすべての Amazon EC2 インスタンスタイプでサポートされています。

ボリュームの初期化レートを指定できます。

  • 個々のボリューム作成リクエストの場合

  • インスタンス起動リクエストの EBS ボリュームブロックデバイスマッピングの場合

  • 起動テンプレートの EBS ボリュームブロックデバイスマッピングの場合

  • ルートボリューム置換タスクによって作成された EBS ボリュームの場合

  • Amazon EKS クラスター (EBS CSI ドライバーによって作成) および Amazon ECS クラスターの EBS ボリュームの場合

仕組み

ボリュームの初期化レートでボリュームを作成すると、スナップショットブロックは指定したレートで Amazon S3 からボリュームにダウンロードされます。

ボリュームの初期化にかかる時間は、以下によって異なります。

  • スナップショットデータのサイズ。作成されるボリュームのサイズではありません。

    ヒント

    スナップショットのデータサイズを確認するには、describe-snapshots コマンド出力の FullSnapshotSizeInBytesフィールド、またはコンソールのフルスナップショットサイズフィールドを確認します。

  • 指定したボリュームの初期化レート

たとえば、10 GiB のデータを持つスナップショットを使用して 20 GiB のボリュームを作成し、300 MiB/秒のボリューム初期化レートを指定すると、ボリュームは約 34.1 秒 (10 GiB / 300 MiB/秒 = 34.1 秒) で完全に初期化されます。同様に、同じスナップショットとボリュームの初期化速度で同時に 10 個のボリュームを作成すると、10 個のボリュームすべてが 34.1 秒で完全に初期化されます。

考慮事項

  • ボリュームの初期化レートは 100~300 MiB/秒の間で指定できます。

  • ボリュームの初期化レートを指定すると、料金と完了時間は、スナップショットデータのサイズ (ボリュームのサイズではなく) と指定したレートに基づきます。詳細については、「請求」を参照してください。

  • Amazon EBS は、99% の時間で指定したボリューム初期化レートの 10% 以内の平均レートを提供します。

  • ボリュームの初期化レートを指定し、高速スナップショット復元が有効になっているスナップショットを使用する場合、Amazon EBS は高速スナップショット復元の代わりに指定されたレートを使用します。代わりに高速スナップショット復元を使用するには、ボリュームの初期化レートを指定しないでください。

  • 容量の制約またはクォータを超えたために、Amazon EBS が指定されたボリューム初期化レートでボリュームを初期化できない場合、リクエストは失敗します。

  • Local Zones AWS Outpostsまたは Wavelength Zones で作成されたボリュームのボリューム初期化レートを指定することはできません。

クォータ

同時ボリューム作成リクエスト間でリクエストできる累積ボリューム初期化レートには、5,000 MiB/秒の制限があります。例えば、100 MiB/秒のレートで 50 件の同時ボリューム作成リクエスト (50 件の同時リクエスト x 100 MiB/秒のレート)、または 200 MiB/秒のレートで 25 件の同時ボリューム作成リクエスト (25 件の同時リクエスト x 200 MiB/秒のレート) を行うことができます。この制限はリージョンごとに適用されます。リクエストがこの制限を超えると、失敗します。進行中のリクエストの一部が完了するまで待つか、クォータの引き上げをリクエストします。詳細については、「Amazon EBS のクォータ」を参照してください。

モニタリング

ボリュームの初期化レートでボリュームを作成すると、初期化完了後 5 分以内に Amazon EventBridge イベントがアカウントに送信されます。詳細については、「EBS ボリューム初期化イベント」を参照してください。

初期化が完了する前にボリュームを削除するか、初期化が完了してから 5 分以内にボリュームを削除すると、イベントを受信しない可能性があります。

請求

ボリューム初期化レートでボリュームを作成すると、スナップショットデータの GiB あたりのレート、指定された初期化レートの MiB あたりのレートが課金されます。料金はリージョンによって異なります。詳細については、Amazon EBS の料金表を参照してください。

ボリュームのサイズではなく、スナップショットデータのサイズに基づいて課金されます。たとえば、サイズが 100 GiB のボリュームのスナップショットを作成するが、データ量が 50 GiB しかない場合、スナップショットのボリュームサイズは 100 GiB ですが、スナップショットのデータサイズは 50 GiB です。そのスナップショットを使用してボリュームを作成し、ボリュームの初期化レートを指定する場合、料金は 50 GiB のスナップショットデータに基づきます。

ヒント

スナップショットのデータサイズを確認するには、describe-snapshots コマンド出力の FullSnapshotSizeInBytesフィールド、またはコンソールのフルスナップショットサイズフィールドを確認します。

式は次のとおりです。

rate for Region x snapshot data size x volume initialization rate

ボリュームが active状態になるとすぐに、全額が請求されます。失敗したリクエストは請求されません。

ボリュームの初期化が完了する前にボリュームを削除しても、リクエストされたボリュームの初期化レートに対して課金されます。

高速スナップショット復元が有効になっているスナップショットを使用する

高速スナップショット復元が有効になっているスナップショットからボリュームを作成すると、ボリュームは作成時に完全に初期化され、すぐに完全なパフォーマンスを提供します。高速スナップショット復元の使用の詳細については、「」を参照してくださいAmazon EBS 高速スナップショット復元

作成後にボリュームを手動で初期化する

ボリュームの初期化によるパフォーマンスへの影響を最小限に抑えるために、作成後に Amazon EBS ボリュームを手動で初期化できます。

次の手順を使用して、作成後に Amazon EBS ボリュームを手動で初期化できます。

重要

スナップショットから作成された Provisioned IOPS SSD ボリュームを初期化している間は、ボリュームのパフォーマンスが想定レベルの 50% を下回る場合があります。このため、ボリュームは [I/O Performance (I/O 性能)] ステータスチェックで warning 状態が表示されます。これは想定の動作です。初期化中の Provisioned IOPS SSD ボリュームの warning 状態は無視してかまいません。詳細については、「Amazon EBS ボリュームステータスチェック」を参照してください。

Linux で、スナップショットから作成されたボリュームを初期化するには
  1. 新しく復元されたボリュームを Linux インスタンスにアタッチします。

  2. インスタンスのブロックデバイスを一覧表示するには、lsblk コマンドを使用します。

    $ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvdf 202:80 0 30G 0 disk xvda1 202:1 0 8G 0 disk /

    ここでは、新しいボリューム/dev/xvdf がアタッチされていますが、マウントされていないことがわかります (MOUNTPOINT 列の下にリストされているパスがないため)。

  3. デバイスのすべてのブロックを読み取るには、dd ユーティリティまたは fio ユーティリティを使用します。Linux システムにデフォルトでインストールされているのは dd コマンドですが、マルチスレッドの読み取りが可能な fio の方が、処理速度が大幅に速くなります。

    注記

    このステップは、使用している EC2 インスタンスの帯域幅、ボリュームに対してプロビジョニングされている IOPS、そしてボリュームのサイズに応じて、数分から数時間かかることがあります。

    [dd] if (入力ファイル) パラメータは、初期化するドライブに設定します。of (出力ファイル) パラメータは、Linux ヌル仮想デバイス /dev/null に設定する必要があります。bs パラメータは、読み取り操作のブロックサイズに設定します。最適なパフォーマンスを得るには、この値を 1 MB に設定します。

    重要

    dd を誤って使用すると、ボリュームのデータが失われる場合があります。以下のコマンド例に正確に従ってください。if=/dev/xvdf パラメータのみ、読み出しているデバイスの名前によって異なります。

    $ sudo dd if=/dev/xvdf of=/dev/null bs=1M

    [fio] システムに fio がインストールされている場合、ボリュームを初期化するには次のコマンドを使用します。--filename (入力ファイル) パラメータは、初期化するドライブに設定します。

    $ sudo fio --filename=/dev/xvdf --rw=read --bs=1M --iodepth=32 --ioengine=libaio --direct=1 --name=volume-initialize

    Amazon Linux に fio をインストールするには、次のコマンドを使用します。

    sudo yum install -y fio

    Ubuntu に fio インストールするには、次のコマンドを使用します。

    sudo apt-get install -y fio

    この操作が終了すると、読み取り操作のレポートが表示されます。これでボリュームを使用する準備ができました。詳細については、「Amazon EBS ボリュームを使用できるようにする」を参照してください。

どちらのツールを使用する前も、次のようにシステム上のディスクについての情報を収集してください。

システムディスクに関する情報を収集するには
  1. システムで使用可能なディスクを一覧表示するには、wmic コマンドを使用します。

    wmic diskdrive get size,deviceid

    出力例を次に示します。

    DeviceID Size \\.\PHYSICALDRIVE2 80517265920 \\.\PHYSICALDRIVE1 80517265920 \\.\PHYSICALDRIVE0 128849011200 \\.\PHYSICALDRIVE3 107372805120
  2. dd または fio を使用して、初期化するディスクを識別します。C: ドライブは、\\.\PHYSICALDRIVE0 にあります。使用するドライブ番号がはっきりしない場合は、diskmgmt.msc ユーティリティを使用して、ドライブ文字とディスクドライブ番号を比較できます。

Use the dd utility

dd をインストールおよび使用してボリュームを初期化するには、次の手順を実行します。

重要な考慮事項
  • ボリュームの初期化には、使用している EC2 インスタンスの帯域幅、ボリュームに対してプロビジョニングされている IOPS、そしてボリュームのサイズに応じて、数分から数時間かかることがあります。

  • dd を誤って使用すると、ボリュームのデータが失われる場合があります。この手順を正確に実行してください。

Windows 向け dd をインストールするには

Windows 用 dd プログラムは、Linux や Unix システムで共通して使用できる dd プログラムと同様の環境を提供します。このプログラムを使用すると、スナップショットから作成された Amazon EBS ボリュームを初期化することができます。最新のベータバージョンでは、/dev/null 仮想デバイスをサポートしています。以前のバージョンをインストールする場合は、代わりに nul 仮想デバイスを使用できます。詳細なドキュメントは、http://www.chrysocome.net/dd から入手できます。

  1. Windows 用の最新バイナリバージョンの dd を、http://www.chrysocome.net/dd からダウンロードします。

  2. (オプション) 簡単に覚えられる場所に、コマンドラインユーティリティ用のフォルダを作成します (C:\bin など)。コマンドラインユーティリティ用にフォルダを既に指定した場合、次の手順を実行する代わりに、そのフォルダを使用できます。

  3. バイナリパッケージを解凍し、dd.exe ファイルをコマンドラインユーティリティのフォルダ (C:\bin など) にコピーします。

  4. どこからでもフォルダ内のプログラムを実行できるようにするため、Path 環境変数にコマンドラインユーティリティのフォルダを追加します。

    1. [スタート] を選択し、[PC] のコンテキスト (右クリック) メニューを開いて、[プロパティ] を選択します。

    2. [システムの詳細設定]、[環境変数] の順に選択します。

    3. [システム環境変数] で [Path] 変数を選択し、[編集] を選択します。

    4. [変数値] として、既存の値の最後に、セミコロンとコマンドラインユーティリティフォルダの場所 (;C:\bin\)) を追加します。

    5. [OK] をクリックして、[システム変数の編集] ウィンドウを閉じます。

  5. 新しいコマンドプロンプトウィンドウを開きます。前の手順を行っても、現在開いているコマンドプロンプトウィンドウの環境変数は更新されません。前の手順を完了した時点で開くコマンドプロンプトウィンドウが更新されます。

Windows 用 dd を使ってボリュームを初期化するには

指定したデバイスのすべてのブロックの読み取り (および /dev/null 仮想デバイスへの出力の送信) を実行するには、次のコマンドを実行します。このコマンドは、既存のデータを安全に初期化します。

dd if=\\.\PHYSICALDRIVEn of=/dev/null bs=1M --progress --size

dd がボリュームの末尾を超えて読み取りを行おうとすると、エラーが表示されることがあります。このエラーを無視しても問題ありません。

以前のバージョンの dd コマンドを使用した場合、そのコマンドは /dev/null デバイスをサポートしていません。代わりに、次のように nul デバイスを使用することができます。

dd if=\\.\PHYSICALDRIVEn of=nul bs=1M --progress --size
Use the fio utility

fio をインストールおよび使用してボリュームを初期化するには、次の手順を実行します。

Windows 用 fio をインストールするには

Windows 用 fio プログラムは、Linux や Unix システムで共通して使用できる fio プログラムと同様の環境を提供します。このプログラムを使用すると、スナップショットから作成された Amazon EBS ボリュームを初期化することができます。詳細については、https://github.com/axboe/fioを参照してください。

  1. fio MSI インストーラをダウンロードするには、最新リリースの [アセット] を展開して、MSI インストーラを選択します。

  2. fio をインストールします。

Windows 用 fio を使用してボリュームを初期化するには
  1. 次のようなコマンドを実行してボリュームを初期化します。

    fio --filename=\\.\PHYSICALDRIVEn --rw=read --bs=1M --iodepth=32 --direct=1 --name=volume-initialize
  2. この操作が終了すると、新規ボリュームを使用する準備が完了します。詳細については、「Amazon EBS ボリュームを使用できるようにする」を参照してください。