[AWS SAA取得向け] ~S3 暗記すべきこと~

[AWS SAA取得向け] ~S3 暗記すべきこと~

S3とは

特徴

高い耐久性、容量無制限
ファイルストレージと違い、ディレクトリ構造を持たない
メタデータを定義できる
複数のAZに複数し、冗長性を持たせる(AZ内の複数のストレージに複製)
バージョニングやMFA認証によりご削除を防ぐ
強い整合性を持つ

用途

バックアップ・・・AWSのバックエンドサービス(EBSのスナップショットに使われる)
データレイク ・・・ ビックデータを保存する器
静的コンテンツ(HTML/CSS)のホスティング
※動的コンテンツ(Ruby、PHPなど)はEC2にホスティングする

構成要素

パケット ・・・ 保存領域
オブジェクト ・・・ データのこと。一意のURLを持つ
メタデータ ・・・ 作成日時、サイズなど。どんな情報を持たせるかユーザで選択できる

ストレージクラス

名称耐久性可用性特徴
STANDARD99.999999999%99.99%デフォルト。低レイテンシーと高スループットが売り
STANDARD-IA99.999999999% 99.9% STANDARNより安価。
参照頻度が低いデータ向けのため、読み出しに応じて課金
ONEZONE-IA99.999999999% 99.5% 単一のAZ内のみで複製するため、AZ内で障害が発生した場合にデータ復号ができない。最も安価
INTELLIGENT-TIERING99.999999999% 99.9% STARNDARDとSTANDARD-IAの2層構成。30日以上アクセスされないと自動的にSTANDARD-IAに移動される
GLACIER99.999999999% 99.99% ほとんど参照されないアーカイブなど

セキュリティ

下記の単位でアクセス制御ができる(✕は設定できない)

パケットポリシーACLIAM
AWSアカウント
IAMユーザー
S3パケット
S3オブジェクト
IPアドレス・ドメイン

※S3データにアクセスするには、パケットポリシーとIAMロールを両方許可する必要がある。

※ACLはパケット単位、オブジェクトと二重でアクセス制御する必要があり、手間がかかるのでパブリックアクセスによってアカウント単位で全オブジェクトへのアクセス制御ができる。

■ 事前署名付きURI ・・・ アップケーションがわで対象帯ジェクトへの期限付きアクセス許可を特定のユーザに付与する。

■ S3 Access Analyzer ・・・ AWSアカウントの外部からアクセスできるリソースを特定。S3パケットに対するアカウント情報を分析し、不正アクセスがないかを確認できる。

■暗号化

SSE ・・・ 暗号化、複合化をS3側で自動。AES-256を標準使用。

CSE ・・・ ユーザ側で独自の暗号キーを使用。

その他

■ S3への検索ツール(S3はオブジェクトデータなので検索性はそもそもよくない)

S3 Select ・・・ クエリ(検索)を活用して、S3オブジェクトに対してデータ分析を実行

Redshift Spectrum ・・・ S3に保存されたファイルをRedshiftにロードしたり特殊な準備をすることなく、高度なクエリを実行(主にビックデータ解析)

Athena ・・・ S3内のデータを標準SQLを使用して簡単に分析(S3 Selectより高度で複雑)

■マルチアップロード ・・・ 大容量オブジェクトをいくつかに分けてアップロード。最大5TB、個々のオブジェクトPUTは最大5GB

■S3 Transfer Acceleration ・・・ クライアントとS3パケット間で、長距離にわたるファイル転送を高速、簡単、安全に行う。

■クロスリージョンレプリケーション ・・・ 異なるAWSリージョンにある2つパケット間でオブジェクトを自動的に非同期にコピーする機能。冗長化に使える。同じAWSアカウントが所有するパケットにも、異なるアカウントが所有するパケットにも設定できる。

■CORS ・・・ 既にドメインが設定されているS3パケットを他のドメインに共有することが可能

■AWS Lake Formation ・・・ S3を利用したデータレイク構成を容易に実施できる。