ボリューム変更の進行状況のモニタリング - Amazon Elastic Compute Cloud

ボリューム変更の進行状況のモニタリング

EBS ボリュームを変更すると、次のステータスになります。ボリュームの状態は modifyingoptimizingcompleted の順に変わります。この時点で、ボリュームは追加の変更を適用できる状態になります。

注記

まれに、一時的な AWS エラーのために failed 状態になる場合があります。これは、ボリュームのヘルスステータスを示すものではなく、ボリュームの変更に失敗したことを単に示しています。この場合は、再度ボリュームの変更を行います。

ボリュームが optimizing 状態である場合、ボリュームのパフォーマンスはソースとターゲットの設定仕様の中間にあります。過渡的なボリュームのパフォーマンスは、ソースボリュームのパフォーマンスより劣ることはありません。IOPS をダウングレードする場合、過渡的なボリュームのパフォーマンスは、ターゲットボリュームと同程度のパフォーマンスになります。

ボリュームの変更による影響は次のとおりです。

  • 通常、ボリュームが Optimizing 状態になってから、サイズの変更が完了して反映されるまでには数秒かかります。

  • パフォーマンス (IOPS) の変更は、設定の変更内容に応じて、完了するまでに数分から数時間かかる場合があります。

  • 新しい設定が有効になるには最大 24 時間かかり、場合によっては (ボリュームが完全に初期化されていない場合など) それ以上かかることがあります。通常、完全に使用された 1 TiB ボリュームが新しいパフォーマンス設定に移行するまでには約 6 時間かかります。

ボリュームの変更の進行状況をモニタリングするには、次のいずれかのメソッドを使用します。

ボリューム変更の進行状況のモニタリング (コンソール)

1 つ以上のボリュームの変更の進行状況を表示するには、次の手順を使用します。

コンソールを使用して変更の進行状況をモニタリングするには

  1. https://console.aws.amazon.com/ec2/ で Amazon EC2 コンソールを開きます。

  2. ナビゲーションペインの [Volumes] を選択します。

  3. ボリュームを選択します。

  4. 詳細ペインの [State (状態)] 列と [State (状態)] フィールドには、ボリューム状態 - 変更状態 (進行状況%) という形式の情報が含まれています。ボリューム状態には、[creating (作成中)]、[available (使用可能)]、[in-use (使用中)]、[deleting (削除中)]、[deleted (削除済み)]、[error (エラー)] があります。変更状態には、[modifying (変更中)] 、[optimizing (最適化中)]、[completed (完了)] があります。ボリュームの変更が完了するとすぐに、変更状態と進捗状況は削除され、ボリューム状態のみが残ります。

    この例では、選択したボリュームの変更状態は [optimizing (最適化中)] です。次のボリュームの変更状態は [modifying (変更中)] です。

  5. 前のステップに示しているように、詳細ペインの [State (状態)] フィールドのテキストを選択して、最新の変更アクションに関する情報を表示します。

ボリューム変更の進行状況のモニタリング (AWS CLI)

1 つ以上のボリュームの変更の進行状況を表示するには、describe-volumes-modifications コマンドを使用します。次の例では、2 つのボリュームのボリューム変更を示します。

aws ec2 describe-volumes-modifications --volume-id vol-11111111111111111 vol-22222222222222222

次の出力例では、これらのボリュームの変更の状態は、引き続き modifying になっています。進捗状況は、パーセンテージで報告されます。

{ "VolumesModifications": [ { "TargetSize": 200, "TargetVolumeType": "io1", "ModificationState": "modifying", "VolumeId": "vol-11111111111111111", "TargetIops": 10000, "StartTime": "2017-01-19T22:21:02.959Z", "Progress": 0, "OriginalVolumeType": "gp2", "OriginalIops": 300, "OriginalSize": 100 }, { "TargetSize": 2000, "TargetVolumeType": "sc1", "ModificationState": "modifying", "VolumeId": "vol-22222222222222222", "StartTime": "2017-01-19T22:23:22.158Z", "Progress": 0, "OriginalVolumeType": "gp2", "OriginalIops": 300, "OriginalSize": 1000 } ] }

次の例では、変更の状態が optimizing または completed であるすべてのボリュームを示し、その結果をフィルタリングおよびフォーマットして 2017 年 2 月 1 日以降に開始された変更のみを表示します。

aws ec2 describe-volumes-modifications --filters Name=modification-state,Values="optimizing","completed" --query "VolumesModifications[?StartTime>='2017-02-01'].{ID:VolumeId,STATE:ModificationState}"

2 つのボリュームに関する情報を含む出力例を以下に示します。

[ { "STATE": "optimizing", "ID": "vol-06397e7a0eEXAMPLE" }, { "STATE": "completed", "ID": "vol-ba74e18c2aEXAMPLE" } ]

ボリューム変更の進行状況のモニタリング (CloudWatch イベント)

CloudWatch イベント では、ボリューム変更イベントの通知ルールを作成できます。ルールを使用して Amazon SNS で通知メッセージを生成するか、一致したイベントに応答して Lambda 関数を呼び出します。

CloudWatch イベント を使用して変更の進行状況をモニタリングするには

  1. https://console.aws.amazon.com/cloudwatch/ にある CloudWatch コンソールを開きます。

  2. [Events]、[Create rule] の順に選択します。

  3. [Build event pattern to match events by service] で、[Custom event pattern] を選択します。

  4. [カスタムイベントパターンの構築] で、コンテンツを次の以下のように置き換え、[保存] を選択します。

    { "source": [ "aws.ec2" ], "detail-type": [ "EBS Volume Notification" ], "detail": { "event": [ "modifyVolume" ] } }

    以下にイベントデータの例を示します。

    { "version": "0", "id": "01234567-0123-0123-0123-012345678901", "detail-type": "EBS Volume Notification", "source": "aws.ec2", "account": "012345678901", "time": "2017-01-12T21:09:07Z", "region": "us-east-1", "resources": [ "arn:aws:ec2:us-east-1:012345678901:volume/vol-03a55cf56513fa1b6" ], "detail": { "result": "optimizing", "cause": "", "event": "modifyVolume", "request-id": "01234567-0123-0123-0123-0123456789ab" } }