AWS ストレージ
Amazon EBS
障害が発生したときにEC2のデータをEBSに保存する。
ブロックストレージとオブジェクトストレージの違い
1GBのファイルの中の一文字のみを変更する場合
- ブロックストレージは文字が含まれている1ブロックのみを変更する。
- オブジェクトストレージはファイル全体の更新が必要
これにより更新に書かる通信速度などを速くすることができます
ストレージボリュームを個別に作成して、EC2にアタッチ出来る
ボリュームはAZ内で自動的にレプリケートされる。
スナップショットを使用して、S3にバックアップすることが可能
用途
- EC2ブートボリュームとストレージ
- ファイルシステム/データ・ストレージ
- データベースのホスト
- エンタープライズアプリケーション
ボリュームタイプ
SSD/HDDの汎用系などがいくつか存在する
ブートボリュームに使えるのはSSDのみ
追加料金なしで暗号化することが出来る
ボリュームはインスタンスから独立して永続的に維持される。
ボリュームは全てプロビジョニングした量に応じて月ごとに課金される。
その他にもI/Oなどに応じて追加される場合がある。
EBSスナップショットをS3に保存する場合、保存量に応じて料金が追加される。
これがストレージタイプ一覧
マグネティックは旧型のものらしいので非推奨らしい
EBSとEFSの違い
あんまり違いをわかっていなかったが、ようはEBSは普通にマウントするボリュームで、EFSは共有ファイルシステムということ
料金が3倍くらい違う
Amazon S3
事実上の無制限ストレージ
オブジェクトの最大サイズは5TB
Amazon S3ストレージクラス
様々なユースケース向けに設計された幅広いストレージクラスが利用可能
ex)低頻度アクセス、Glacierなど
S3 1ゾーン - 低頻度アクセス
障害対応ができないような仕組み。
これは簡単に作成できるようなファイルをいれておく。
セカンダリバックアップなど
S3バケット
IAMでアカウント制限を指定できる。
アクセスログも取得することが出来る。
料金
利用した分の支払い
- 一ヶ月あたりのGB
- 他リージョンへのデータ送信(OUT)
- PUT, COPY, POST, LIST, GETリクエストの数
以下は無料
- S3へのデータ受信(IN)
- S3から同リージョンのCloudFront, EC2へのデータ送信(OUT)
リクエスト
S3ではSQLlikeな構文によってデータの内容を取得/更新などをすることが可能となる。
またシンプルにSDKでhttpで呼ぶときも料金が発生する
つまり、S3はデータ転送とリクエストの両方で料金が発生するという仕組みになっている。
ただ、データ転送に関しては同じAZ環境内でなら料金はかからないので、基本的にEC2からのSDKによる通信などはリクエストにのみお金がかかってくるという状態になる。
S3は作成時にDNSに許可されるようなbucketの名前を設定する必要がある。
つまり、bucket nameはグローバルに一意じゃないといけない。
リージョンごとにsuffixのurlは変更されるので、正確には各リージョンごとにということにはなるが。s3一つ一つそれ自体がパブリックIPを持つということがわかる
そのため設定によってはglobalにアクセスすることも可能ということになる
Amazon EFS
複数の仮想マシンから同じファイルストレージにアクセスすることが出来る。