AWS 落穂拾い (Storage)
[履歴] [最終更新] (2022/09/24 00:24:50)

EBS

  • Amazon EBS volume types
  • SSD の gp2/gp3, io1/io2 は Boot volume として利用できます。
  • HDD の st1, sc1 は Boot volume として利用できません。
  • Snapshot
    • incremental なバックアップとなっており、複数回取得した際は、差分のみが追加で保存されます。
    • 取得する際は EBS の IO を消費します。
    • AWS が管理する S3 に保存されます。
    • リージョンを跨いで取得できます。DR 対策として活用できます。
    • Snapshot をもとに AMI を作成できます。
    • Snapshot から EBS をリストアした直後は、pre-warm するとパフォーマンスが出ます。
      • Fast Snapshot Restore (FSR) 機能を利用、または
      • fio/dd コマンドで volume 全体を read します。
    • Amazon Data Lifecycle Manager を利用して、取得を自動化できます。
  • Attach a volume to multiple instances with Amazon EBS Multi-Attach
    • 同じ AZ 内の、複数 EC2 インスタンスにアタッチできます。
      • 注意: EBS は、リージョンではなく、AZ 内で動作します。Amazon EBS volumes
    • io1/io2 で利用できます。
    • アプリ側で concurrent write を管理する必要があります。
      • ext4 といったファイルシステムではなく、clustered file system で利用します。

EFS

  • 複数の EC2 インスタンスにマウントできます。
    • 異なる AZ であってもマウントできます。
      • アタッチできる VPC は一つです。
      • AZ 毎に ENI が一つ作成されます。
    • オンプレミス上のサーバからもマウントできます。
  • 利用したサイズ GB に応じて料金が発生します。
    • 自動でサイズがスケーリングします。
  • Security Group を設定してでアクセス制御します。
  • KMS で暗号化します。
  • POSIX (Linux) ファイルシステムに対応します。
    • NFS プロトコルを利用します。
  • モード Amazon EFS performance
    • Performance mode
    • Throughput mode
  • EFS storage classes
    • 一定期間アクセスがなければ EFS Standard から Infrequent Access (EFS-IA) に変更する機能が利用できます。Amazon EFS lifecycle management
    • Regional (Multi-AZ) と One Zone が選択できます。
  • Working with Amazon EFS access points
    • NFS の特定のディレクトリ毎にアクセスを管理できます。
      • アクセス時の root ディレクトリを変更することもできます。
    • アクセスポイントへのアクセス可否
      • POSIX user/group ID で管理できます。
      • IAM Policy でも管理できます。
  • Resource-based policies
    • S3 バケットポリシーと同様に、EFS も resource-based policy に対応しています。

