AWS 入門ブログリレー2024 番外編 〜AWS Shield〜
こんにちは、クラウド事業本部 コンサルティング部の荒平(@eiraces)です。
当エントリは弊社 クラウド事業本部による 『AWS 入門ブログリレー 2024』の 番外編エントリ です。
2024年のゴールデンウィーク前後に弊社の執筆陣によりブログリレーを行い終了したものですが、まとめたいサービスが出てきたので2025年の今、番外編として投稿いたします。
このブログリレーの企画は、普段 AWS サービスについて最新のネタ・深い/細かいテーマを主に書き連ねてきたメンバーの手によって、 今一度初心に返って、基本的な部分を見つめ直してみよう、解説してみようというコンセプトが含まれています。
AWS をこれから学ぼう!という方にとっては文字通りの入門記事として、またすでに AWS を活用されている方にとっても AWS サービスの再発見や 近年のサービスアップデートのキャッチアップの場となればと考えておりますので、ぜひ最後までお付合い頂ければ幸いです。
では、さっそくいってみましょう。今回のテーマは『AWS Shield』です。
AWS Shieldとは
一言で表すと、「分散型サービス拒否攻撃(DDoS)からAWSのリソースをマネージドで保護してくれるサービス」です。インフラへの攻撃を自動で検出して緩和してくれる、なんとも心強い味方です。
AWS Shield は Standard, Advanced の2種類が提供され、すべてのユーザーは無償で Standard を自動的に利用できるようになっています。
Starndardはレイヤー3, 4を防御、Advancedはレイヤー3, 4, 7を防御することができます。標的のネットワークやリソース容量を飽和させたり、プロトコルを悪用してセッション枯渇を狙ったり、アプリケーションへのクエリを大量送信するなどの攻撃からAWSリソースが保護されるように設計されています。
基本的な機能は AWS Shield Standard に備わっているものの、サービスの性質上ユーザーの目に触れやすいなど、DDoSの被害に遭う可能性が高いサービスは AWS Shield Advanced を検討することをオススメします。
Advanced 加入者は Shield Response Team (SRT) と呼ばれる専門的なサポートチームと直接やり取りすることができ、AWS WAFのログ解析やACL変更、攻撃緩和のための提案などを行ってくれます。
ワークロードの重要性・規模によって AWS Shield Standard にするか、Advanced にするか決定すると良いと思います。
AWS Shield Standard, Advancedの機能
前述の通り、AWS Shield Standard と Advanced はいくつか機能差異があるので、表でまとめてみました。
特筆したいポイントを黄色に塗ってあります。
料金
料金について、AWS Shield Standard は無料です。AWS Shield Advanced のサブスクリプションには $3,000 と、データ転送(OUT)の追加利用料金が掛かります。執筆時点では以下のDTO料金が発生します。
Amazon CloudFront | Elastic Load Balancing (ELB) | AWS Elastic IP (EC2 および Network Load Balancer) | AWS Global Accelerator | Amazon Route 53 | |
---|---|---|---|---|---|
最初の 100 TB | USD 0.025 | USD 0.05 | USD 0.05 | USD 0.025 | 追加料金なし |
次の 400 TB | USD 0.02 | USD 0.04 | USD 0.04 | USD 0.02 | 追加料金なし |
次の 500 TB | USD 0.015 | USD 0.03 | USD 0.03 | USD 0.015 | 追加料金なし |
次の 4 PB | USD 0.01 | お問い合わせ | お問い合わせ | USD 0.01 | 追加料金なし |
5 PB 超 | お問い合わせ | お問い合わせ | お問い合わせ | お問い合わせ | 追加料金なし |
AWS Shield Advanced は年間契約で、次回更新前の5日〜30日の間にのみキャンセルすることが可能です。メンバーアカウントが複数存在していても、サブスクリプション料金は1組織(Organizations)に対して1つにまとめることが可能です。
L7保護について
AWS Shield Advanced はレイヤー7 (アプリケーション層)での保護が可能です。AWS WAFと連携して、ALBまたはCloudFrontにWeb ACLを関連付けることで、AWS Shield Advancedの保護を適用することができます。
なお、AWS Shield Standard のみではL7保護ができませんが、後述のAWS Managed Rule (AMR)を利用すれば保護することが可能です。
自動緩和機能
AWS Shield Advanced の自動緩和機能はAWS WAFのマネージドルール(ShieldMitigationRuleGroup)として提供され、例えばDDoS攻撃の送信元として既に知られているIPアドレスからのアクセス量を制限することができます。
この自動緩和に関しても、SRTサポートに依頼すれば適切なルールを提案してもらうことが可能です。ただしサポートのレベルがビジネス、またはエンタープライズである必要があります。
攻撃を受けた場合の対応
AWS Shield Advanced による保護の適用中にDDoS攻撃の被害に遭った場合、使用率の増加によって増えてしまったAWS利用料金をクレジットとして受け取れる場合があります。
これはいくつか条件があり、
- 攻撃が発生した請求月直後の15日以内
- サポートリクエストに
DDoS Concession
という単語が入っている - CloudFront, ALBの場合はレートベースかつブロックモードのWeb ACLが適用されている
- 保護されたリソースがDDoS攻撃を吸収できるサイズだったか
という条件を全て満たすがあります。SRTサポートが申請は適切か検証を行い、クレジットが払い出されるか決定されます。
脅威ダッシュボード
直近2週間で全世界のAWS環境が受けた攻撃を可視化するダッシュボードが確認できます。このダッシュボードは1時間に1回更新され、グローバルで観測された攻撃が多くなってくると "Threat level"が High
になります。
上記はAWS Shield Standardでも確認できますが、Advanced 契約者には自身のアカウントに対して発生した攻撃が確認できるダッシュボード、およびイベント一覧が提供されます。レポーティングにも使えて便利です。
有効化方法
AWS Shield Standard は全ユーザー有効化されている(サービスに組み込まれている)ため割愛しますが、Shield Advanced はサブスクライブすることで利用できます。
- サブスクリプション料金は月3000ドル
- 保護リソースに対するデータ転送(OUT)が発生
- 12ヶ月のコミットに同意
- サブスクリプションは12ヶ月後に自動更新されますが、更新日の30日前までに解除が可能
の4項目にチェックを入れてサブスクライブすることで利用が可能です。私個人の検証環境には高いので今回は有効化していません。
(余談)
コンソールと料金ページで若干記載が違っています…。要確認ですが、30日前までは自らキャンセルが可能で、5日前までならサポート経由でのキャンセルが可能ということでしょうか。
コンソールの表記:
Auto renewal: Subscription will be auto-renewed after 12 months. However,
I can opt out of renewal 30 days prior to the renewal date.
(自動更新:サブスクリプションは12か月後に自動更新されます。
ただし、更新日の30日前までに更新を解除することができます。)
AWSの料金ページ: https://aws.amazon.com/shield/pricing/
At any time within 30 days prior and 5 days prior to your renewal date,
you may contact us at the AWS Support Center to cancel your upcoming subscription renewal.
(更新日の30日前から5日前までの期間中、いつでもAWSサポートセンターまでご連絡いただければ、
次回のサブスクリプション更新をキャンセルできます。)
なお、SRTサポートとのやり取りはAWSサポートの画面から行います。
DDoS Protection AMRと比較して
2025年6月に発表されたアップデートでは、AWS WAFのAWSマネージドルール(AMR)としてDDoS対策ができるようになりました。
これを使えばお手軽にDDoS対策が可能ですが、アプリケーション層(L7)用と割り切って利用する必要があります。
雑な計算ですが、組織でのアクセス数から比較検討すると良さそうです。(※L7保護にのみ絞った比較)
リクエスト数/月 | DDoS Protection AMR | Shield Advanced |
---|---|---|
10億 | $170 | $3,000 |
50億 | $770 | $3,000 |
100億 | $1,520 | $3,750 |
200億 | $3,020 | $5,250 |
300億 | $4,520 | $6,750 |
500億 | $7,520 | $9,750 |
※ DDoS Protection AMR: 20ドル/月 + 0.15ドル/100万リクエスト
※ AWS Shield Advanced: 3000ドル/月 + 0.15ドル/100万リクエスト(最初の50億は無料)
※ 実際はShield AdvancedにはDTO料金が追加され、AMRは組織内ルールの数×20ドルが追加される
線が交わることはないのですが、AWS Shield Advanced は組織内をまるごと保護できる点、最初の50億リクエストが無料、SRTサポートや自動緩和機能が使えるという点で十分採用できる理由になりそうです。
おわりに
AWS Shield って何をしてくれるんだっけ??となったので、振り返りつつまとめてみました。
Advanced は月額で $3,000 掛かるだけあって、かなり手厚いサポートが期待できそうです。Internet-FacingでDDoSの対象になる可能性のある、あるいはすでに被害を受けたことがある企業は積極的に導入したいですね。
このエントリが誰かの助けになれば幸いです。
それでは、クラウド事業本部 コンサルティング部の荒平がお送りしました!
参考