レイテンシーインジェクション - Amazon EBS

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

レイテンシーインジェクション

のレイテンシーインジェクションアクション (aws:ebs:volume-io-latency) を使用して AWS FIS 、Amazon EBS ボリュームの I/O レイテンシーの増加をシミュレートし、アプリケーションがストレージパフォーマンスの低下にどのように応答するかをテストします。このアクションでは、挿入するレイテンシー値と、ターゲットボリュームに影響を与える I/O の割合を指定できます。を使用すると AWS FIS、事前設定されたレイテンシー実験テンプレートを使用して、ストレージの障害中に観察される可能性のあるさまざまな I/O レイテンシーパターンのテストを開始できます。これらのテンプレートは、障害耐性をテストするためにアプリケーションを中断するために使用できるシナリオの初期セットとして設計されています。これらは、アプリケーションが現実世界で経験できるすべてのタイプの影響を網羅するように設計されているわけではありません。アプリケーションのパフォーマンスニーズに基づいて複数の異なるテストを実行するように調整することをお勧めします。利用可能なテンプレートをカスタマイズするか、新しい実験テンプレートを作成して、アプリケーション固有の要件をテストできます。

事前設定されたレイテンシー実験テンプレート

Amazon EBS は、EBS コンソールとAWS FIS シナリオライブラリを通じて次のレイテンシー実験テンプレートを提供します。これらのテンプレートをターゲットボリュームで直接使用して、レイテンシーインジェクション実験を実行できます。

  • 持続的なレイテンシー — 一定のレイテンシーをシミュレートします。この実験では、1 つのレイテンシーインジェクションアクションを使用し、合計所要時間は 15 分です。この実験では、読み取り I/O の 50% と書き込み I/O の 100% の永続レイテンシーをシミュレートします。15 分間で 500 ミリ秒です。

  • レイテンシーの増加 — 徐々に増加するレイテンシーをシミュレートします。この実験では、5 つのレイテンシーインジェクションアクションを使用し、合計所要時間は 15 分です。この実験では、読み取り I/O の 10% と書き込み I/O の 25% でのレイテンシーの段階的な増加をシミュレートします。3 分間は 50 ミリ秒、3 分間は 200 ミリ秒、3 分間は 700 ミリ秒、3 分間は 1 秒、3 分間は 15 秒です。

  • 断続的なレイテンシー — 断続的なレイテンシーの急増と、その間の回復期間をシミュレートします。この実験では、3 つのレイテンシーインジェクションアクションを使用し、合計所要時間は 15 分です。この実験では、読み取りおよび書き込み I/O の 0.1% で 3 つのレイテンシースパイクをシミュレートします。1 分間持続する 30 秒のスパイク、2 分間持続する 10 秒のスパイク、2 分間持続する 20 秒のスパイクです。レイテンシーの急増ごとに 5 分間の復旧期間があります。

  • レイテンシーの低減 — レイテンシーを徐々に減らすようにシミュレートします。この実験では、5 つのレイテンシーインジェクションアクションを使用し、合計所要時間は 15 分です。この実験では、読み取り I/O と書き込み I/O の 10% でのレイテンシーの段階的な減少をシミュレートします。3 分間は 20 秒、3 分間は 5 秒、3 分間は 900 ミリ秒、3 分間は 300 ミリ秒、3 分間は 40 ミリ秒です。

事前設定されたシナリオをカスタマイズする

上記の事前設定済みテンプレートをカスタマイズするか、以下のカスタマイズ可能なパラメータを使用して独自の新しい実験テンプレートを作成します。

  • readIOPercentage — レイテンシーが挿入される読み取り I/O オペレーションの割合。これは、アクションの影響を受けるボリュームに対するすべての読み取り I/O オペレーションの割合です。

    範囲: 最小 0.1%、最大 100%

  • readIOLatencyMilliseconds — 読み取り I/O オペレーションに注入されるレイテンシーの量。これは、実験中に読み取り I/O の指定された割合で観測されるレイテンシー値です。

    範囲: 最小 1 ミリ秒 (io2) / 10 ミリ秒 (io2 以外)、最大 60 秒

  • writeIOPercentage — レイテンシーが挿入される書き込み I/O オペレーションの割合。これは、アクションの影響を受けるボリュームに対するすべての書き込み I/O オペレーションの割合です。

    範囲: 最小 0.1%、最大 100%

  • writeIOLatencyMilliseconds — 書き込み I/O オペレーションで挿入されたレイテンシーの量。これは、実験中に指定された書き込み I/O の割合で観測されるレイテンシー値です。

    範囲: 最小 1 ミリ秒 (io2) / 10 ミリ秒 (io2 以外)、最大 60 秒

  • duration — 選択した I/O の割合にレイテンシーが挿入される期間。

    範囲: 最小 1 秒、最大 12 時間

レイテンシーインジェクションのモニタリング

ボリュームのパフォーマンスへの影響は、次の方法でモニタリングできます。

  • CloudWatch で平均レイテンシーメトリクスを使用して、1 分あたりの平均 I/O レイテンシーを取得します。詳細については、CloudWatch を使用して EBS ボリュームをモニタリングする」を参照してください。

  • NVMe-CLI、CloudWatch エージェント、Prometheus で利用可能な EBS の詳細なパフォーマンス統計を使用して、1 秒あたりの平均 I/O レイテンシーを取得します。詳細なメトリクスは、ボリュームのレイテンシー分散を分析するために使用できる I/O レイテンシーヒストグラムも提供します。詳細については、NVMe の詳細なパフォーマンス統計」を参照してください。

  • Amazon EBS ボリュームステータスチェック を使用します。I/O レイテンシーを挿入すると、ボリュームのステータスは warning状態に移行します。

考慮事項

EBS レイテンシーインジェクションを使用する場合は、次の点を考慮してください。

  • レイテンシーインジェクションは、P4d, P5, P5e, Trn2u, G6, G6f, Gr6, Gr6f, M8i, M8i-flex, C8i-flex, R8i, R8i-flex, I8ge, Mac-m4pro、Mac-m4 を除くすべての Nitro ベースのインスタンスタイプでサポートされています。

  • 実験で指定されたレイテンシー値と結果のレイテンシーに最大 5% の差異が表示されることがあります。

  • ごく少数の I/O オペレーションを駆動する場合、アクションパラメータで指定された I/O の割合が、アクションの影響を受ける I/O の実際の割合と一致しない可能性があります。

Amazon EBS ボリュームでレイテンシーインジェクション実験を実行するには
  1. Amazon EC2 コンソールの https://console.aws.amazon.com/ec2/ を開いてください。

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

  3. 実験を実行するボリュームを選択し、アクション耐障害性テストボリューム I/O レイテンシーの挿入を選択します。

    AWS Fault Injection Service コンソールが開きます。

  4. 実験の作成ウィンドウで、実行する実験のタイプを選択します: 断続的、増加持続または減少

  5. IAM ロールを選択するには、新しいロールの作成を選択して、ユーザーに代わって実験を実行するために AWS FIS が使用する新しいロールを作成します。または、必要なアクセス許可を持つ IAM ロールを以前に作成している場合は、既存の IAM ロールを使用する を選択します。

  6. 料金見積りセクションには、実験の実行コストの見積りが表示されます。では AWS FIS、実験のターゲットアカウントの数に基づいて、アクションが最初から最後まで実行される 1 分ごとに課金されます。

  7. [実験を開始する] を選択します。