2018年11月合格!AWS認定SAAに向けた勉強③外付けストレージ(S3)について

クラウドを利用したシステムの設計構築がすっかり当たり前になってきて、ユーザ側でもある程度専門的な知識をつけてきている方が増えてきました。

フルスタックテクノロジーコンサルタントとしては、ユーザ側と同レベルの知識だけでは、クライアントにより良い提案をしていくことはできないので、クライアントよりも新しくかつ深い知識を習得することは、必要不可欠です。

ここでは、その知識を証明できるよう、代表的な資格である、AWS 認定 Solutions ArchitectのAssociate levelの取得に向け、私が勉強した内容を公開していきます!

AWSのサービスは百数十を数え、いったい何をどこから手を付けていいかわかりづらいと思いますので、カテゴリごとに体系的に情報を整理したので、是非情報整理の参考にしていただければと思います。なお、ここで書いてあることのみを丸暗記することで試験合格を保証するものではありません。また、AWSのブラックベルトやホワイトペーパーなどの資料もきちんと確認もしてくださいね。

③S3

S3についてです。これはいわゆる外付けストレージです。

これが、私のまとめ資料です。(誤字脱字誤謬ご容赦ください)

1.S3とは

S3についてです。正式なサービス名称は、Amazon Simple Storage Serviceです。頭文字を並べるとAmazon SSSとなり、Sが3つ連続するので、S3となります。

これはオブジェクトストレージです。(※EBSは、ブロックストレージでした。ブロックのBです)

S3の可用性…サービスレベルは、99.999999999%(イレブンナイン)です。9が11個並びます。

2.ストレージクラスの種類

  • スタンダード(STANDARD)…デフォルトのストレージクラス
  • 低頻度アクセス(STANDARD-IA:Infrequent Access)…安価、いつでもアクセス可能、読み出し容量で課金
  • Glacier…アーカイブデータ配置用。最も低コスト、データ取り出しに時間かかる
  • 低冗長化ストレージ…Reduced Redundancy Storage(RRS) Glacierから取り出したデータの配置用途

3. S3のアクセス管理

デフォルトではS3のバケット/オブジェクトは、Owner以外はALL Deny(全てプライベートアクセスのみ。バケット/オブジェクトを作成したOwnerのAWSアカウントのみアクセス可能)。

  • ユーザポリシー…IAMユーザに対し、S3のバケットへのアクセス権限を設定(IAMユーザに対し、複数S3バケットやS3以外も含めてユーザ権限設定する際に利用)
  • バケットポリシー…S3バケットに対してアクセス権限を設定(全ユーザに対するS3へのアクセス権限を付与する際に利用)
  • バケット単位ACL…バケット/オブジェクトに対する制御を設定(※アクセスログ取得の許可設定にて利用)バケット内のオブジェクトに対しても同じACL権限が適用される。
  • オブジェクト単位ACL…オブジェクトに対する制御を設定。バケットACLとオブジェクトACLが両方設定されている場合は、オブジェクトACLが優先される。

※ACLよりポリシーが優先。ACLはバケットやオブジェクトに対して100個まで。

Pre-Signed Object URL(署名付きURL)…AWS SDKを利用して、署名されたURLを生成。一定期間のみアクセスを許可する。(S3へ永続的にアクセスさせず、署名付きURL経由でのみアクセスさせる)

4.S3の機能・オプション

①Webサイトホスティング機能

静的コンテンツをS3のみでホスティングさせる

  • CORS(Cross-origin Resource Sharing)…異なるドメインからS3へアクセスさせる
  • Croud Frontとの連携…CroudFrontに静的コンテンツをキャッシュさせる。WebサーバとしてS3を用いる場合,CroudFront経由で配信させるのが推奨。

②暗号化

SSE:Server Side Encryption(サーバサイド暗号化)と、クライアントサイド暗号化

  • SSE-S3…AWS側で鍵を管理して暗号化を実施(鍵管理不要)
  • SSE-KMS…ユーザがKMSを利用して鍵を生成し、暗号化を実施
  • SSE-C…ユーザが作成した鍵を利用し、暗号化を実施(AWSでは鍵管理しない)
  • クライアントサイド暗号化…クライアント側で暗号化したデータをS3にアップロード(S3自体は暗号化無し)

③クロスリージョン・レプリケーション

異なるリージョン間のS3バケットのオブジェクトのレプリケーションを実施

対象元バケットのバージョニングを有効にする必要がある。 双方向レプリケーションも可能。 レプリケーション間のデータ転送費用が発生。

④S3のバックアップ

S3に配置したデータは、自動的に3箇所のデータセンターに複製される。(当該コピーについて、ユーザがバックアップ頻度や期間を考慮する必要はない)

※あくまでもAWS側のS3物理障害に対応するためにAWS側で行っている仕組みであり、ユーザが自由にバックアップリストアを行えるものではない。

※この仕組みにより、サービスレベル99.999999999%(イレブンナイン)を実現。

⑤パフォーマンス最適化

S3へのアクセスのパフォーマンスを向上させるため、S3のパーティションキーを分散できるように、ハッシュ値など、ランダムな値でプレフィックスをつける

⑥バージョニング

古いバージョンのオブジェクトを履歴として保持する。バケットに対し、バージョン管理を設定することで、ユーザやアプリケーションの誤操作等に対する削除対策に有効

バージョニングにより保管されているか個オブジェクト分の容量についても課金対象。 ライフサイクル管理と連携し、保存期間(有効期限)を設定可能

⑦ライフサイクル管理

バケット内のオブジェクトに対して、ストレージクラスの変更や削除処理に対する自動化を行う。

例:一定期間経過後、S3(Standard)から、S3(Standard-IA)へ移動し、さらに一定期間経過後Glaicerへアーカイブする、などに利用。

5.Amazon Glacierについて

アーカイブ/バックアップデータ格納用のオブジェクトストレージ(オンプレミスにおけるテープバックアップと同じ用途)です。 同一リージョン内で複数拠点へ自動複製される。

アーカイブデータの取り出し

  • 通常取り出し:3-5時間かかる
  • 迅速取り出し:1-5分以内に取り出し
  • 大量取り出し:5-12時間かかる

繰り返しになりますが、ここで書いてあることのみを丸暗記することで試験合格を保証するものではありません。また、AWSのブラックベルトやホワイトペーパーなどの資料もきちんと確認もしてくださいね。


0 件のコメント :

コメントを投稿