Amazon EBS での障害テスト - Amazon EBS

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 コンソールを使用して基本的な実験を行うには
  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

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

  3. I/O を一時停止するボリュームを選択し、[アクション][障害注入][ボリューム I/O の一時停止] の順に選択します。

  4. [所要時間] には、ボリュームとインスタンス間の I/O を一時停止する期間を入力します。[所要時間] ドロップダウンリストの横のフィールドには、ISO 8601 形式の期間が表示されます。

  5. [サービスへのアクセス] セクションで、実験の実行時に引き受ける AWS FIS の [IAM サービスロール] を選択します。デフォルトのロールか、作成した既存のロールを使用できます。詳細については、「AWS FIS 実験の IAM ロールを作成する」を参照してください。

  6. [ボリュームの I/O を一時停止] を選択します。プロンプトが表示されたら、確認フィールドに start と入力し、[実験を開始] を選択します。

  7. 実験の進行状況と影響をモニタリングします。詳細については、「AWS FIS ユーザーガイド」の「AWS FIS をモニタリングする」を参照してください。