type
status
date
slug
summary
tags
category
icon
password
理論
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 です。
解説:
- Lambda関数のコールドスタート問題の解決:
- Webアプリケーションのパフォーマンスを向上させるため、Lambda関数に プロビジョンドコンカレンシー を設定することが最適です。これにより、特定の同時実行数が確保され、コールドスタートを防ぎ、低レイテンシを維持できます。特にトラフィックのピーク時に、Lambda関数が即座に応答できるようになります。
- データベースのスケーラビリティとコスト最適化:
- Amazon Aurora Serverless は、オンデマンドで自動的にスケールし、リクエストに応じて容量を調整します。これにより、通常時のコストを最適化しつつ、ピーク時に必要なスケーラビリティを提供します。Aurora Serverlessは、負荷が低いときにはコストを削減できるため、DBクラスターの使用状況が変動するこのシナリオに適しています。
- 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脆弱性攻撃の保護という要件に最も適しています。
- 作者:みなみ
- 链接:https://tangly1024.com/資格勉強/17dd7ae8-88e2-80be-847e-c962a19457bd
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章