[アップデート] 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 を採用していて接続障害が発生した時のアプリケーション動作をテストしたい時など、ぜひ使ってみてください。