AWS Solution Architect Associate 試験対策 ch3
- AWSにおけるパフォーマンスの考え方
- ネットワークサービスにおけるパフォーマンス
- コンピューティングサーピスにおけるパフォーマンス
- ストレージサービスにおけるパフォーマンス
- データベースサービスにおけるパフォーマンス
awsにおけるパフォーマンス
AWSにおけるパフォーマンスの考え方
費用対効果の優れたシステムの構築
AWSにおけるパフォーマンス効率の設計原則
- 最新技術の導入
- クラウドベンダーにおまかせ
- スキル不足で諦めない
- グローバルな環境
- 世界中のリージョンにシステム構築可能
- サーバーレスアーキテクチャの使用
- 静的コンテンツの配信はストレージサービスだけで可能
- 比較テストの実施
- 異なるタイプのインスタンスやストレージ等への変更容易
- パフォーマンスの比較容易
- 適切な技術の利用
- 要件に合った最適な技術を使用する
ネットワークサービスにおけるパフォーマンス
ネットワークにおけるパフォーマンスの考え方
- ユーザーとサービス動作場所とが地理的に離れていると大きなレイテンシーが発生
- グローバルな環境ゆえの問題
CloudFront
- 接続ポイントは2つ
- キャッシュが2段になってる感じ
- システム構成図を書くときは省略されること多し
接続ポイント | 説明 |
---|---|
エッジロケーション | |
リージョン別エッジキャッシュ | エッジロケーションよりも大容量のデータをキャッシュ可能 |
- CloudFrontのユースケース
- 静的コンテンツ
CloudFront -> S3
- 動的コンテンツ
CloudFront -> ELB -> EC2
- 静的コンテンツ
Route 53
プレイスメントグループ
- クラスターコンピューティング等で使うやつ
- AZ内のEC2インスタンスを論理的にグルーピングする
- 異なるAZでは不可
- 異なるリージョンでも当然不可
- 可用性重視構成
- 異なるAZにEC2配置、高速通信
- パフォーマンス重視構成
- 同一のAZにEC2配置、プレイスメントグループ化してさらなる高速通信
コンピューティングサーピスにおけるパフォーマンス
適切なインスタンスタイプを選ぶ
EBS最適化インスタンス
- EBS使用時のパフォーマンスに影響を及ぼす因子
- EBS最適化
Auto Scalingによる最適化の実現
- 従来: サーバーは固定台数で運用したいもの
- 毎日は使わないのに起動しっぱなし
- 月末にしか負荷が集中しないのにピーク時でも余裕のあるリソースで常時稼働
- クラウド: オンデマンド
- 従量課金
- オンデマンドでリソース利用するためには
- CloudWatch
- しきい値を超えたらアラート
- Auto Scaling
- アラートをトリガーにスケールアウト・スケールイン
- CloudWatch
Lambdaのレイテンシー対策
- レイテンシ
- ホットスタンバイで回避可能
- SQS等利用して
ストレージサービスにおけるパフォーマンス
S3
- S3の原理に基づいてパフォーマンスチューニング
- S3はオブジェクトストレージ
- オブジェクトを格納すると、オブジェクトキー名のインデックスが管理される
- オブジェクトキーはインデックス内の複数のパーティションに格納される
- 格納先はキー名依存
- ファイル名の先頭文字列が同じファイルが大量に存在すると、同じパーティションへのI/Oが集中してしまう
- キーにランダムなプレフィックスを付与して回避可能
EBS
- 紛らわしいやつ
- スループット: 時間あたり容量
- 巨大ファイル扱うならこれが高いと有利
- IOPS: 時間あたりI/O回数
- 4KB以下の小さなファイルを大量に扱うならこれが高いと有利
- スループット: 時間あたり容量
- 総じてHDDのほうがSSDよりも低コスト
- おのおの、IOPSが低いほうが低コスト
- ボリュームタイプ5種類
- PIOPS: Provisioned IPOS
汎用SSD | PIOPS SSD | スループット最適化HDD | コールドHDD | マグネティック | |
---|---|---|---|---|---|
記号 | gp2 | io1 | st1 | sc1 | |
分類 | SSD | SSD | HDD | HDD | HDD |
サイズ | 1~16TB | 4~16TB | 500GB~16TB | 500GB~16TB | 1~1TB |
IOPS | 100~10,000 | ~64,000 | ~500 | ~250 | avg 100 |
最大スループット (MiB/s) |
160 | 500 | 500 | 250 | 40-90 |
ユースケース | DBとか | ビッグデータ、 DWH、ログ処理 |
低頻度アクセス | 低頻度アクセス (旧世代) |
データベースサービスにおけるパフォーマンス
- ユースケースに応じて適切なサービス選べ
RDS
DynamoDB
Redshift
- PB単位のデータを標準SQLで分析可能
- 特徴
- 列指向
- 行指向の問題
- レコードが増えるとレスポンス遅くなる
- ビッグデータの集計・分析で使えない
- これを解決
- ある列に格納された値をすべて集計する、といった処理に強い
- 行指向の問題
- 列指向
- ユースケース
- 大量データの保持(PB単位)
- DWH
- BIツール
ElastiCache
Memcached vs Redis
Memcached | Redis | |
---|---|---|
データ構造の複雑性 | シンプル(文字列、オブジェクト等) | 複雑(hash, list等) |
レプリケーション | なし | あり |
フェイルオーバー | なし | あり |
永続性 | なし。 DB別途必要 |
あり。 データストアとしても利用可能 |
その他もろもろ