【SAP-C02】パフォーマンス最適化とスケーラビリティ設計|キャッシュと非同期処理の活用
SAP-C02では大規模かつ複雑な要件に対し、パフォーマンスとスケーラビリティを両立する設計が問われます。「①キャッシュ」「②非同期処理」「③DBスケーリング」の3つの武器で整理しましょう。
①キャッシュ層の活用
- ElastiCache(RedisまたはMemcached):使いどころはデータベースへの読み取り負荷が高く、同じクエリ結果を繰り返し使う場合。レイテンシーを大幅に削減できる。
- CloudFront:エッジキャッシュ。使いどころは静的コンテンツだけでなく、動的コンテンツの一部(APIレスポンスの一部など)もキャッシュしたい場合。
②非同期処理によるデカップリング
- SQS:使いどころは「急激なトラフィック増加をバッファリングして下流の負荷を平準化したい」場面。コンポーネント間を疎結合にする。
- EventBridge/SNS:使いどころは複数のサブスクライバーに同時通知したい、イベント駆動でスケーラブルな疎結合システムを組みたい場面。
③データベースのスケーリング戦略
何をするか:負荷特性に応じてスケール方式を選ぶ。使いどころは読み取りが多いワークロードならリードレプリカでRead負荷を分散、書き込みが多い場合はシャーディングやDynamoDBのようなNoSQLへの移行を検討する。
| 課題キーワード | 対策 |
|---|---|
| 読み取りレイテンシーが高い | ElastiCacheでキャッシュ層追加 |
| 急激なスパイク・疎結合にしたい | SQS/EventBridgeで非同期化 |
| 読み取り負荷が高いDB | リードレプリカ追加 |
| 書き込みが膨大・スキーマが柔軟 | DynamoDBなどNoSQLへ移行 |
試験ポイント 「急激なスパイクに耐える」「疎結合」といったキーワードにはキュー・イベント駆動の非同期構成、「読み取りレイテンシー削減」にはキャッシュ層の追加が定石です。
チェックリスト
- 読み取り負荷が高い箇所にキャッシュ層(ElastiCache/CloudFront)を検討したか
- 急激なトラフィック増加に備えSQS等でバッファリングする設計になっているか
- 疎結合を実現するイベント駆動構成(EventBridge/SNS)を検討したか
- 読み取りと書き込みで異なるDBスケーリング戦略を選べているか
- NoSQLへの移行が適切なケースを見極められるか
まとめ
大規模システムでは同期処理をいかに減らすかが鍵になります。クイズで理解を確認し、最新の試験範囲はAWS認定 公式ページをご確認ください。
SAP(ソリューションアーキテクト プロフェッショナル) におすすめの教材
書籍
AWS認定資格試験テキスト&問題集 ソリューションアーキテクト − プロフェッショナル 改訂第2版
テキスト&問題集
AWS教科書 ソリューションアーキテクトプロフェッショナル テキスト&問題集[SAP-C02]
Udemy・講座
AWS認定SAP(SAP-C02)対策トレーニング
Udemy・模試
AWS認定SAP 本番模試(6回分/450問)
本セクションにはAmazonアソシエイト・Udemyアフィリエイトのリンクが含まれます。