500-AWS SAP AWS 「理論・実践・一問道場」WAF

 

理論

1. Lambda関数のスケーリングとコールドスタート問題

  • プロビジョンドコンカレンシー: Lambda関数はサーバーレスでスケーラブルですが、トラフィックが急増すると「コールドスタート」が発生し、レイテンシが増加します。プロビジョンドコンカレンシーを使用すると、指定した数のインスタンスが常に保持され、コールドスタートを防げます。

2. データベースのスケーラビリティとコスト最適化

  • Amazon Aurora Serverless: サーバーレスアーキテクチャで、トラフィックの需要に応じて自動的にスケーリングし、アイドル状態時にコストを削減します。これにより、負荷が少ない時期でも効率的にコストを抑えつつ、ピーク時にはスケールアップできます。
  • RDS予約インスタンス: RDSインスタンスの長期的な利用が予測される場合、予約インスタンスを使うと割引が適用され、コスト削減できますが、サーバーレスアーキテクチャほどの柔軟性はありません。

3. セキュリティ対策

  • AWS WAF (Web Application Firewall): SQLインジェクションやクロスサイトスクリプティング(XSS)など、アプリケーション層の脅威に対する保護を提供します。WAFは、悪意のあるリクエストを検出し、ブロックすることができます。
  • AWS Shield Advanced: 主にDDoS攻撃に対する保護を提供します。これを使うことで、トラフィックの急増に伴うサービスの中断を防ぐことができますが、SQLインジェクションやXSS攻撃のようなWeb層の脅威にはWAFが必要です。

4. コンテンツ配信とキャッシュ

  • Amazon CloudFront: 静的コンテンツの配信を高速化し、グローバルに分散したユーザーへ低レイテンシでコンテンツを提供します。また、CloudFrontはWAFと統合でき、セキュリティ強化にも寄与します。

5. SQLインジェクション対策

  • SQLインジェクション攻撃は、ユーザー入力を適切に処理しないアプリケーションに対する一般的な脅威です。これを防ぐためには、ユーザー入力の検証やパラメータ化されたクエリを使用し、データベースアクセスを制限することが重要です。
これらの知識は、AWS上でスケーラブルでセキュアなアプリケーションを構築するために役立ちます。

実践

一問道場

質問 #500
ある企業は、AWS上でeコマースのWebアプリケーションを運営しています。Webアプリケーションは、Amazon S3にホストされている静的ウェブサイトで、コンテンツ配信にはAmazon CloudFrontを使用しています。Amazon API Gateway APIは、ユーザーリクエストや注文処理のためにAWS Lambda関数を呼び出します。Lambda関数は、Amazon RDS for MySQL DBクラスターにデータを保存します。このDBクラスターはオンデマンドインスタンスを使用しています。過去12ヶ月間、DBクラスターの使用状況は安定していましたが、最近、WebサイトでSQLインジェクションやWebの脆弱性攻撃が試みられています。顧客からは、ピーク使用時に注文処理時間が遅くなったとの報告があります。この期間、Lambda関数はしばしばコールドスタートをしています。会社の成長に伴い、トラフィックのピーク時にスケーラビリティと低レイテンシのアクセスを確保する必要があります。また、データベースコストを最適化し、SQLインジェクションやWebの脆弱性攻撃に対する保護を追加する必要があります。
この要件を満たすソリューションはどれですか?
A. Lambda関数のタイムアウト値をピーク時に増加させます。データベースにはRDS予約インスタンスを使用します。CloudFrontを使用し、AWS Shield Advancedを購読して、SQLインジェクションやWeb脆弱性攻撃から保護します。
B. Lambda関数のメモリを増加させます。データベースにはAmazon Redshiftに移行します。CloudFrontとAmazon Inspectorを統合して、SQLインジェクションやWeb脆弱性攻撃から保護します。
C. ピーク時にコンピューティングのためにLambda関数にプロビジョンドコンカレンシーを使用します。データベースにはAmazon Aurora Serverlessに移行します。CloudFrontを使用し、AWS Shield Advancedを購読して、SQLインジェクションやWeb脆弱性攻撃から保護します。
D. ピーク時にコンピューティングのためにLambda関数にプロビジョンドコンカレンシーを使用します。データベースにはRDS予約インスタンスを使用します。CloudFrontとAWS WAFを統合して、SQLインジェクションやWeb脆弱性攻撃から保護します。

解説

このシナリオに対する最適な解決策は C です。

解説:

  1. Lambda関数のコールドスタート問題の解決:
      • Webアプリケーションのパフォーマンスを向上させるため、Lambda関数に プロビジョンドコンカレンシー を設定することが最適です。これにより、特定の同時実行数が確保され、コールドスタートを防ぎ、低レイテンシを維持できます。特にトラフィックのピーク時に、Lambda関数が即座に応答できるようになります。
  1. データベースのスケーラビリティとコスト最適化:
      • Amazon Aurora Serverless は、オンデマンドで自動的にスケールし、リクエストに応じて容量を調整します。これにより、通常時のコストを最適化しつつ、ピーク時に必要なスケーラビリティを提供します。Aurora Serverlessは、負荷が低いときにはコストを削減できるため、DBクラスターの使用状況が変動するこのシナリオに適しています。
  1. SQLインジェクションやWeb脆弱性攻撃からの保護:
      • AWS Shield Advanced は、DDoS攻撃からの保護を提供しますが、SQLインジェクションやWebの脆弱性攻撃を防ぐためには Web Application Firewall (WAF) を使用することが一般的です。CloudFrontと統合して、悪意のあるリクエストをブロックできます。Shield AdvancedはDDoS対策として引き続き重要ですが、WAFはSQLインジェクションやXSS攻撃など、アプリケーション層の脅威に対する強力な保護を提供します。

他の選択肢について:

  • A: RDS予約インスタンスはコスト最適化に貢献するかもしれませんが、スケーラビリティの向上やコールドスタートの問題を解決するには不十分です。また、SQLインジェクションやWeb脆弱性攻撃の保護にはAWS WAFやAmazon Shield Advancedの方が適切です。
  • B: Amazon Redshiftはデータウェアハウスサービスであり、トランザクション向けのデータベースとしては不適切です。これにより、パフォーマンスとコストの面で問題が発生する可能性があります。
  • D: RDS予約インスタンスはコスト最適化に役立ちますが、Aurora Serverlessのような柔軟なスケーリングを提供しないため、スケーラビリティの要件に合致しません。また、WAFの使用は適切ですが、Aurora Serverlessの方がパフォーマンスとコスト効率に優れています。

結論:

Cの選択肢が、スケーラビリティの最適化、パフォーマンスの向上、コストの最適化、そしてSQLインジェクションやWeb脆弱性攻撃の保護という要件に最も適しています。
502-AWS SAP AWS 「理論・実践・一問道場」AWS SCT499-AWS SAP AWS 「理論・実践・一問道場」Amazon S3
Loading...
minami
minami
みなみの成長 🐝
Announcement

🎉 ブログへようこそ 🎉

名前: みなみ一人会社
性別:
国籍: China 🇨🇳
政治スタンス: 民主主義支持者
完全独学で基本情報技術者をはじめ、32個の資格を仕事をしながら取得。
現在はIT会社で技術担当として働きながら、ブログ執筆や学習支援にも取り組んでいます。
独学で合格できる学習法や勉強法、試験対策を発信中!

📚 発信内容

  • 💻 IT・システム開発
  • 🏠 不動産 × 宅建士
  • 🎓 MBA 学習記録