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
900
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.5k
Other Decks in Technology
See All in Technology
OSSで50の競合と戦うためにやったこと
yamadashy
3
1k
AI機能プロジェクト炎上の 3つのしくじりと学び
nakawai
0
130
20251027_findyさん_音声エージェントLT
almondo_event
2
480
パフォーマンスチューニングのために普段からできること/Performance Tuning: Daily Practices
fujiwara3
2
140
コンパウンド組織のCRE #cre_meetup
layerx
PRO
1
280
20251024_TROCCO/COMETAアップデート紹介といくつかデモもやります!_#p_UG 東京:データ活用が進む組織の作り方
soysoysoyb
0
120
SOTA競争から人間を超える画像認識へ
shinya7y
0
600
「タコピーの原罪」から学ぶ間違った”支援” / the bad support of Takopii
piyonakajima
0
150
Open Table Format (OTF) が必要になった背景とその機能 (2025.10.28)
simosako
2
390
アノテーション作業書作成のGood Practice
cierpa0905
PRO
0
130
serverless team topology
_kensh
3
240
QA業務を変える(!?)AIを併用した不具合分析の実践
ma2ri
0
160
Featured
See All Featured
RailsConf 2023
tenderlove
30
1.3k
Testing 201, or: Great Expectations
jmmastey
45
7.7k
Writing Fast Ruby
sferik
630
62k
Gamification - CAS2011
davidbonilla
81
5.5k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
54k
How STYLIGHT went responsive
nonsquared
100
5.9k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
Building Applications with DynamoDB
mza
96
6.7k
Designing for Performance
lara
610
69k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
640
Keith and Marios Guide to Fast Websites
keithpitt
411
23k
Build your cross-platform service in a week with App Engine
jlugia
233
18k
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のテストを実施できそう