【EKS】FIS(Fault Injection Service)で3分の1のNodeをダウンさせる

本記事では、FISを利用してEKSの障害を起こす場合に、1/3のNodeを落とす方法について解説する。

dashboard

前提

EKSは事前に作成する。

リソースの名前は下記。

・EKSクラスター:test-cluster

説明

FISとは、AWSリソースに障害を与えるためのサービスである。詳しくは下記 [1] を参照。

AWS Fault Injection Service (AWS FIS) は、AWS ワークロードでフォールトインジェクション実験を実行できるマネージドサービスです。フォールトインジェクションは、カオス工学の原則に基づいています。これらの実験では、アプリケーションの応答を観察できるように、破壊的なイベントを作成することで、アプリケーションに負荷をあたえます。その後、この情報を使用して、アプリケーションのパフォーマンスと復元力を向上させ、期待どおりに動作させることができます。

[1] AWS Fault Injection Service とは?

FISでは、EKSに障害を起こし、NodeをNot Ready状態にすることが可能で、詳しい手順は [2] に記載があるが、1/3(3台あるうちの1台)のNodeに対して実験を行いたい場合について記載がないため、本ブログに記載する。

[2] AWS Fault Injection Simulator による Amazon EKS でのカオスエンジニアリング実践例

結論、EKSクラスターのノードが3つの場合、aws:eks:terminate-nodegroup-instancesアクションのinstanceTerminationPercentageは34に設定することで、1つのノードに対しTerminateInstancesが実行される。

dashboard