Q
oosky:
モノづくり総合プラットフォーム
検索
新規登録 / ログイン
AWS 落穂拾い (Storage)
[履歴]
[最終更新]
(2022/09/24 00:24:50)
プログラミング/IoT の関連商品 (Amazonのアソシエイトとして、当メディアは適格販売により収入を得ています。)
キットで遊ぼう電子回路NO.4ディジタル回路Vol.2セット [ECB-400T]
普通のピンヘッダ10本セット
ゼルダの伝説 ブレス オブ ザ ワイルド - Switch
リングフィット アドベンチャー -Switch
サインスマート DSO202 Note II ポケットサイズ デジタル オシロスコープ Nano ARM タッチパネル操作 8MBメモリストレージ 2MHz 10Mps
tybot
最近の投稿
Looker から Snowflake への OAuth 接続
Looker (Google Cloud core) 30日間 フリートライアル設定
AWS 落穂拾い (Security)
AWS 落穂拾い (Database)
マイクロマウス
EBS
EFS
S3
FSx
DataSync
Transfer Family
注目の記事
OpenCV3 C++ 特異値分解による画像の低ランク近似
OpenCV を C++ から扱うためのサンプルコード
kubernetes で GitLab および GitLab Runner を実行する設定サンプル
Rancher で構築した kubernetes クラスタのアップグレード手順
rpmとyumのチートシート
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 バケットバージョニングの有効化が必須です。
オブジェクトが変更される際に、過去のバージョンとして保存しておきます。
Using versioning in S3 buckets
S3 Event Notifications
例:
Snowflake / Snowpipe
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
SSE-KMS 暗号化されたオブジェクトは static website でホステイングできません。
KMS 側の仕様として、anonymous なアクセスをサポートしていないためです。
SSE-S3 による暗号化はサポートされます。
I'm using the Amazon S3 static website feature but getting an Access Denied error. Why is this happening?
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?
分散型のファイルシステムです。
Lustre → Linux + Cluster
S3 との統合が可能です。
Enhanced Amazon S3 Integration for Amazon FSx for Lustre
Deployment options for FSx for Lustre file systems
Scratch file systems
Persistent file systems
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 等) との統合が可能です。
サービス内でユーザ管理することも可能です。
Working with service-managed users
エンドポイント
Public → インターネット経由でアクセスします。
VPCE → VPC 経由でアクセスします。EIP を付与して、インターネット経由でアクセスさせることもできます。
関連ページ
AWS 落穂拾い (オンプレからの移行)
6R 6 Strategies for Migrating Applications to the Cloud Rehosting (lift and shift) → オンプレサーバから EC2 インスタンスに移行する場合など。 Replatforming → DB を RDS に移行する場合など。 Repurchasing → 金額的にはコストがかかりますが、短期間で完了します。オンプレの