本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
監控EBS磁碟區修改的進度
當您修改體EBS積塊時,它會經歷一系列狀態。磁碟區會進入 modifying
狀態,再進入 optimizing
狀態,最終進入 completed
狀態。至此,磁碟區已準備好進行其他修改。
注意
暫時性 AWS 錯誤很少會導致狀failed
態。這並非指磁碟區運作狀態,只是表示修改磁碟區失敗。如果發生此情況,請重新嘗試修改磁碟區。
磁碟區進入 optimizing
狀態時,磁碟區的效能介於來源和目標組態規格之間。轉換的磁碟區效能不會比來源磁碟區效能低。如果要降級IOPS,則轉移體積效能不會低於目標體積效能。
磁碟區修改變更即會生效,如下所示:
-
大小變更通常需幾秒鐘才會完成,且需等磁碟區轉換為
Optimizing
狀態後生效。 -
效能 (IOPS) 變更可能需要幾分鐘到幾小時才能完成,而且取決於正在進行的組態變更。
-
某些情況下,新組態可能需要超過 24 小時才能生效,例如磁碟區未完全初始化時。一般來說,完整使用的 1 TiB 磁碟區需約 6 小時才能遷移到新效能組態。
若要監控磁碟區修改進度,請使用下列其中一種方法。
- Console
-
使用 Amazon EC2 主控台監控修改進度
在打開 Amazon EC2 控制台https://console.aws.amazon.com/ec2/
。 -
在導覽窗格中,選擇 Volumes (磁碟區)。
-
選取磁碟區。
-
[詳細資料] 索引標籤中的 [磁碟區狀態] 欄和 [磁碟區狀態] 欄位包含下列格式的資訊:
Volume state
-Modification state
(Modification 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 事件,您可以建立磁碟區修改事件的通知規則。您可以使用規則來使用 Amazon 產生通知訊息,SNS或叫用 Lambda 函數來回應相符事件。盡可能發出事件。
若要使用 CloudWatch 事件監視修改的進度
在開啟 CloudWatch 主控台https://console.aws.amazon.com/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
" } }