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
AWS Fault Injection Simulator (FIS) のネットワーク接続中断...
Search
Ryuji Yamamoto
November 19, 2022
Technology
0
880
AWS Fault Injection Simulator (FIS) のネットワーク接続中断アクションで リージョン間フェイルオーバーを試してみた
JAWS-UG初心者支部#51 re:invent前に2022年Update振り返り
https://jawsug-bgnr.connpass.com/event/265406/#_=_
Ryuji Yamamoto
November 19, 2022
Tweet
Share
More Decks by Ryuji Yamamoto
See All by Ryuji Yamamoto
AWS WAF BotControlを本番環境に導入してみた
yama1998
0
1.4k
Other Decks in Technology
See All in Technology
生まれ変わった AWS Security Hub (Preview) を紹介 #reInforce_osaka / reInforce New Security Hub
masahirokawahara
0
380
開発生産性を組織全体の「生産性」へ! 部門間連携の壁を越える実践的ステップ
sudo5in5k
1
1.7k
なぜ私はいま、ここにいるのか? #もがく中堅デザイナー #プロダクトデザイナー
bengo4com
0
1.3k
生成AI時代の開発組織・技術・プロセス 〜 ログラスの挑戦と考察 〜
itohiro73
1
390
論文紹介:LLMDet (CVPR2025 Highlight)
tattaka
0
250
B2C&B2B&社内向けサービスを抱える開発組織におけるサービス価値を最大化するイニシアチブ管理
belongadmin
1
1.5k
怖くない!はじめてのClaude Code
shinya337
0
310
Connect 100+を支える技術
kanyamaguc
0
160
「良さそう」と「とても良い」の間には 「良さそうだがホンマか」がたくさんある / 2025.07.01 LLM品質Night
smiyawaki0820
1
450
低レイヤを知りたいPHPerのためのCコンパイラ作成入門 完全版 / Building a C Compiler for PHPers Who Want to Dive into Low-Level Programming - Expanded
tomzoh
4
3.4k
Delegating the chores of authenticating users to Keycloak
ahus1
0
130
Lazy application authentication with Tailscale
bluehatbrit
0
130
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1031
460k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
680
Rails Girls Zürich Keynote
gr2m
94
14k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
107
19k
GraphQLとの向き合い方2022年版
quramy
49
14k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
Embracing the Ebb and Flow
colly
86
4.7k
Designing for humans not robots
tammielis
253
25k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Code Reviewing Like a Champion
maltzj
524
40k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
24k
Side Projects
sachag
455
42k
Transcript
1 AWS Fault Injection Simulator (FIS) のネットワーク接続中断アクションで リージョン間フェイルオーバーを試してみた [JAWS-UG初心者支部#51 re:invent前に2022年Update振り返り]
自己紹介 2 名前: 山本竜司 経歴:新卒でアイレット株式会社に入社 現在3年目 業務:AWSを用いたインフラの構築、運用保守
3 アジェンダ • AWS Fault Injection Simulator (FIS) とは •
構成図 • FISを実行する手順 • 検証 • 触ってみた感想
AWS Fault Injection Simulator (FIS) とは 4
AWS Fault Injection Simulator (FIS) とは 5 • AWS環境に擬似攻撃、擬似障害を起こす事ができるサービス 意図的に負荷や障害を発生させて、アプリケーションのパフォーマンス、回復性、
およびオブザーバビリティを観察し、取得したデータを基に改善させる事が可能 同様のサービスだとChaos Monkey, Gremlin 等
AWS Fault Injection Simulator (FIS) とは 6 https://aws.amazon.com/jp/about-aws/whats-new/2022/10/aws-fault-injection-simulator-network-connectivity-disruption/
AWS Fault Injection Simulator (FIS) とは 7 簡易的なDRを試してみよう!
構成図 8
構成図 9
構成図 10
FISを実行する手順 11
FISを実行する手順 12 ① 実験テンプレートの作成 発生させたいアクションやターゲットを設定する ② 実験の開始 作成した実験テンプレートに沿った実験が開始される
① 実験テンプレートの作成 13
① 実験テンプレートの作成 14 ターゲット設定 リソースタイプ どのリソースをターゲットにするか リソースID 対象のリソースをIDで指定
① 実験テンプレートの作成 15 アクション設定 発生させたい障害や異常を選択する
16 ① 実験テンプレートの作成 • 障害注入アクション APIスロットルエラー API内部エラー API使用不可エラー • リソースに対するアクション
EC2 再起動、停止、終了 RDS 再起動、フェイルオーバー ECS のコンテナインスタンスのドレイニング ECS のタスクストップ EKS の単一のターゲットクラスターでのリトマスの実験 EKS のノードグループインスタンスの削除 EC2にCPU負荷を与える(SSMと組み合わせる) アクション設定
① 実験テンプレートの作成 17 アクション設定 • スコープ設定 どこのトラフィック間で異常を発生させるか 今回はRoute53のフェイルオーバールーティングを 発生させたいので「ALL」を選択 ALL
全てのトラフィック Availability-zone AZ間のトラフィック S3,DynamoDB サービス間のトラフィック
① 実験テンプレートの作成 18 IAMロール設定 IAMロールの作成が必要 実施するアクションによって必要な権限が変わる どの権限が必要かはドキュメントに記載されている > Action set
for AWS FIS https://docs.aws.amazon.com/fis/latest/userguide/action-sequence.html
① 実験テンプレートの作成 19 停止条件 事前に設定したAmazon CloudWatchアラームにより、 サービスが異常状態になった場合などに自動的に実験を停止で きる 実験中に想定外の問題が発生した際に、ユーザーへの影響を 最低限に抑える事が可能
① 実験テンプレートの作成 20 テンプレート完成!🎉
検証 21
22 検証
1-2分ほど待ってみると… 23
検証 24 ① 対象のサイトにアクセス出来なくなった事を確認
検証 25 ② Route53のヘルスチェックが東京リージョン側で失敗している事を確認
DNSの反映待ち… 26
検証 27 ③ DNSの向先が大阪リージョンに変わった事を確認 検証前 (東京リージョン側) 検証後 (大阪リージョン側)
検証 28
検証 29 (余談) EC2のステータスチェックは失敗しなかった AWSのシステム側の通信には影響を与えない?🤔
触ってみた感想 30
触ってみた感想 31 • 複雑な設定は要らず動かせた ◦ 模擬障害を発生させるとなると複雑な設定やエージェントが必要そうなイメージがあった • DRテストもFISを利用すれば試しやすい ◦ 今回の検証では簡素なDR構成だったが、本番稼働する環境でもDRのテストを実施できそう