💾
AWS ストレージサービス まとめ
EBS
EBSはAmazon Elastic Block Storeの略。
EC2インスタンスにアタッチして使用するブロックストレージボリューム。
以下の特徴がある
- EC2インスタンスのボリュームとして使用
- 必要な時に必要な量を利用できる
- 不要になればいつでも削除可能
- アベイラビリティゾーン内でレプリケート
- 同じアベイラビティゾーン内の複数サーバー間で自動的にレプリケートされる
- ボリュームタイプの変更が可能
- 使用開始後にオンラインでボリュームタイプを変更できる
- 容量の変更が可能
- EBSは確保しているストレージ容量に対して課金が発生
- 使用開始後にオンラインでストレージ容量を増やすことができる
- 高い耐久性のスナップショット
- EBSのスナップショットを作成するとS3の機能を使って保存される(高い耐久性)
- ボリュームの暗号化
- EBSの暗号化を有効にするとボリュームが暗号化される
- ボリュームから作成されるスナップショットも暗号化される
- EC2インスタンスからのデータの暗号化/複合は透過的に行われる(特別な操作は必要ない)
- 永続的ストレージ
- EBSはインスタンスのホストとは異なるハードウェアで管理されている
- インスタンスを一度停止、再度開始した時にもEBSのデータは残る
S3
S3はAmazon Simple Storage Serviceの略で、Sが3つ並ぶことからS3。
完全マネージド型のオブジェクトストレージ。
S3を使用することで、ストレージ管理や冗長化、事前の容量確保を考慮せず、開発に注力できる。
以下の特徴がある。
- 無制限のストレージ容量
- S3のオブジェクト容量は無制限(1ファイル5TBまで)
- ストレージ容量の確保を気にしなくて良い
- バケットを作成すれば、データを保存できる
- 高い耐久性
- オブジェクトは1リージョン内の複数のアベイラビリティゾーンにまたがって、自動的に冗長化して保存される
- S3の耐久性はイレブンナイン(99.999999999%)
- 冗長化やバックアップを意識することなく開発に専念できる
- インターネット経由でアクセス
- S3はインターネット経由(HTTP、HTTPS)でアクセスする
- 世界中のどこからでもアクセス可能
- マネージドコンソール、AWS CLI、SDK、APIからもアクセス可能
S3のセキュリティ
アクセス権限
S3側で設定するアクセス権限には以下の3つがある
- アクセスコントロールリスト(ACL) 非推奨
- ACLで読み取り許可を設定することで、誰でもインターネット経由でファイルにアクセスできるようになる
- 現在はACLを無効化し、バケットポリシーのみでアクセス制御することが推奨されている
- バケットポリシー
- JSONフォーマットのドキュメントで指定する(ACLよりも細かい設定が可能)
- IAMポリシー
- IAMロールを設定し、IAMポリシーをアタッチすることを推奨
S3のアクセス権は以下の通り
- バケットにはアクセスコントロールリストとバケットポリシーが設定可能
- オブジェクトにはアクセスコントロールリストが設定可能
- バケットポリシーで個別にオブジェクトを指定することも可能
通信、保存データの暗号化
- 通信中のデータの暗号化
- HTTPSでアクセスすることにより暗号化される
- 保存データの暗号化
- 以下の3種類
- S3キーを使用したサーバーサイド暗号化(デフォ)
- KMSを使用したサーバーサイド、またはクライアントサイド暗号化
- 独自のキーを使用したサーバーサイド、またはクライアントサイド暗号化
- 以下の3種類
S3の料金
S3の料金は主に以下の3要素
- ストレージ料金
- リクエスト料金
- データ転送料金
1. ストレージ料金
- 保存しているオブジェクトの容量に対しての料金
- 1ヶ月全体での平均保存量で算出される
- リージョンによって料金が異なる
- ストレージクラスによっても料金が異なる
- 標準、低頻度アクセス、Glacier、Inteligent-Tieringがある
標準
- ストレージクラスを指定しない場合のストレージクラス
- 東京リージョンで0.025USD/GB(最初の50TB)
- ユースケースは、アプリケーションにより頻繁に利用されるオブジェクトや、静的Webコンテンツ配信
低頻度アクセス
- アクセス頻度の少ないオブジェクトを格納することで、トータスコストを下げることができる
- 東京リージョンで0.019USD/GB
- ストレージ料金は標準ストレージよりも安価に
- リクエスト料金が標準ストレージよりも上がる
- 取り出し料金が追加される
-
標準IA
と1ゾーンIA
の2種類存在する -
1ゾーンIA
は1つのアベイラビリティゾーンの複数のデータセンターにオブジェクトを保存 -
1ゾーンIA
は標準IA
よりも可用性が下がる分保存コストも下がる
Amazon Glacier
- アーカイブサービス(単独のサービスとしても使用可能)
- リアルタイムなアクセスは不要だが、保存しなければならないような、アーカイブデータを格納
- 東京リージョンの料金は0.005USD/GB
- ユースケースは、規約によって定められたデータなど(アクセスはほとんどなくても削除できないデータに最適)
- オブジェクトにアクセスする際は一度取り出しを行う必要がある
-
InstantRetrieval
とFlexibleRetrival
とDeep Archive
の3種類存在する -
InstantRetrieval
は時間をかけずに取り出せるが、取り出し料、リクエスト料、保存料がより発生する -
FlexibleRetrival
は標準で3時間から5時間の取り出し時間が発生する分、保存料、リクエスト料が下がる -
Deep Archive
は取り出しに最低12時間かかる
Intelligent-Tiering
- アクセス頻度が不明確な場合に選択
- 自動的に高頻度アクセス階層、低頻度アクセス階層、アーカイブアクセス階層を移動してコスト効率化を図ってくれる
- 自動で移動させるためのモニタリング料は発生する
ライフサイクルポリシー
- S3では初回アップロード時から各ストレージクラスを指定することも可能
- アップロード日から起算し、自動でストレージクラスを変更するライフサイクルポリシーを設定することも可能
2. リクエスト料金
データのアップロード、ダウンロードのリクエストに対しての料金
3. データ転送料金
- S3からのアウトの通信が発生した時に転送料金の課金対象になる
- S3へのインは課金対象外
- リージョン外であってもCloudFrontへの転送料金は課金対象外
S3のユースケース
S3のユースケースは以下の通り
- アプリケーションのデータ保存
- HTML、CSS、JavaScript、画像、動画ファイルなどの静的コンテンツの配信
- データバックアップの保存
- ログデータ、センサーデータなどの保存
- クロスリージョンレプリケーションによるDR対策
その他ストレージサービス
EFS(Amazon Elastic File System)
複数のEC2インスタンスでマウントして共用利用できるファイルストレージサービス
Storage Gateway
オンプレミスアプリケーションとAWSのストレージサービスを、シームレスに接続して利用することができるゲートウェイサービス。
オンプレミスからのデータ転送にはDataSyncというサービスも使用可能。
Snowball
物理デバイスを使用して、ペタバイト級の大容量データ転送を行うことができるサービス。
主にオンプレミスからAWSへデータを転送する際に利用する。
エクサバイト級のデータ転送にはSnowmobileを使用。
数テラバイトまでの場合は、Snowconeを使用。
Discussion