View a markdown version of this page

依存関係の検証 - AWS レジリエンスハブ

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

依存関係の検証

依存関係検証テストは、 リージョン内の依存関係をブロックして、サービスが使用できなくなったときの動作を確認します。これは、ソフト依存関係が損なわれたときにサービスが正常であり、知られていない可能性のある依存関係を表面化することを検証するのに役立ちます。また、既知のハード依存関係を含めて、その影響を理解することもできます。

このテストを一意にする理由
  • リージョン内の依存関係の障害に焦点を当てます。

  • ターゲットとする依存関係を選択します。

  • 次世代の Resilience Hub で依存関係検出を有効にしている場合は、検出された依存関係から選択できます。そうでない場合は、DNS エンドポイントを手動で入力できます。

このテストに合格する方法
  • これは持続的なテストです。テストアクションが終了するまですべての成功アラームが OK状態のままの場合、テストは合格です。これを使用して、ソフト依存関係が本当にソフトであることを検証します。アラームに違反した場合、依存関係は実際には難しい場合があります。

考慮すべき事項
  • 1 つのソフト依存関係から始めて構築する – 多くをブロックする前に、一度に 1 つずつ検証します。

  • ハード依存関係を含める場合は、アラームが超過し、テストが失敗することを想定してください。ハード依存関係は、ブロックされると大きな影響を与えます。これは、依存関係が本当に難しいことを確認するのに役立ちます。

  • 依存関係自体の状態ではなく、全体的なサービスの状態を測定する成功アラームを選択します。

  • テスト中に依存関係がアクティブに使用されている (トラフィックがアクティブに流れている) ことを確認します。これにより、ブロックが効果を持っていることが検証されます。依存関係の使用状況 (リクエスト数や接続エラーなど) を追跡するアラームやメトリクスを追加して、テスト中に依存関係が実行されていることを確認することを検討してください。

  • 依存関係は解決可能な DNS エンドポイントである必要があります。DNS が解決しない場合、アクションは失敗します。

  • ヘルスチェックの失敗をトリガーする依存関係をブロックすると、コンピューティング (Amazon ECS タスクなど) が置き換えられる可能性があります。パケット損失アクションは置き換えタスクに再適用されず、失敗としてレポートされる場合があります。

主要なテストパラメータ
  • Duration – テストアクションが実行される時間の長さ。テストが終了する前に、最終結果を収集するまでに数分かかります。テストを初めて作成するときのデフォルトは 30 分です。

  • ブロックする依存関係 – デフォルトでは、検出されたクエリボリュームが最も多いソフト依存関係が事前に選択されています。依存関係がソフトとして分類されていない場合は、何も選択されません。個々の依存関係または特定のグループをターゲットにするように調整することも、DNS ドメイン名で依存関係を手動で追加することもできます。ここで追加された追加の依存関係は、このテストにのみ使用され、サービスの依存関係検出には保存されません。これらのデフォルトは コンソールで適用されます。API を使用する場合は、依存関係を明示的に指定します。

アクション

このテストでは、次の AWS FIS アクションを実行して、選択した依存関係にトラフィックをドロップします。アクションは、Amazon EC2 インスタンス、Amazon ECS タスク (Amazon EC2 および Fargate)、Amazon EKS ポッド (Amazon EC2) に 100% のパケット損失を発生させます。サービスにアクションのターゲットタイプに一致するリソースがない場合、そのアクションはスキップされます。

注記

依存関係をブロックするために使用されるアクションには、Amazon EC2 インスタンスにインストールされた SSM エージェント、Amazon ECS タスク定義の SSM エージェントコンテナ、Amazon EKS ポッドの Kubernetes サービスアカウントなど、追加の設定が必要です。

[アクション] 説明
aws:ssm:send-command Amazon EC2 インスタンスから選択した依存関係にトラフィックをドロップします。
aws:ecs:task-network-packet-loss Amazon ECS タスクからのトラフィックを選択した依存関係にドロップします。
aws:eks:pod-network-packet-loss Amazon EKS ポッドからのトラフィックを選択した依存関係にドロップします。

このテストのパラメータとそのデフォルト値を表示するには、 を使用しますget-test-template。