[アップデート] AWS Fault Injection Service (FIS) で Amazon Aurora DSQL の障害アクションが追加されました
いわさです。
AWS FIS では様々なサービスの障害アクションが用意されています。
今朝のアップデートで Amazon Aurora DSQL のアクションが初登場しました。
今回追加されたアクションの詳細は以下の公式ドキュメントのaws:dsql:cluster-connection-failureです。
指定された期間 Aurora DSQL クラスターで接続障害を発生させることが出来るもので、障害を発生させる割合を指定して正常なユーザーと異常なユーザーが混在する状態を作ることも出来ます。
AWS FIS での実験テンプレートの作成
今回追加されたアクションタイプは以下になります。
併せて DSQL のカテゴリも追加されましたね。

アクションパラメータで指定できるのは、障害発生期間であるDurationと、障害を発生する割合のPercentageです。
例えば以下の場合は 50 % で接続障害が発生します。

ターゲットは Aurora DSQL クラスターを指定します。ちなみに今回は東京リージョンで試しています。

実験中の様子
今回は CloudShell から DSQL クラスターへ接続を行います。
実験開始前は次のように接続ができることを確認しています。

実験を開始しましょう。

先ほどと同じように CloudShell から DSQL クラスターへの接続を試してみると...
~ $ dsql-connect --hostname 2fs4kgkzq2rf3vmokhhpbqhruy.dsql.ap-northeast-1.on.aws --region ap-northeast-1 --database postgres --username admin
psql: error: connection to server at "2fs4kgkzq2rf3vmokhhpbqhruy.dsql.ap-northeast-1.on.aws" (18.99.75.128), port 5432 failed: FATAL: unable to accept connection
DETAIL: Session Id: mztduazocwxotqz2slsmptuxhm
HINT: Ongoing AWS Fault Injection Service (FIS) experiment
Error: Failed to connect to the database
~ $
接続に失敗しましたね。
HINT: Ongoing AWS Fault Injection Service (FIS) experimentというヒントが表示されています。
また、上記では接続に失敗しましたが、今回Percentageパラメータに 50 を指定したので、だいたい 2 回に 1 度は接続に成功します。
もう一度接続を試行してみると、実験中ですが次のように成功しました。
~ $ dsql-connect --hostname 2fs4kgkzq2rf3vmokhhpbqhruy.dsql.ap-northeast-1.on.aws --region ap-northeast-1 --database postgres --username admin
postgres=>
さいごに
本日は AWS Fault Injection Service (FIS) で Amazon Aurora DSQL の障害アクションが追加されたので使ってみました。
Aurora DSQL を採用していて接続障害が発生した時のアプリケーション動作をテストしたい時など、ぜひ使ってみてください。






