監控磁碟區修改進度
修改 EBS 磁碟區時,會經過一連串的狀態。磁碟區會進入 modifying
狀態,再進入 optimizing
狀態,最終進入 completed
狀態。至此,磁碟區已準備好進行其他修改。
注意
極少數情況下,瞬間的 AWS 故障可能導致 failed
狀態。這並非指磁碟區運作狀態,只是表示修改磁碟區失敗。如果發生此情況,請重新嘗試修改磁碟區。
磁碟區進入 optimizing
狀態時,磁碟區的效能介於來源和目標組態規格之間。轉換的磁碟區效能不會比來源磁碟區效能低。如果要降級 IOPS,轉換的磁碟區效能不會比目標磁碟區效能低。
磁碟區修改變更即會生效,如下所示:
-
大小變更通常需幾秒鐘才會完成,且需等磁碟區轉換為
Optimizing
狀態後生效。 -
效能 (IOPS) 變更完成需要從幾秒到幾小時的時間,視進行的組態變更而定。
-
某些情況下,新組態可能需要超過 24 小時才能生效,例如磁碟區未完全初始化時。一般來說,完整使用的 1 TiB 磁碟區需約 6 小時才能遷移到新效能組態。
若要監控磁碟區修改進度,請使用下列其中一種方法。
- Console
-
使用 Amazon EC2 主控台監控修改進度
在 https://console.aws.amazon.com/ec2/
開啟 Amazon EC2 主控台。 -
在導覽窗格中,選擇 Volumes (磁碟區)。
-
選取磁碟區。
-
Details (詳細資訊) 索引標籤中的 Volume state (磁碟區狀態) 欄和 Volume state (磁碟區狀態) 欄位包含下列格式的資訊:
volume-state
-modification-state
(progress
%)。下圖顯示磁碟區和磁碟區修改狀態。可能的磁碟區狀態為
creating
、available
、in-use
、deleting
、deleted
和error
。可能會出現的修改狀態為
modifying
、optimizing
和completed
。修改完成後,畫面只會顯示磁碟區狀態。不會再顯示修改狀態和進度。
- AWS CLI
-
使用 AWS CLI 監控修改進度
使用 describe-volumes-modifications 命令來檢視一或多個磁碟區修改的進度。以下範例說明兩個磁碟區的磁碟區修改狀態。
aws ec2 describe-volumes-modifications --volume-ids
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}"
以下範例輸出提供兩個磁碟區的相關資訊:
[ { "STATE": "optimizing", "ID": "vol-06397e7a0eEXAMPLE" }, { "STATE": "completed", "ID": "vol-ba74e18c2aEXAMPLE" } ]
- CloudWatch Events console
-
您可以使用 CloudWatch Events 來建立磁碟區修改事件的通知規則。您可以使用規則,利用 Amazon SNS 產生通知訊息,或呼叫 Lambda 函式來回應匹配的事件。盡可能發出事件。
使用 CloudWatch Events 監控修改進度
透過 https://console.aws.amazon.com/cloudwatch/
開啟 CloudWatch 主控台。 -
選擇 Events (事件)、Create rule (建立規則)。
-
在 Build event pattern to match events by service (建構事件的模式,依服務來匹配事件) 中,選擇 Custom event pattern (自訂事件模式)。
-
在 Build custom event pattern (建置自訂事件模式) 中,將內容取代為下列內容,並選擇 Save (儲存)。
{ "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
" } }