このページの本文へ

FIXER cloud.config Tech Blog

わざと障害や遅延を発生させる「Azure Chaos Studio」とは

2021年11月25日 11時00分更新

文● ざぶろー/FIXER

  • この記事をはてなブックマークに追加
  • 本文印刷

 本記事はFIXERが提供する「cloud.config Tech Blog」に掲載された「Azure Chaos Studioのちょっとだけ#Azureリレー」を再編集したものです。

 先日Microsoftから意図的に障害や遅延を発生させることができるAzure Chaos Studioがプレビュー機能として発表されました。システムに何が起こるのかを確認し対応策を検討することが可能です。AWSからは同じような機能としてAWS Fault Injection Simulatorがあります(以下の説明文はMicrosoft公式ページより)。

アプリの回復性を向上させるための実験プラットフォーム

 カオス テストでは、実際の停止をシミュレートした障害を意図的に導入することで、アプリケーションの回復性を向上させることができます。Azure Chaos Studio Previewはフル マネージドのカオス エンジニアリング実験プラットフォームであり、開発の後期から運用まで、発見が困難な問題の検出を加速できます。お客様のアプリを意図的に破壊することで、ギャップを特定し、お客様の顧客が問題の影響を受ける前に緩和策を計画できます。

①リソースの種類とロールの割り当て

 VMやVMSSといった主要キャラはもちろん含まれていますね。

リソースの種類 ターゲット名 割り当てが推奨されるロール
Microsoft.Compute/virtualMachines
(エージェントベース)
 
Microsoft-Agent Reader
Microsoft.Compute/virtualMachineScaleSets
(エージェントベース)
Microsoft-Agent Reader
Microsoft.Compute/virtualMachines
(サービス直接)
Microsoft-VirtualMachine Virtual Machine Contributor
Microsoft.Compute/virtualMachineScaleSets
(サービス直接)
Microsoft-VirtualMachineScaleSet Virtual Machine Contributor
Microsoft.DocumentDb/databaseAccounts
(CosmosDB、サービス直接)
Microsoft-CosmosDB Cosmos DBオペレーター
Microsoft.ContainerService/managedClusters
(サービス直接)
Microsoft-AzureKubernetesServiceChaosMesh Azure Kubernetes Serviceクラスター ユーザー ロール
Microsoft.Network/networkSecurityGroups
(サービス直接)
Microsoft-NetworkSecurityGroup Network Contributor
Microsoft.Cache/Redis
(サービス直接)
Microsoft-AzureCacheForRedis Redis Cache Contributor
https://docs.microsoft.com/ja-jp/azure/chaos-studio/chaos-studio-fault-providers


②障害およびアクション ライブラリ

 続いて利用できるアクション ライブラリについてみていきます。適用できるアクションは大きく分けると「障害」と「遅延」の2つで、「遅延」は障害プロバイダーの指定等は特にないようです。「障害」は下記のように26のアクションが用意されており今後も順次追加予定だそうです。

 実際に「障害」のアクション一覧は下記です。

 1. CPU負荷
 2. 物理メモリー負荷
 3. 仮想メモリー負荷
 4. ディスクI/O負荷 (Windows)
 5. ディスクI/O負荷 (Linux)
 6. 任意のstress-ngストレス
 7. Windowsサービスを停止する
 8. 時刻の変更
 9. プロセスを強制終了する
10. DNSエラー
11. ネットワーク待ち時間
12. ネットワーク切断
13. ファイアウォール規則を使用したネットワーク切断
14. ARM仮想マシンのシャットダウン
15. ARM 仮想マシン スケール セット インスタンスのシャットダウン
16. Cosmos DBのフェールオーバー
17. AKS Chaos Meshのネットワーク障害
18. AKS Chaos Meshのポッド障害
19. AKS Chaos Meshのストレス障害
20. AKS Chaos MeshのIO障害
21. AKS Chaos Meshの時刻の障害
22. AKS Chaos Meshのカーネル障害
23. AKS Chaos MeshのHTTP障害
24. AKS Chaos MeshのDNS障害
25. ネットワーク セキュリティー グループ (規則の設定)
26. Azure Cache for Redisの再起動

参考:https://docs.microsoft.com/ja-jp/azure/chaos-studio/chaos-studio-fault-library


③まとめ

 今回はAzure Chaos Studioについてみてきました。うまく利用すればより安全にシステムを運用・管理していけそうです。それでは!

ざぶろー/FIXER

(ほり こうざぶろう)
営業からエンジニアを目指しています!

[転載元]
 Azure Chaos Studioのちょっとだけ#Azureリレー

カテゴリートップへ