【aws INNOVATE】AWS認定 試験対策 セッション2
セッション
aws INNOVATE
「パフォーマンスに優れたアーキテクチャを定義する」
各セッション情報はこちら
概要
高パフォーマンスなアーキテクチャの設計
- 高パフォーマンスなストレージおよびデータベースを選択する
- パフォーマンス向上のためキャッシュを使用する
- 伸縮性とスケーラビリティに優れたソリューションを設計する
ポイント
高パフォーマンスなストレージおよびデータベースを選択する
【ストレージ】
特徴 | SSD 汎用 | SSD プロビジョンドIOPS | HDD スループット最適化 | HDD コールド |
---|---|---|---|---|
最大サイズ | 同じ | 同じ | 同じ | 同じ |
最大IOPS | 2 | 1 | 3 | 4 |
最大スループット | 4 | 1 | 2 | 3 |
高コスト | 2 | 1 | 3 | 4 |
S3バケット
- 高いスケーラビリティを持つため配信パフォーマンスを気にしなくて良い
S3料金設定
- 保存しているデータサイズ
- データアクセス数
- リージョン外へのデータ転送数
ライフサイクルポリシー
- S3データのライフサイクルを自動化することができる
- データが格納されてから経過した時間によっていストレージタイプを変更できる
- アクセス頻度が低下したデータのコストを下げることができる
IOPS…秒間IO操作総数
スループット…秒間IOデータ量
【データベース】
RDSを使用する
- 複雑なトランザクションやクエリ
- 単一ノード
- 高耐久性
RDSを使用しない
RDSリードレプリカ
DynamoDB
- キャパシティユニットを設定してリソースを自動で割り当てる
- 読み書きでそれぞれキャパシティユニットは設定可能
パフォーマンス向上のためキャッシュを使用する
CloudFront
- グローバルなコンテンツ配信ネットワーク(CDN)
- WebシステムにおけるFront部分のキャッシュ
- 各オリジンへのリクエストの仲介役になる
- キャッシュがある場合はオリジンへのリクエストは行わない
- CFエッジロケーション上にキャッシュが存在しない場合はオリジンにリクエストされる
- オリジンからレスポンスがCFエッジロケーションに転送される(キャッシュされる)
ElastiCache
- システム内部のキャッシュ
- Redisを使うべきユースケースであるかを検討してキャッシュエンジンを選定する
Memcached(キャッシュエンジン) | Redis(キャッシュエンジン) |
---|---|
マルチスレッド | 単一スレッド |
永続性がない | 永続性がある |
文字列キャッシュのみ | 構造化データサポート |
伸縮性とスケーラビリティに優れたソリューションを設計する
垂直スケーリング
- インスタンススペックを変更(CPUやメモリの増設)
- サーバの再起動が必要なケースがある
水平スケーリング
- インスタンス数を変更
- アプリケーションを分散に対応させる必要がある
AutoScaling
CloudWatchメトリクス
- デフォルトメトリクスとカスタムメトリクスの違いを理解すること
- 例: CPU使用率はデフォルトだがメモリ使用率はカスタムである
- デフォルトメトリクスとカスタムメトリクスの違いを理解すること