$30 off During Our Annual Pro Sale. View Details »
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
910
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
[デモです] NotebookLM で作ったスライドの例
kongmingstrap
0
100
バグハンター視点によるサプライチェーンの脆弱性
scgajge12
3
1k
Haskell を武器にして挑む競技プログラミング ─ 操作的思考から意味モデル思考へ
naoya
4
820
会社紹介資料 / Sansan Company Profile
sansan33
PRO
11
390k
意外とあった SQL Server 関連アップデート + Database Savings Plans
stknohg
PRO
0
290
[CMU-DB-2025FALL] Apache Fluss - A Streaming Storage for Real-Time Lakehouse
jark
0
110
AI時代におけるアジャイル開発について
polyscape_inc
0
130
AIと二人三脚で育てた、個人開発アプリグロース術
zozotech
PRO
0
690
Edge AI Performance on Zephyr Pico vs. Pico 2
iotengineer22
0
110
生成AIでテスト設計はどこまでできる? 「テスト粒度」を操るテーラリング術
shota_kusaba
0
530
生成AI・AIエージェント時代、データサイエンティストは何をする人なのか?そして、今学生であるあなたは何を学ぶべきか?
kuri8ive
2
2.1k
チーリンについて
hirotomotaguchi
3
970
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
The Pragmatic Product Professional
lauravandoore
37
7.1k
A Modern Web Designer's Workflow
chriscoyier
698
190k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Automating Front-end Workflow
addyosmani
1371
200k
Navigating Team Friction
lara
191
16k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
121
20k
Scaling GitHub
holman
464
140k
What's in a price? How to price your products and services
michaelherold
246
12k
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のテストを実施できそう