はじめに
SIer諸氏におかれては、いわゆる総合テストにおいて、
構築したシステムが要件通りの性能が出るかを確認する負荷テスト(性能テスト)を行うことが多いと思う。
AWS上に構築したシステムに対する、
侵入テストは申請が必須と明記されている1が、
負荷テストについては、「あらゆるイベントは事前申請が必要」派と、「不要」派の記事が出てくる。
結局どっちかわからないのでAWSに申請して聞いてみた。
たいていの人向けの結論
実際に申請してみたところ以下の返答をいただいた。(抜粋)
Customers performing benchmark testing or low bandwidth testing
with expected bandwidth of less than 1Gbps and 1Gb PPS do not need to request approval.
ということで、1Gbps、また1Gb PPS以下のリクエストのload or stress testingは、申請不要とのこと。
当然、vulnerability or penetration testingは申請が必須。
※最近気づいたが、EC2 Testing Policyのページが更新されており、上記の数値について明記された。
1Gbps以上の負荷テストをしたい人
あまり無いこととは思うが、1Gbps、また1Gb PPS以上の負荷テストを行いたい人、
侵入テストや脆弱性テストがしたい人は、
以下の制約に留意した上で申請を行う必要があるようだ。
- テスト対象用アカウントとは別に、テスト実行用のアカウントを作成する
- テスト実行用アカウントは、本番用インスタンスを持ってはいけない
- テスト実行用アカウントが、本番用インスタンスを持たない限り、他のテストに流用しても良い
- テスト対象用アカウントは、実行用アカウントと同一の所有者2である必要がある
実際の申請は、aws-security-simulated-event@amazon.comへのメールか、
AWSの侵入テストの申請フォームから申請する。
この際に、アカウントIDやターゲットの情報、なぜテストするのか等、いくつかの情報入力が必要になる。
また、依頼をしてメールの返答があるまで数営業日かかり、
状況次第では、より詳細なテスト方法について問い合わせがある。(ありました)
Please be aware, network stress test requests must be submitted at least two (2) weeks
in advance of your start date. Requests may take up to 5-7 business day for processing.
とある通り、余裕を持った申請が必要になる。
その他
負荷テスト時に、ELB経由で実行する場合は、ELBの暖気申請
CloudFront経由で実行する場合は、CloudFrontの上限緩和やテスト方法
も併せて確認するべき。
侵入テストに関して(追記)
公式ドキュメントの侵入テストに関するページが更新されていることに気づいたので追記する。
以前は、侵入テストに関してはほぼすべて事前に申請が必要だったが、以下に関するものは申請不要となったようだ。
- Amazon EC2 インスタンス、NAT ゲートウェイ、Elastic Load Balancer
- Amazon RDS
- Amazon CloudFront
- Amazon Aurora
- Amazon API Gateway
- AWS Lambda 関数および Lambda Edge 関数
- Amazon Lightsail リソース
- Amazon Elastic Beanstalk 環境
ただし、以下に関する行為は禁止であり、変わらず申請が必要になる。
- Amazon Route 53 ホストゾーン経由の DNS ゾーンウォーキング
- サービス妨害 (DoS)、分散サービス妨害 (DDoS)、シミュレートされた DoS、シミュレートされた DDoS
- ポートフラッディング
- プロトコルフラッディング
- リクエストフラッディング (ログインリクエストフラッディング、API リクエストフラッディング)