#EBSとは
###「EC2インスタンスにアタッチして使用するブロックレベルのストレージサービス」
OSやアプリケーション、データの置き場所など様々な用途で利用される
スナップショット機能によるS3へのバックアップや、ディスクの暗号化機能を提供
**99.999%**の可用性を備えるように設計されている
##特徴
・最大容量16TiB
・アベイラビリティゾーン毎に独立しているため、同一AZのインスタンスのみ使用可能
・複数のインスタンスで共有することはできない*
・S3にスナップショットを取得し、任意のAZに復元できる
##EBS最適化インスタンス
・EBVS最適化インスタンスは、独立した帯域を確保しI/O性能の安定化に繋がる
・ネットワークとは別に独立した帯域を持つってこと
##ブロックストレージの種類
① SSD
(1) 汎用SSD(gp2)
・ブートボリューム
・負荷が読めないシステム
・小規模なデータベース
・開発・テスト環境
・仮想デスクトップ
(2) プロビジョンドIOPS(io1)
・リレーショナルデータベース
MySQL,PostgreSQL,Oracle,Microsoft SQL Server
・NoSQL データベース
MongoDB,Cassandra,ElasticSearch
・持続的なIOPSパフォーマンスが必要なアプリケーション
② HDD
(1) スループット最適化HDD(st1)
・ビッグデータ分析
・データウェアハウス
(2) コールドHDD(sc1)
・ログデータ
・アーカイブ
・低頻度アクセスの大量データ
#gp2概要
・デフォルトのボリューム
・100IOPS〜16000IOPS
・スループットは,1IOPS毎に256KB/s
・バーストバケットモデル5400000I/Oクレジットまで蓄積できるバーストバケットがボリュームごとに存在する。
・バケットへの流入量は1GiBあたり3IOPSとなる。これを流出量を下回るとバケットざ残高が増える。
・バケットにクレジットが残っていればIOPSを3000IOPSまで引き上げるバーストが利用できる。
#io1概要
・100〜64000IOPS
・スループットは、32000IOPSで500MB/s、64000IOPSで最大1000MB/s
#st1概要
・シーケンシャルアクセス時に高い性能を発揮。高いスループットを要求するビッグデータ処理に最適
・容量: 500GiB〜16GiB
・IOPS:最大500IOPS
・スループット:容量1TiBあたり40MiB/sがベースラインパフォーマンス
1TiBあたり250MiB/s間で性能を上げることが可能
スループットの上限値500MiB/sとなる
#sc1
・st1と同様だが高性能が不要な場合。ログやバックアップのアーカイブ先として利用可能
・容量:500GiB〜16TiB
・IOPS:最大250IOPS
・スループット:容量1TiBあたり12MiB/sがベースラインパフォーマンス
1TiBあたり80MiB/s間で性能を上げることが可能
スループットの上限値250MiB/sとなる
##st1/sc1のバーストバケットモデル
・ボリューム容量1TiBにつき、1TiB間で蓄積できるバーストバケットが存在する。
・流入量、流出量はボリューム対応によって異なる。
##gc2とio1のIOPSカウント
256KiBまでの連続したアクセスを1IOPSとカウントする。
例)512KiBアクセスを一回行うと、I/O命令を2回発行
##EBSのパフォーマンスを発揮する要素
①EC2インスタンス側のスループットを改善する
インスタンスタイプの場合、EBS最適化を有効にする
EBSのスループットの上限値に達していないか確認、達していればインスタンスタイプ変更でスループット改善
②EBSボリューム側のI/O処理性能を改善する
③EBS側のスループットを改善する
##EBSの監視
・性能→CloudWatch標準メトリクス(Volume Read/Write Bytes, Volume Read/Write Ops,VolumeConsumedReadWriteOps)
・容量→CloudWatchカスタムメトリクス(ディスクの使用量、空き容量)
・バーストクレジット→CloudWatch標準メトリクス(BurstBalance)
間隔はio1は1分間、gp2,st1,sc1は5分間のメトリクスを送信
##Elastic Volume
・EBSボリュームをEC2インスタンスにアタッチ中もサイズやIOPSを変更可能
・サイズ、ボリュームタイプの変更可能
・IOPSの設定は徐々に変更される
・1度変更すると6時間は変更不可
##EBS Snapshot
・定期的にSnapshot作成でバックアップ取得可能
・保存期間は無制限
・リージョン間コピー:コピーを指示しておけば非同期で行われる
・リストア:Snapshotから新規のEBSを作成し、 EC2インスタンスにアタッチされていたものと置き換える
##暗号化
・ボリューム暗号化すると、ボリューム内のデータ、ボリュームとインスタンス間で移動する全てのデータ、Snapshotが全て暗号化される
・EBS作成後に暗号化を実施したい場合はSnapshot経由で暗号化を有効にできる