AWSやAzureなどのクラウドインフラ構築後にインフラがどのような観点でテストが行われるのか整理しました。
1. 基本的な構成確認(Connectivity & Configuration)
- ネットワーク
- VPC / VNet のサブネット分割が意図通りになっているか
- Public / Private サブネットのルーティングやNAT構成が正しいか
- Security Group / NSG / Firewall のルールが想定通り(最小権限)になっているか
- Private Link / Peering / VPN / ExpressRoute の接続確認
- DNS解決・名前解決が期待通りにできるか
- OSやミドルウェアのバージョンが要件通りか
2. セキュリティ(Security & Compliance)
- IAM / RBAC の権限が「最小権限の原則」に従っているか
- マネージドID / Service Principal が正しく設定されているか
- 秘密情報(APIキー、接続文字列など)が環境変数やVaultに安全に格納されているか
- インバウンド / アウトバウンド通信が不要に開放されていないか
- データストレージ(S3, Blob Storage, DBなど)が Publicに公開されていないことを確認
- 暗号化が有効化されているか(At Rest / In Transit)
3. 可用性・冗長性(Availability & Reliability)
- Multi-AZ / Multi-Region 構成が有効になっているか
- Auto Scaling / VMSS / Kubernetes のスケーリング動作が正常か
- 障害時にフェイルオーバーが期待通りに機能するか
- ヘルスチェック(LB, App Gateway, ALB/NLB)の動作確認
4. パフォーマンス(Performance)
- ネットワークレイテンシーやスループットが要件を満たすか
- ストレージIOPSやスループットが性能要件を満たすか
- 負荷試験ツール(Locust, JMeter, k6など)を用いて負荷に耐えられるか
5. 運用・監視(Operations & Monitoring)
- ログ収集(CloudWatch, Azure Monitor, Log Analytics)が正しく設定されているか
- メトリクス(CPU, メモリ, Disk, Network)が監視されているか
- アラートルールが正しく設定され、閾値で通知が来るか
- バックアップ / スナップショットがスケジュール通りに動作しているか
- IaC(Terraform, Bicep, CloudFormation)で再現性が担保されているか
6. コスト(Cost Management)
- 不要なリソース(未使用IP、EBS、Managed Diskなど)が残っていないか
- スケーリングがコスト効率的に動いているか
- Reserved / Savings Plan が適切に適用されているか
7. テストの方法(How to Test)
- 自動テスト
- Terratest(Go製のIaCテスト)
- Inspec(Chefのテストフレームワーク)
- Prowler / ScoutSuite(セキュリティベストプラクティス検証)
- 手動確認
- curl や ping で疎通確認
- Cloud Portalでのルール確認
- 実際にフェイルオーバー操作を行う
- 継続的確認
- CI/CD パイプラインで IaC を適用したあと自動テスト
- 定期的にセキュリティスキャンを回す
まとめ
クラウドインフラのテストはネットワーク・セキュリティ・可用性・パフォーマンス・運用・コスト の6観点で行う。「安全で壊れにくく、運用しやすい構成か」 に重点がある。