Azure Chaos Studioのちょっとだけ#Azureリレー
2021-11-17
先日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 |
②障害およびアクション ライブラリ
続いて利用できるアクション ライブラリについてみていきます。適用できるアクションは大きく分けると「障害」と「遅延」の2つで、「遅延」は障害プロバイダーの指定等は特にないようです。「障害」は下記のように26のアクションが用意されており今後も順次追加予定だそうです。
実際に「障害」のアクション一覧は下記です。
- CPU 負荷
- 物理メモリ負荷
- 仮想メモリ負荷
- ディスク I/O 負荷 (Windows)
- ディスク I/O 負荷 (Linux)
- 任意の stress-ng ストレス
- Windows サービスを停止する
- 時刻の変更
- プロセスを強制終了する
- DNS エラー
- ネットワーク待ち時間
- ネットワーク切断
- ファイアウォール規則を使用したネットワーク切断
- ARM 仮想マシンのシャットダウン
- ARM 仮想マシン スケール セット インスタンスのシャットダウン
- Cosmos DB のフェールオーバー
- AKS Chaos Mesh のネットワーク障害
- AKS Chaos Mesh のポッド障害
- AKS Chaos Mesh のストレス障害
- AKS Chaos Mesh の IO 障害
- AKS Chaos Mesh の時刻の障害
- AKS Chaos Mesh のカーネル障害
- AKS Chaos Mesh の HTTP 障害
- AKS Chaos Mesh の DNS 障害
- ネットワーク セキュリティ グループ (規則の設定)
- Azure Cache for Redis の再起動
参考:https://docs.microsoft.com/ja-jp/azure/chaos-studio/chaos-studio-fault-…
③まとめ
今回はAzureChaosStudioについてみてきました。うまく利用すればより安全にシステムを運用・管理していけそうです。それでは!