Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
[Fin-JAWS 第38回 ~re:Invent 2024 金融re:Cap~]FaultI...
Search
sh_fk2
January 22, 2025
Programming
0
390
[Fin-JAWS 第38回 ~re:Invent 2024 金融re:Cap~]FaultInjectionServiceアップデート@pre:Invent2024
sh_fk2
January 22, 2025
Tweet
Share
More Decks by sh_fk2
See All by sh_fk2
[JAWS-UG新潟#20] re:Invent2024 -CloudOperationsアップデートについて-
shintaro_fukatsu
0
170
[トレノケ雲の会 mod.13] 3回目のre:Inventで気づいたこと -CloudOperationsを添えて-
shintaro_fukatsu
0
130
[JAWS-UG 横浜支部 #76] レガシーシステム担当者が見たre :Invent2024
shintaro_fukatsu
0
230
Other Decks in Programming
See All in Programming
AIの力でお手軽Chrome拡張機能作り
taiseiue
0
150
Package Traits
ikesyo
2
230
ASP.NET Core の OpenAPIサポート
h455h1
0
170
ErdMap: Thinking about a map for Rails applications
makicamel
1
1.3k
サーバーゆる勉強会 DBMS の仕組み編
kj455
1
370
chibiccをCILに移植した結果 (NGK2025S版)
kekyo
PRO
0
210
Conform を推す - Advocating for Conform
mizoguchicoji
1
310
watsonx.ai Dojo #6 継続的なAIアプリ開発と展開
oniak3ibm
PRO
0
280
ecspresso, ecschedule, lambroll を PipeCDプラグインとして動かしてみた (プロトタイプ) / Running ecspresso, ecschedule, and lambroll as PipeCD Plugins (prototype)
tkikuc
2
3.5k
Compose でデザインと実装の差異を減らすための取り組み
oidy
1
290
【PHP】破壊的バージョンアップと戦った話〜決断と説得
satoshi256kbyte
0
120
Amazon ECS とマイクロサービスから考えるシステム構成
hiyanger
3
420
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Optimising Largest Contentful Paint
csswizardry
33
3.1k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.5k
Six Lessons from altMBA
skipperchong
27
3.6k
Learning to Love Humans: Emotional Interface Design
aarron
274
40k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
45
2.3k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.4k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.5k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
Making Projects Easy
brettharned
116
6k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.4k
Transcript
Fault Injection Service アップデート @pre:Invent2024 2025年1月22日 #finjaws Fin-JAWS 第38回 ~re:Invent
2024 金融re:Cap~
自己紹介 >深津 新太郎 PjM @ JTC 情報システム子会社 基幹システムの運用・開発・リプレイスを担当 >AWS利用 2019-
>好きなサービス S3 名前と機能のギャップが好き >re:invent 2022、2023、2024参戦
問題 何の数字でしょう?
答え 1日の最大歩数
Fin-JAWS後 ヌードルアジア→ホテル ホテル→キーノート会場 セッション会場→ホテル ホテル→Re:play会場 グルーヴ@Re:play
re:Invent2024 Map Flamingo The Venetian The LINQ Harrah’s Treasure Island
Wynn Encore Caesars Forum MGM Grand Mandalay Bay Excalibur 約5km Horseshoe モノレール Strip road シャトルバス停 モノレール駅 会場 公式ホテル モノレールが一番おすすめ バスは渋滞に注意
re:Invent2024 Map Flamingo The Venetian The LINQ Harrah’s Treasure Island
Wynn Encore Caesars Forum MGM Grand Mandalay Bay Excalibur 約5km Horseshoe モノレール Strip road re:Invent2024 Map シャトルバス停 モノレール駅 会場 公式ホテル キーノート・Expo会場 徒歩圏内
MGM Grand シャトルバス停 モノレール駅 会場 公式ホテル Flamingo The Venetian The
LINQ Harrah’s Treasure Island Wynn Encore Caesars Forum Mandalay Bay Excalibur 約5km Horseshoe モノレール Strip road re:Invent2024 私のキャンプ地 エクスカリバーホテル
MGM Grand Flamingo The Venetian The LINQ Harrah’s Treasure Island
Wynn Encore Caesars Forum Mandalay Bay Excalibur 約5km Horseshoe モノレール Strip road re:Invent2024 私のキャンプ地 遠い 最寄りのモノレール乗り場まで徒歩15分 ちょっと荷物を置きにもいけない シャトルバス停 モノレール駅 会場 公式ホテル
MGM Grand Flamingo The Venetian The LINQ Harrah’s Treasure Island
Wynn Encore Caesars Forum Mandalay Bay Excalibur 約5km Horseshoe モノレール Strip road シャトルバス停 モノレール駅 会場 公式ホテル 高くてもベネチアン近くを! re:Invent2024 Map
ここから本題! -Fault Injection Service-
AWS Fault Injection Service (AWS FIS) ・マネコンから実行できる障害試験ツール ・ターゲット(AWSリソース) とアクション(障害内容) を指定
・意図的に障害を発生させ、挙動や耐性を確認
出会いはre:Invent2023のWorkshop EC2・RDS、AZ障害に対する可用性確認を体験 私の理解 アプリケーションは変更不要 何度でも繰り返し実施可能 環境変更の戻し忘れがない(時限で変更) →障害試験、運用中の訓練に活用できるかも! 私とAWS FIS
出会いはre:Invent2023のWorkshop EC2・RDS、AZ障害に対する可用性確認を体験 私の理解 アプリケーションは変更不要 何度でも繰り返し実施可能 環境変更の戻し忘れがない(時限で変更) →障害試験、運用中の訓練に活用できるかも! 私とAWS FIS 正直、忘れていました。。
10/30 FIS アクションにLambdaが追加 https://aws.amazon.com/jp/about-aws/whats-new/2024/10/aws-lambda-fault-injection-service-actions/ FIS関連 アップデート@ pre:Invent2024 せっかくだから、現地で聞いてみよう! 11/13 FISに実験レポート生成機能が追加
https://aws.amazon.com/jp/about-aws/whats-new/2024/11/aws-fault-injection-service-experiment-reports/
Fidelity Investments社のChaos Engineering事例 FSI318:Fidelity Investments Building for mission-critical resilience ・Failure
Mode and Effects Analysis(故障モード影響解析) 障害の影響度分析を体系的に実施 ・FISやSSMを組み合わせ「Chaos Buffet」導入 Lambdaレイヤー独自実装→ネイティブサポート 資料 • https://reinvent.awsevents.com/content/dam/reinvent/2024/slides/fsi/FSI318_Fidelity-Investments-Building-for-mission-critical-resilience.pdf YouTube • https://youtu.be/mYKNR0UXwMc?si=sLC_PJxRmXXtpDe-
AWS FIS S3 Lambda Function (Lambdaレイヤー) FISアクションがLambdaに対応
AWS FIS S3 Lambda Function (Lambdaレイヤー) 定義ファイル 生成 FISアクションがLambdaに対応
AWS FIS S3 Lambda Function (Lambdaレイヤー) 定義ファイル ポーリング 定義ファイル 生成
FISアクションがLambdaに対応
AWS FIS S3 Lambda Function (Lambdaレイヤー) 定義ファイル ポーリング 定義ファイル 生成
FISアクションがLambdaに対応
AWS FIS S3 定義ファイル 生成 FISアクションがLambdaに対応
AWS FIS S3 Lambda Function (Lambdaレイヤー /環境変数追加) FISアクションがLambdaに対応 IAMロール IAMポリシー
IAMロール IAMポリシー Lambdaにいろいろ設定変更が必要…
・invocation-add-delay 実行時間を延ばす ・invocation-error エラーを返す ・invocation-http-integration-response 任意のHTTPレスポンスコードを返す 3つのアクションが指定可能 FISアクションがLambdaに対応
invocation-add-delay Duration 継続する時間 Invocation percentage 発生させる割合 Startup delay milliseconds 遅らせる時間
実行時間を延ばす invocation-add-delay 処理 Wait イベント
実行時間を延ばす invocation-add-delay Lambdaのタイムアウトを発生させられる タイマ20Sec 処理 Wait 30Sec イベント タイムアウト Lambda関数のタイマ値以上にDelayをセット
invocation-error Duration 継続する時間 Invocation percentage 発生させる割合 Prevent execution エラー前に処理を実行
イベント イベント 実行時にエラーを返す invocation-error Errorレスポンス 処理 Errorレスポンス 処理 Error Error
Prevent execution:ON Prevent execution:OFF
更新系処理 中途半端な状態を再現可能 invocation-error (Prevent execution : OFF) Errorレスポンス 処理 Error
createItem トランザクション管理の妥当性、冪等性の確認 500 Item有 処理NG
invocation-http-integration-response Duration 継続する時間 Invocation percentage 発生させる割合 Prevent execution エラー前に処理を実行 Status
code HTTPステータスコード
AWS FIS シナリオ
AWS FIS シナリオ Lambdaはシナリオ無し
アクション 前後関係の設定が可能 組み合わせでシナリオ化 AWS FIS シナリオ 3min 4min 2min Delay
50% 4,000ms Delay 100% 4,000ms Error 50% Prevent execution:ON Error 100% Prevent execution:OFF
AWS FIS シナリオ
AWS FIS シナリオ 50%で4,000msのDelay (平均すると2,000ms前後) 100%で4,000msのDelay 50%でError 100%でError
Lambda対応 ここがうれしい ・ソースコードの変更なしで障害試験が可能 ここが面倒 ・Lambda自体に対する変更作業が多い レイヤー・環境変数追加、IAMロールの変更等 AWS Fault Injection Service
トータルで考えると使えそう!
まとめ
・ただでさえ疲労困憊 ホテルはベネチアン近場がおすすめ ・AWS FIS のLambda用アクションは活用できる サービスの信頼性を上げていきましょう! まとめ
-Share your lessons-