Amazon EBS での障害テスト
AWS Fault Injection Service と I/O 停止アクションを使用して Amazon EBS ボリュームとそれがアタッチされているインスタンスとの間の I/O を一時的に停止し、ワークロードが I/O 中断をどのように処理するかをテストします。AWS FIS を使用すると、Amazon CloudWatch アラームや OS のタイムアウト設定など、コントロールされた実験を使用してアーキテクチャやモニタリングをテストし、ストレージ障害に対する回復力を向上させることができます。
AWS FIS の詳細については、「AWS Fault Injection Service ユーザーガイド」を参照してください。
考慮事項
ボリュームの I/O を一時停止する場合は、以下の考慮事項に留意してください。
-
Nitro System 上に構築されたインスタンスにアタッチされているすべての Amazon EBS ボリュームタイプの I/O を一時停止できます。
-
ルートボリュームの I/O を一時停止できます。
-
マルチアタッチの有効なボリュームの I/O を一時停止できます。マルチ接続が有効なボリュームの I/O を一時停止すると、そのボリュームと、そのボリュームがアタッチされているすべてのインスタンスとの間の I/O が一時停止されます。
-
OS タイムアウト設定をテストするには、実験時間を
nvme_core.io_timeout
に指定された値以上に設定します。詳細については、Amazon EBS ボリュームの NVMe I/O オペレーションタイムアウトを参照してください。 -
I/O が一時停止しているボリュームに I/O を実行すると、次のことが起こります。
-
ボリュームのステータスが 120 秒以内で
impaired
に遷移します。詳細については、Amazon EBS ボリュームステータスチェックを参照してください。 -
キューの長さ (
VolumeQueueLength
) の CloudWatch メトリクスはゼロ以外になります。アラームやモニタリングでは、キューの深さがゼロでないかどうかを監視する必要があります。詳細については、「Amazon EBS ボリュームのメトリクス」を参照してください。 -
VolumeReadOps
またはVolumeWriteOps
の CloudWatch メトリクスは0
になります。これは、ボリュームが I/O を処理していないことを示します。
-
制限
ボリュームの I/O を一時停止する場合は、以下の制限事項に留意してください。
-
インスタンスストアボリュームはサポートされていません。
-
Xen ベースのインスタンスタイプはサポートされていません。
-
AWS Outposts 内、AWS Wavelength ゾーン、またはローカルゾーンの Outpost で作成されたボリュームの I/O を一時停止することはできません。
Amazon EC2 コンソールから基本的なテストを実行することも、AWS FIS コンソールを使用してより高度な実験を実行することもできます。AWS FIS コンソールを使用して高度な実験を行う方法の詳細については、「AWS Fault Injection Service ユーザーガイド」の「AWS FIS のチュートリアル」を参照してください。
Amazon EC2 コンソールを使用して基本的な実験を行うには
-
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/
) を開きます。 -
ナビゲーションペインの [ボリューム] を選択します。
-
I/O を一時停止するボリュームを選択し、[アクション]、[障害注入]、[ボリューム I/O の一時停止] の順に選択します。
-
[所要時間] には、ボリュームとインスタンス間の I/O を一時停止する期間を入力します。[所要時間] ドロップダウンリストの横のフィールドには、ISO 8601 形式の期間が表示されます。
-
[サービスへのアクセス] セクションで、実験の実行時に引き受ける AWS FIS の [IAM サービスロール] を選択します。デフォルトのロールか、作成した既存のロールを使用できます。詳細については、「AWS FIS 実験の IAM ロールを作成する」を参照してください。
-
[ボリュームの I/O を一時停止] を選択します。プロンプトが表示されたら、確認フィールドに
start
と入力し、[実験を開始] を選択します。 -
実験の進行状況と影響をモニタリングします。詳細については、「AWS FIS ユーザーガイド」の「AWS FIS をモニタリングする」を参照してください。