見出し画像

AWSソリューションアーキテクト取得に向けて~S3~

AWS ソリューションアーキテクト アソシエイト取得に向けて学習した内容を備忘的に記載します。

今回はS3。

S3とは

Simple Storage Serviceの略称
ユーザがデータを容量制限なく保存可能なマネージド型サービスのオブジェクト型ストレージ。
【特徴】
・高い耐久性(99.999999999%)
・安価
・スケーラブルで安定した性能
・転送中や保存時にデータを暗号化が可能

【データ保存形式】
・バケット・・・名前はグローバルでユニークな必要がある。
        S3はバケット単位で保存スペースを区分し、
        オブジェクトでデータを格納する
・オブジェクト・・・バケット内のオブジェクト数は無制限
・データサイズ・・・0KB~5TBまで保存可能

S3のオブジェクト構成

■Key・・・オブジェクトの名前。一意に識別
■Value・・・データそのもの
■バージョンID・・・バージョン管理に使うID
■メタデータ・・・オブジェクトに付随する属性情報
■サブリソース・・・バケット構成情報を保存、管理するためのサポートを提供

S3のストレージタイプ

■STANDARD・・・複数個所にデータを複製し耐久性が高い
■STANDARD-IA・・・STANDARDより安価。データの読み出し容量に応じた課金
■One Zone-IA・・・アクセス頻度低。必要に応じてすぐ取り出すデータ向け
■RRS・・・低冗長化ストレージ。
■Glacier・・・最安のアーカイブ用ストレージ。データ抽出にコストと時間を要する。ライフサイクルマネジメントで指定。ボールロック機能でデータを保持。

S3の整合性モデル

高い可用性を実現するため更新、削除には結果整合性モデルを採用。
■新規登録・・・登録時即時にデータ反映
■更新・・・更新直後はデータ反映に時間がかかる
■削除・・・削除直後はデータ反映に時間がかかる

S3のアクセス管理

■IAMポリシー・・・IAMユーザーに対してアクセス権限を設定。一元的にユーザ権限を管理
■バケットポリシー・・・バケット/オブジェクトのアクセス権をJSONで設定。クロスアカウントでアクセス権限管理を実施するケース向け
■ACL・・・XMLでアクセス権限を設定。簡易的に権限管理を実施。
■署名付きURL・・・AWS SDKで生成した署名付きURLでS3のオブジェクトへの一定時間アクセスを許可

S3の暗号化

サーバサイド、クライアントサイドで暗号化可能
■サーバサイド・・・サーバリソースを利用して格納データの暗号化を実施。
          暗号化タイプはSSE-S3/SSE-KMS/SSE-C
■クライアントサイド・・・暗号化はユーザ側で管理。
          暗号化タイプはAWS KMSで管理された
          カスタマーキーで暗号化。
          クライアントが管理するマスターキーで暗号化

レプリケーション

リージョン間を跨ぐクロスリージョンレプリケーションにより耐障害性を高める
■レプリケーションのトリガー
 バケットに対するオブジェクトの作成・更新・削除
■設定
 バージョニング機能の有効化
 バケットは各別リージョンを指定
 双方向レプリケーションも可能
 データ転送費用が発生

バージョン管理

ユーザーによる誤操作が発生しても復元可能
■設定
 バケットをバージョン管理
 バージョン保管されたオブジェクトを参照可能
 ライフサイクル管理によって保存する機関の指定も可能
 バケット削除時に古いバージョンの別途削除が必要

ライフサイクル管理

オブジェクト単位でストレージクラスの変更や削除時期などを設定し実行を自動化する
■設定
 バケット全体やPrefixに設定
 オブジェクト更新日を基準にして日単位で指定。毎日0:00UTCにキューを実行
 最大1000ルール
 IAに移動できるのは128KB以上のオブジェクト
 MFA Deleteが有効だと設定不可

バックアップ

Glacierを利用してオブジェクト毎にバックアップと復元が実施可能
復元時に選択可能な3つの選択肢
迅速(Expendited):緊急アクセスを要する場合の取得
標準(Standard):3-5時間の間にファイルを取得
大容量(Bulk):5-12時間の間にファイルを取得する最も低価格で大量のデータを取得

利用状況の確認

■S3の分析
 ・データのアクセスパターンの簡易可視化
 ・CSV形式で出力可能
 ・バケット内の分析を実施
 ・アクセス頻度の低いデータや保存期間を確認してライフサイクルポリシー
  設定に生かしていく
■S3のイベント通知
 ・バケット内のイベント発生をトリガーにして、SNS/SQS/Lambdaに通知設定
 ・シームレスなシステム連携処理を実現

S3の用途

■コンテンツ配信・保管
■ログ・バッチの保管場所
■バックアップ/ディザスタリカバリ
■WEBの政敵ホスティング
■データレイク

S3の外部接続

■AWS Storage Gateway
 標準的なストレージプロトコルを利用して外部システム環境とAWSのストレージサービスとを接続するサービス
 【メリット】
  ・標準的なストレージプロトコルを活用したシームレスな結合
  ・キャッシュを活用した低レイテンシなアクセスが可能
  ・AWSストレージサービスの堅牢性、低コスト、拡張性
  ・効率的なデータ転送
  ・AWSのモニタリング、管理、セキュリティとの統合
 【用途】
  ・ビッグデータ処理/クラウドバースティング/システム移行のために
   データをAWSストレージに移動させたいケース
  ・バックアップ、アーカイブ、災害対策としてAWSにデータを保持
  ・オンプレミス環境で用意にAWSストレージを活用
 【種類】
  ・ファイルゲートウェイ
  ・ボリュームゲートウェイ
  ・テープゲートウェイ

 【ファイルゲートウェイ】
  オンプレのファイルデータをStorage Gateway経由で格納
   ・仮想アプライアンスでNFSv3/V4.1のインターフェースを提供
   ・更新データは非同期でAWSに転送
   ・ファイルとオブジェクトのマボリュームッピングは1対1
   ・S3の機能が利用可能

 【ボリュームゲートウェイ】
  オンプレのディスクデータをStorage Gateway経由でSnapshotとして
  取得しAWS上でDisaster Recoveryを実現
   ・iSCSIでブロックストレージとしてインターフェースを提供
   ・オンプレのローカルディスクのバックアップを自動的に実施
   ・更新データは非同期で転送
   ・オンプレミス側のStorage Gatewayへリストア
   ・AWS上でEBSディスクへのリストアも可能

 【テープゲートウェイ】
  仮想テープライブラリとして利用することで堅牢性の高い
  外部保管バックアップストレージを実現
   ・VTL(Virtual Tape Library) 対応バックアップソフトウェアを利用し、
    Storage Gateway を経由して、バックアップデータを S3 および
    Glacier に格納
   ・オンプレミスおよび AWS の EC2 環境で利用可能
   ・バックアップソフトウェアによりテープ取り出し
    オペレーションを行うことで、安価なアーカイブストレージ
    ( S3 Glacier )を利用
   ・主要なバックアップソフトウェアをサポート

S3 Transfer Acceleration

クライアントとS3バケットの間で長距離にわたるファイル転送を高速、簡単、安全に実行

この記事が気に入ったらサポートをしてみませんか?