レイテンシーインジェクション - 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 レイテンシーを取得します。詳細については、「Monitor your EBS volumes using CloudWatch」を参照してください。

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

  • 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. [実験を開始する] を選択します。