S3

  • Amazon S3 Storage Classes
    • S3 Intelligent-Tiering
      • アクセスパターンが不明なデータのコストを自動的に最適化します。
    • S3 Standard
      • アクセス頻度が高いデータ。
    • S3 Standard-Infrequent Access (S3 Standard-IA)
      • アクセス頻度が低いデータ。
    • S3 One Zone-Infrequent Access (S3 One Zone-IA)
      • アクセス頻度が低いデータ。
    • S3 Glacier Instant Retrieval
      • アクセスが想定されないが、即時アクセスが必要なデータ。
    • S3 Glacier Flexible Retrieval (formerly S3 Glacier)
      • アクセスが想定されないデータ。
    • S3 Glacier Deep Archive
      • アクセスが想定されないデータ。
  • いずれのストレージクラスも durability (耐久性) は 99.999999999% (11 9's) です。
    • オブジェクトが壊れて消失する可能性がほぼ 0 であることを意味します。
    • availability (可用性) はストレージクラスによって異なります。
  • Storage duration
    • S3 Standard および S3 Intelligent-Tiering を除き、Storage duration が存在します。
    • Storage duration 期間内は、オブジェクトを削除したとしても料金が発生します。
  • S3 Lifecycle policy
    • S3 Intelligent-Tiering が登場する以前から存在する機能です。
    • アクセスパターンに応じて、オブジェクトを削除したり、ストレージクラスを変更する機能です。
  • S3 Outposts What is Amazon S3 on Outposts?
    • オンプレミスに設置可能なラックが AWS から貸し出されます。
    • パブリッククラウド S3 と同様の機能を、オンプレミスのサーバで実現します。
  • Replicating objects
    • Cross Region Replication (CRR)
    • Same Region Replication (SRR)
    • S3 バケットバージョニングの有効化が必須です。
  • S3 Event Notifications
  • Best practices design patterns: optimizing Amazon S3 performance
    • 1 秒あたりのリクエスト数の上限は、prefix 毎に存在します。バケット毎ではないことに注意します。
  • Uploading and copying objects using multipart upload
    • サイズの大きいオブジェクトを分割して並列にアップロードする機能です。
    • 通信障害等でアップロードが完了せず、オブジェクトの一部が残存してしまった場合。
      • AWS CLI の s3api list-multipart-uploads で存在の有無を確認できます。
      • Lifecycle policy で X 日経過したら削除、といった処理を実現できます。
  • S3 Transfer Acceleration (S3TA)
    • CloudFront の Edge Location を利用します。
    • インターネットの経路を短縮することで、S3 へのデータアップロードまたはダウンロードを高速化します。Configuring fast, secure file transfers using Amazon S3 Transfer Acceleration
    • 料金について
      • インターネットから S3TA を利用した IN および OUT はどちらも料金が発生します。
      • ただし、アップロード(IN) については S3TA を利用しても高速化されないと判定された場合は、S3TA はバイパスされ、通常の S3 アップロードとなります。
      • S3 アップロード(IN) は料金が発生しないため、結果として、その場合の S3TA の料金は無料となります。S3 Transfer Acceleration pricing
    • クライアント側のみの設定では利用できず、事前に S3 バケット側でも Transfer Acceleration を有効化しておく必要があります。Getting started with Amazon S3 Transfer Acceleration
  • Use Byte-Range Fetches
    • バイト範囲を指定して、S3 オブジェクトの一部のみを GET する機能です。
    • サイズの大きいオブジェクトを分割して並列ダウンロードする、といった使い方もできます。
  • S3 Select and Glacier Select – Retrieving Subsets of Objects
    • S3 サーバ側で SQL によって抽出した結果のみをダウンロードする機能です。
    • 例えば CSV ファイル全体をダウンロードして、必要なデータをクライアント側で抽出する場合と比較して、ダウンロードするデータサイズは小さくなります。
    • ScanRange パラメータを指定することで、CSV や JSON ファイルの一部のバイト範囲のみを SQL の対象とできます。Filtering and retrieving data using Amazon S3 Select
    • Glacier Select は gzip 等で圧縮されたファイルをサポートしません。Querying Archives with S3 Glacier Select
      • S3 Select はサポートします。
  • S3 はオブジェクトの検索には不向きです。
    • S3 にオブジェクトをアップロードした際に Lambda を起動し、検索用のメタデータを DynamoDB Table に保存しておく、という構成が考えられます。
  • S3 static website

FSx

  • サードパーティのファイルシステムを AWS で利用するためのサービスです。(補足: EFS は Linux 向けです。)
  • VPN または Direct Connect 接続された、オンプレミス環境からも利用できます。
  • FSx for Windows File Server What is FSx for Windows File Server?
    • SMB をサポートします。
    • NTFS をサポートします。
    • マイクロソフト AD と統合できます。
    • Linux EC2 インスタンスでもマウントできます。
    • Multi-AZ 構成が可能です。
    • S3 への日次バックアップがなされます。
  • FSx for Lustre What is Amazon FSx for Lustre?

DataSync

  • AWS (S3、EFS、FSx 等) へデータを同期するためのサービスです。What is AWS DataSync?
    • 同期元の環境において、DataSync エージェントを稼働させます。
    • オンプレミスから AWS へのデータ同期に限らず、EFS から EFS へのデータ同期でも活用できます。

Transfer Family

  • S3/EFS へのデータ転送、または S3/EFS からのデータ取得を FTP で実現するためのサービスです。
    • AWS Transfer for FTP
    • AWS Transfer for FTPS
    • AWS Transfer for SFTP
  • 認証システム (LDAP、AD、Okta、Cognito 等) との統合が可能です。
  • エンドポイント
    • Public → インターネット経由でアクセスします。
    • VPCE → VPC 経由でアクセスします。EIP を付与して、インターネット経由でアクセスさせることもできます。
関連ページ
    6R 6 Strategies for Migrating Applications to the Cloud Rehosting (lift and shift) → オンプレサーバから EC2 インスタンスに移行する場合など。 Replatforming → DB を RDS に移行する場合など。 Repurchasing → 金額的にはコストがかかりますが、短期間で完了します。オンプレの