ボリュームのステータスのモニタリング
アマゾン ウェブ サービス (AWS) では、Amazon Elastic Block Store (Amazon EBS) ボリュームのモニタリングに使用できるデータを自動的に提供します。
モニタリングの詳細については、「Amazon EBS の Amazon CloudWatch メトリクス」と「Amazon EBS の Amazon CloudWatch Events」を参照してください。
EBS ボリュームステータスチェック
ボリュームステータスチェックを利用すると、Amazon EBS ボリュームのデータの潜在的な不整合を容易に理解、追跡、および管理できます。これらのチェックは、Amazon EBS ボリュームに障害が発生しているかどうかを判断するために必要な情報を提供し、潜在的に不整合なボリュームの処理方法を制御できるように設計されています。
ボリュームステータスチェックは 5 分ごとに自動的に試行され、成功または失敗のステータスを返します。すべてのチェックが成功した場合、ボリュームのステータスは ok
です。チェックが失敗した場合、ボリュームのステータスは impaired
です。ステータスが insufficient-data
の場合、ボリュームのチェックがまだ実行中である可能性があります。ボリュームステータスチェックの結果を表示して、障害のあるボリュームを特定し、必要なアクションを行うことができます。
ボリュームのデータが潜在的に不整合であると Amazon EBS が判断した場合、デフォルトでは、アタッチされたすべての EC2 インスタンスからそのボリュームへの
I/O が無効になります。これにより、データの破損を防ぐことができます。I/O が無効になると、次のボリュームステータスチェックが失敗し、ボリュームステータスは impaired
になります。さらに、I/O が無効になったこと、およびボリュームへの I/O を有効にすることによってボリュームの障害ステータスを解決できることを伝えるイベントが表示されます。ユーザーが
I/O を有効にするまでシステムは待機するため、ユーザーはインスタンスによるボリュームの使用を継続するか、その前に chkdsk などのコマンドを使用して整合性チェックを実行するかを判断することができます。
ボリュームステータスはボリュームステータスチェックに基づいており、ボリューム状態を反映していません。従って、ボリュームステータスではボリュームが error
状態 (たとえば、I/O を受け付けできない) であることは判りません。 ボリューム状態については、「ボリューム状態」を参照してください。
あるボリュームの整合性について心配しているわけではなく、そのボリュームに障害が発生した際にそのボリュームをすぐに利用できるようにしたい場合は、デフォルトの動作を上書きして、I/O
を自動的に有効にするようにボリュームを設定することができます。Auto-Enable IO ボリューム属性 (API の autoEnableIO
) を有効にすると、ボリューム状態のチェックが引き続き行われます。また、ボリュームに潜在的な障害があると判断されたが、そのボリュームの I/O が自動的に有効になったことを伝えるイベントも表示されます。これにより、ボリュームの整合性を確認したり、後でボリュームを交換したりすることが可能になります。
I/O パフォーマンスのステータスチェックでは、実際のボリュームパフォーマンスと期待されるボリュームパフォーマンスが比較され、ボリュームのパフォーマンスが期待を下回っている場合は警告が生成されます。このステータスチェックは、インスタンスにアタッチされている
プロビジョンド IOPS SSD (io1
および io2
) ボリュームに対してのみ使用できます。汎用 SSD (gp2
および gp3
)、スループット最適化 HDD (st1
)、Cold HDD (sc1
)、または マグネティック (standard
) ボリュームには無効です。I/O パフォーマンスのステータスチェックは 1 分に 1 回実行され、CloudWatch はこのデータを 5 分おきに収集するため、io1
または io2
ボリュームをインスタンスにアタッチしてから、このチェックにより I/O パフォーマンスのステータスが報告されるまで最大 5 分かかる可能性があります。
スナップショットから復元された プロビジョンド IOPS SSD ボリュームを初期化している間は、ボリュームのパフォーマンスが想定レベルの 50% を下回る場合があります。このため、ボリュームの
[I/O Performance (I/O パフォーマンス)] ステータスチェックでは warning
状態が表示されます。これは想定の動作です。初期化中の プロビジョンド IOPS SSD ボリュームの warning
状態は無視してかまいません。詳細については、「Amazon EBS ボリュームの初期化」を参照してください。
次の表に、Amazon EBS ボリュームのステータスを示します。
ボリュームのステータス | I/O 有効ステータス | I/O パフォーマンスステータス (プロビジョンド IOPS ボリュームでのみ使用可能) |
---|---|---|
|
Enabled (I/O Enabled または I/O Auto-Enabled) |
Normal (ボリュームパフォーマンスは想定どおり) |
|
Enabled (I/O Enabled または I/O Auto-Enabled) |
Degraded (ボリュームのパフォーマンスが想定を下回っている) Severely Degraded (ボリュームのパフォーマンスが想定をかなり下回っている) |
|
Enabled (I/O Enabled または I/O Auto-Enabled) Disabled (ボリュームがオフラインで復旧の保留中、またはユーザーによる I/O の有効化待ち) |
Stalled (ボリュームのパフォーマンスは致命的な影響を受けている) Not Available (I/O が無効なため、I/O パフォーマンスの判定不能) |
|
Enabled (I/O Enabled または I/O Auto-Enabled) Insufficient Data |
Insufficient Data |
ステータスチェックを表示または操作するには、Amazon EC2 コンソール、API、またはコマンドラインインターフェイスを使用します。
コンソールでステータスチェックを表示するには
-
https://console.aws.amazon.com/ec2/
で Amazon EC2 コンソールを開きます。 -
ナビゲーションペインの [Volumes (ボリューム)] を選択します。[Volume Status (ボリュームのステータス)] 列に、各ボリュームの動作状況が表示されます。
-
ボリュームのステータスの詳細を表示するには、ボリュームを選択して、[Status Checks (ステータスチェック)] を選択します。
-
ステータスチェックが失敗したボリュームがある場合 (ステータスが impaired (障害) として示されている) は、障害のあるボリュームの操作 を参照してください。
ナビゲータで [Events (イベント)] を選択して、インスタンスとボリュームのすべてのイベントを表示することもできます。詳細については、「EBS ボリュームイベント」を参照してください。
コマンドラインを使用してボリュームステータスに関する情報を表示するには
Amazon EBS ボリュームのステータスを表示するには、次のコマンドのいずれかを使用できます。これらのコマンドラインインターフェイスの詳細については、Amazon EC2 へのアクセス を参照してください。
-
describe-volume-status (AWS CLI)
-
Get-EC2VolumeStatus (AWS Tools for Windows PowerShell)
EBS ボリュームイベント
ボリュームのデータが潜在的に不整合であると Amazon EBS によって判断された場合、デフォルトでは、アタッチされているすべての EC2 インスタンスからそのボリュームへの I/O が無効になります。これにより、ボリュームステータスチェックが失敗し、障害の原因を示すボリュームステータスイベントが作成されます。
データが潜在的に不整合であるボリュームで I/O を自動的に有効にするには、Auto-Enabled IO ボリューム属性 (API の autoEnableIO
) の設定を変更します。この属性の変更の詳細については、「障害のあるボリュームの操作」を参照してください。
各イベントには、イベントが発生した時刻を示す開始時刻と、そのボリュームに対する I/O が無効になった時間を示す継続時間が含まれています。ボリュームに対する I/O が有効になると、イベントに終了時刻が追加されます。
ボリュームステータスイベントには、次の説明のいずれかが含まれています。
- Awaiting Action: Enable IO
-
ボリュームデータに整合性がない可能性があります。ボリュームに対する I/O は、ユーザーが明示的に有効にするまで無効になります。I/O を明示的に有効にすると、イベントの説明が IO Enabled に変更されます。
- IO Enabled
-
このボリュームに対する I/O 操作が明示的に有効にされました。
- IO Auto-Enabled
-
イベントの発生後に、このボリュームで I/O 操作が自動的に有効になりました。データを引き続き使用する前に、データの整合性を確認することをお勧めします。
- Normal
-
io1
およびio2
ボリュームのみ。ボリュームのパフォーマンスは想定どおりです。 - Degraded
-
io1
およびio2
ボリュームのみ。ボリュームのパフォーマンスは想定を下回っています。 - Severely Degraded
-
io1
およびio2
ボリュームのみ。ボリュームのパフォーマンスは想定をはるかに下回っています。 - Stalled
-
io1
およびio2
ボリュームのみ。ボリュームのパフォーマンスは致命的な影響を受けています。
Amazon EC2 コンソール、API、またはコマンドラインインターフェイスを使用して、ボリュームのイベントを表示できます。
コンソールでボリュームのイベントを表示するには
-
https://console.aws.amazon.com/ec2/
で Amazon EC2 コンソールを開きます。 -
ナビゲーションペインの [Events] を選択します。イベントを含むすべてのインスタンスおよびボリュームがリストされています。
-
ボリュームでフィルタリングして、ボリュームステータスのみを表示できます。特定のタイプのステータスでフィルタリングすることもできます。
-
ボリュームを選択して、その特定のイベントを表示します。
I/O が無効になっているボリュームがある場合は、「障害のあるボリュームの操作」を参照してください。I/O パフォーマンスが通常の状態を下回っているボリュームがある場合、実行したアクションを原因とする一時的な状態である可能性があります (ピーク使用時にボリュームのスナップショットを作成した、必要な I/O 帯域幅をサポートできないインスタンスでボリュームを実行した、ボリュームのデータに初めてアクセスした、など)。
コマンドラインを使用してボリュームのイベントを表示するには
Amazon EBS ボリュームのイベント情報を表示するには、次のコマンドのいずれかを使用できます。これらのコマンドラインインターフェイスの詳細については、Amazon EC2 へのアクセス を参照してください。
-
describe-volume-status (AWS CLI)
-
Get-EC2VolumeStatus (AWS Tools for Windows PowerShell)
障害のあるボリュームの操作
ボリュームのデータが整合していない可能性があるためにボリュームに障害がある場合は、以下のオプションを使用します。
オプション
オプション 1: インスタンスにアタッチされたボリュームで整合性チェックを実行する
もっとも単純なオプションは、ボリュームが Amazon EC2 にアタッチされているときに、I/O を有効にしてから、ボリュームでデータの整合性チェックを実行するオプションです。
アタッチされたボリュームで整合性チェックを実行するには
-
アプリケーションによるボリュームの使用を停止します。
-
ボリュームの I/O を有効にします。
-
https://console.aws.amazon.com/ec2/
で Amazon EC2 コンソールを開きます。 -
ナビゲーションペインの [Volumes (ボリューム)] を選択します。
-
I/O 操作を有効にするボリュームを選択します。
-
詳細ペインで、[Enable Volume I/O (ボリューム I/O を有効化する)] を選択し、次に [Yes, Enable (はい、有効化します)] を選択します。
-
-
ボリュームのデータを確認します。
-
chkdsk コマンドを実行します。
-
(オプション) 関連するエラーメッセージがないか、使用可能なアプリケーションログまたはシステムログを確認します。
-
ボリュームの障害が 20 分以上続く場合は、AWS サポートセンターに連絡してください。[Troubleshoot (トラブルシューティング)] をクリックしてから、[Troubleshoot Status Checks (ステータスチェックのトラブルシューティング)] ダイアログボックスの [Contact Support (サポートに問い合わせる)] を選択してサポートケースを送信します。
-
コマンドラインを使用してボリュームの I/O を有効にするには
Amazon EBS ボリュームのイベント情報を表示するには、次のコマンドのいずれかを使用できます。これらのコマンドラインインターフェイスの詳細については、Amazon EC2 へのアクセス を参照してください。
-
enable-volume-io (AWS CLI)
-
Enable-EC2VolumeIO (AWS Tools for Windows PowerShell)
オプション 2: 別のインスタンスを使用してボリュームで整合性チェックを実行する
実動環境外部のボリュームをチェックするには、次の手順に従います。
この手順を実行すると、ボリューム I/O を無効にしたときに停止された書き込み I/O が失われる場合があります。
分離されたボリュームで整合性チェックを実行するには
-
アプリケーションによるボリュームの使用を停止します。
-
ボリュームをインスタンスからデタッチします。
-
https://console.aws.amazon.com/ec2/
で Amazon EC2 コンソールを開きます。 -
ナビゲーションペインの [Volumes (ボリューム)] を選択します。
-
デタッチするボリュームを選択します。
-
[Actions]、[Force Detach Volume] を選択します。確認のためのメッセージが表示されます。
-
-
ボリュームの I/O を有効にします。
-
ナビゲーションペインの [Volumes (ボリューム)] を選択します。
-
前の手順でデタッチしたボリュームを選択します。
-
詳細ペインで、[Enable Volume I/O (ボリューム I/O を有効化する)] を選択し、次に [Yes, Enable (はい、有効化します)] を選択します。
-
-
ボリュームを別のインスタンスにアタッチします。詳細については、「インスタンスの起動」および「インスタンスへの Amazon EBS ボリュームのアタッチ」を参照してください。
-
ボリュームのデータを確認します。
-
chkdsk コマンドを実行します。
-
(オプション) 関連するエラーメッセージがないか、使用可能なアプリケーションログまたはシステムログを確認します。
-
ボリュームの障害が 20 分以上続く場合は、AWS サポートセンターに連絡してください。[Troubleshoot (トラブルシューティング)] を選択し、トラブルシューティングのダイアログボックスで [Contact Support (サポートに問い合わせる)] を選択して、サポートケースを送信します。
-
コマンドラインを使用してボリュームの I/O を有効にするには
Amazon EBS ボリュームのイベント情報を表示するには、次のコマンドのいずれかを使用できます。これらのコマンドラインインターフェイスの詳細については、Amazon EC2 へのアクセス を参照してください。
-
enable-volume-io (AWS CLI)
-
Enable-EC2VolumeIO (AWS Tools for Windows PowerShell)
オプション 3: 不要なボリュームを削除する
環境からボリュームを削除するには、単にそれを削除します。ボリュームの削除の詳細については、「Amazon EBS ボリュームの削除」を参照してください。
ボリュームのデータをバックアップするスナップショットを最近作成した場合、そのスナップショットから新しいボリュームを作成できます。詳細については、「スナップショットからのボリュームの作成」を参照してください。
AutoEnable IO ボリューム属性の操作
ボリュームのデータが潜在的に不整合であると Amazon EBS によって判断された場合、デフォルトでは、アタッチされているすべての EC2 インスタンスからそのボリュームへの
I/O が無効になります。これにより、ボリュームステータスチェックが失敗し、障害の原因を示すボリュームステータスイベントが作成されます。あるボリュームの整合性について心配しているわけではなく、そのボリュームに障害が発生した際にそのボリュームをすぐに利用できるようにしたい場合は、デフォルトの動作を上書きして、I/O を自動的に有効にするようにボリュームを設定することができます。Auto-Enabled IO ボリューム属性 (API の autoEnableIO
)を有効にすると、ボリュームとインスタンス間の I/O が自動的に再び有効になり、ボリュームの状態チェックが成功します。また、ボリュームが潜在的に不整合な状態であること、ただしそのボリュームの
I/O が自動的に有効になったことを伝えるイベントも表示されます。このイベントが発生した場合は、ボリュームの整合性をチェックし、必要に応じて置き換えます。詳細については、「EBS ボリュームイベント」を参照してください。
この手順では、ボリュームの Auto-Enabled IO 属性を表示して変更する方法について説明します。
コンソールでボリュームの Auto-Enabled IO 属性を表示するには
-
https://console.aws.amazon.com/ec2/
で Amazon EC2 コンソールを開きます。 -
ナビゲーションペインの [Volumes (ボリューム)] を選択します。
-
ボリュームを選択して、[Status Checks (ステータスチェック)] を選択します。[Auto-Enabled IO] には、ボリュームの現在の設定([Enabled (有効)] または [Disabled (無効)] が表示されます。
コンソールでボリュームの Auto-Enabled IO 属性を変更するには
-
https://console.aws.amazon.com/ec2/
で Amazon EC2 コンソールを開きます。 -
ナビゲーションペインの [Volumes (ボリューム)] を選択します。
-
ボリュームを選択して、[Actions (アクション)]、[Change Auto-Enable IO Setting (Auto-Enable IO を変更する)] の順に選択します。または、[Status Checks (ステータスチェック)] タブを選択し、[Auto-Enabled IO] で、[Edit (編集)] を選択します。
-
障害のあるボリュームの I/O を自動的に有効にするには、[Auto-Enable Volume IO (Auto-Enable ボリューム IO)] チェックボックスをオンにします。この機能を無効にするには、チェックボックスをクリアします。
-
[Save (保存)] を選択します。
コマンドラインを使ってボリュームの AutoEnableIO 属性を表示または変更するには
Amazon EBS ボリュームの autoEnableIO
属性を表示するには、次のコマンドのいずれかを使用できます。これらのコマンドラインインターフェイスの詳細については、Amazon EC2 へのアクセス を参照してください。
-
describe-volume-attribute (AWS CLI)
-
Get-EC2VolumeAttribute (AWS Tools for Windows PowerShell)
ボリュームの autoEnableIO
属性を変更するには、次のコマンドのいずれかを使用できます。
-
modify-volume-attribute (AWS CLI)
-
Edit-EC2VolumeAttribute (AWS Tools for Windows PowerShell)