💾

AWS ストレージサービス まとめ

2024/01/11に公開

EBS

EBSAmazon Elastic Block Storeの略。
EC2インスタンスにアタッチして使用するブロックストレージボリューム。
以下の特徴がある

  • EC2インスタンスのボリュームとして使用
    • 必要な時に必要な量を利用できる
    • 不要になればいつでも削除可能
  • アベイラビリティゾーン内でレプリケート
    • 同じアベイラビティゾーン内の複数サーバー間で自動的にレプリケートされる
  • ボリュームタイプの変更が可能
    • 使用開始後にオンラインでボリュームタイプを変更できる
  • 容量の変更が可能
    • EBSは確保しているストレージ容量に対して課金が発生
    • 使用開始後にオンラインでストレージ容量を増やすことができる
  • 高い耐久性のスナップショット
    • EBSのスナップショットを作成するとS3の機能を使って保存される(高い耐久性)
  • ボリュームの暗号化
    • EBSの暗号化を有効にするとボリュームが暗号化される
    • ボリュームから作成されるスナップショットも暗号化される
    • EC2インスタンスからのデータの暗号化/複合は透過的に行われる(特別な操作は必要ない)
  • 永続的ストレージ
    • EBSはインスタンスのホストとは異なるハードウェアで管理されている
    • インスタンスを一度停止、再度開始した時にもEBSのデータは残る

S3

S3Amazon 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を使用したサーバーサイド、またはクライアントサイド暗号化
      • 独自のキーを使用したサーバーサイド、またはクライアントサイド暗号化

S3の料金

S3の料金は主に以下の3要素

  1. ストレージ料金
  2. リクエスト料金
  3. データ転送料金

1. ストレージ料金

  • 保存しているオブジェクトの容量に対しての料金
  • 1ヶ月全体での平均保存量で算出される
  • リージョンによって料金が異なる
  • ストレージクラスによっても料金が異なる
    • 標準、低頻度アクセス、Glacier、Inteligent-Tieringがある
標準
  • ストレージクラスを指定しない場合のストレージクラス
  • 東京リージョンで0.025USD/GB(最初の50TB)
  • ユースケースは、アプリケーションにより頻繁に利用されるオブジェクトや、静的Webコンテンツ配信
低頻度アクセス
  • アクセス頻度の少ないオブジェクトを格納することで、トータスコストを下げることができる
  • 東京リージョンで0.019USD/GB
  • ストレージ料金は標準ストレージよりも安価に
  • リクエスト料金が標準ストレージよりも上がる
  • 取り出し料金が追加される
  • 標準IA1ゾーンIAの2種類存在する
  • 1ゾーンIAは1つのアベイラビリティゾーンの複数のデータセンターにオブジェクトを保存
  • 1ゾーンIA標準IAよりも可用性が下がる分保存コストも下がる
Amazon Glacier
  • アーカイブサービス(単独のサービスとしても使用可能)
  • リアルタイムなアクセスは不要だが、保存しなければならないような、アーカイブデータを格納
  • 東京リージョンの料金は0.005USD/GB
  • ユースケースは、規約によって定められたデータなど(アクセスはほとんどなくても削除できないデータに最適)
  • オブジェクトにアクセスする際は一度取り出しを行う必要がある
  • InstantRetrievalFlexibleRetrivalDeep 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