サイトアイコン 協栄情報ブログ

AWS認定ソリューションアーキテクト目指す学習のまとめ⑪


この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので十分ご注意ください。

はじめに

AWS認定ソリューションアーキテクト目指す学習のまとめ⑩
の後ろで、整理続きます。
今回は、Amazon S3 関する知識を勉強します。

【7】SIMPLE STORAGE SERVICE (S3)

Amazon S3とは

Amazon Simple Storage Service は、インターネット用のストレージです。
Amazon S3 のウェブサービスインターフェイスはシンプルで、いつでも、ウェブのどこからでも容量に関係なくデータを格納および取得できます。

S3用語

バケット
バケットとは、Amazon S3 に格納されるオブジェクトのコンテナです。すべてのオブジェクトはバケット内に格納されます。
オブジェクト
オブジェクトとは、Amazon S3 に格納される基本エンティティです。オブジェクトは、オブジェクトデータとメタデータで構成されます。データ部分を、Amazon S3 から見ることはできません。
メタデータ
オブジェクトに付随する属性の情報。システム定義メタデータ、ユーザー定義メタデータがあります。
キー
キーとは、バケット内のオブジェクトの固有の識別子です。バケット内のすべてのオブジェクトは、厳密に 1 個のキーを持ちます。バケット、キー、バージョン ID の組み合わせで、各オブジェクトを一意に識別します。オブジェクトの格納URLパス。
オブジェクトキー (またはキー名) によって、バケット内のオブジェクトは一意に識別されます。
Key:オブジェクト名(※プレフィックス付き)
Value:データ本体
リージョン
Amazon S3 で作成したバケットを保存する地理的な AWS リージョンを選択できます。目的のアプリケーションと同じリージョンであると有利。

S3基本特徴

・オブジェクトレベルのストレージ
・個々のオブジェクトは 5 TB 以下にする必要がありますが、保存するデータ量には制限はありません。
・デフォルトでは、Amazon S3 のデータは複数の施設および各施設の複数のデバイスに冗長に保存されます。耐久性99.999999999%。
・Amazon S3 バケット名はグローバルに一意であり、名前空間はすべての AWS アカウントによって共有されています。
・Amazon S3 には、ウェブベースのAWS マネジメントコンソール経由で、またはプログラム的に API と SDK 経由で、あるいはサードパーティのソリューションを使用して (API/SDK を使用) アクセスできます。
Amazon S3 にはイベント通知機能があり、指定したバケットへのオブジェクトのアップロードや指定したバケットからのオブジェクトの削除など、特定のイベントが発生した際の自動通知を設定できます。

S3のデータ整合性モデル

・Amazon S3 では、すべてのリージョンで S3 バケットの新しいオブジェクトの PUTS については "書き込み後の読み込み" 整合性を提供しますが、注意点があります。注意点は、オブジェクトが作成される前にキー名に対して HEAD または GET リクエストを行い、その直後にオブジェクトを作成した場合、結果整合性のために後続の GET がオブジェクトを返さない可能性がある点です。
・Amazon S3 は、すべてのリージョンで PUT および DELETE の上書きについて結果整合性を提供しています。
・単一のキーに対する更新はアトミックです。たとえば、既存のキーに PUT を実行すると、後続の読み取りで古いデータや更新されたデータが返される場合がありますが、壊れたデータや部分的なデータが返されることはありません。
・Amazon S3 は、AWS のデータセンターに配置された複数のサーバー間でデータを複製することにより、高い可用性を実現します。PUT リクエストが成功した場合は、データが安全に格納されています。ただし、変更に関する情報は Amazon S3 内でレプリケーションされる必要があり、これにはしばらくかかります。

ストレージクラス

S3 標準 — デフォルトのストレージクラス。オブジェクトのアップロード時にストレージクラスを指定しない場合、S3 標準ストレージクラスが割り当てられます。
REDUCED_REDUNDANCY — 低冗長化ストレージ (RRS) のストレージクラスは、それほど重要ではない再生可能なデータを、S3 標準ストレージクラスより低いレベルの冗長性で保存することができます。(このストレージクラスの使用は推奨しません。S3 標準ストレージクラスの方がコスト効果に優れています。)
S3 Intelligent-Tiering — ストレージクラスは、パフォーマンスの低下や、オペレーション上のオーバーヘッドを発生させることなく、最もコスト効率の高いストレージアクセス階層に自動的にデータを移動することで、ストレージコストを最小限に抑えるように設計されています。
S3 標準–IAS3 1 ゾーン–IA のストレージクラスは、存続期間が長く、アクセス頻度の低いデータ用に設計されています(IA はinfrequent access (低頻度アクセス) の略です)。
S3 Glacier および S3 Glacier Deep Archive ストレージクラスは、低コストのデータアーカイブに適しています。これらのストレージクラスは S3 標準ストレージクラスと同様の耐久性と回復性を提供します。

オブジェクトのライフサイクル管理

移行アクション — 別のストレージクラスにオブジェクトを移行するタイミングを定義します。
失効アクション — オブジェクトの有効期限を定義します。Amazon S3 はユーザーに代わって有効期限切れのオブジェクトを削除します

S3アクセスコントロール

デフォルトでは、Amazon S3 のバケット、オブジェクト、関連サブリソース (例: lifecycle 設定や website 設定) などのすべてのリソースはプライベートであり、リソースの所有者であるそのリソースを作成した AWS アカウントだけがアクセスできます。 リソースの所有者は、アクセスポリシーを作成することにより、他のユーザーにアクセス許可を付与することもできます。
Amazon S3 で提供されているアクセスポリシーオプションは、リソースベースのポリシーとユーザーポリシーに大きく分類されます。

7.1_[Demo]S3 Bucketを作成する

バケットの作成

[バケット名] に、バケットの DNS に準拠する名前を入力します。
[リージョン] では、バケットを格納する AWS リージョンを選択します。
[ブロックパブリックアクセスのバケット設定] で、値をデフォルトのままにします。デフォルトでは、Amazon S3 は、バケットへのすべてのパブリックアクセスをブロックします。

それ以外はそのままで、パケットを作成します。

バケットへのオブジェクトのアップロード
バケット画面で、先のバケットの名前を選択し、アップロードを選択する。

ファイルを追加し、アップロード。(選択するファイルを送信先へ追加する)

アップロードしました。

バージョニング

バージョニングとは、同じバケット内でオブジェクトの複数のバリアントを保持する手段です。バージョニングを使用して、Amazon S3 バケットに格納されたあらゆるオブジェクトのあらゆるバージョンを、格納、取得、復元することができます。バージョニングを使用すれば、意図しないユーザーアクションからもアプリケーション障害からも、簡単に復旧できます。

バケットのバージョニングを有効にすると、Amazon S3 は保存されるオブジェクトに対して一意のバージョン ID を自動的に生成します。

S3レプリケーション

レプリケーションでは、異なる Amazon S3 バケット間でオブジェクトを自動的に非同期コピーできます。
● クロスリージョンレプリケーション (CRR) :異なる AWS リージョン内の Amazon S3 バケット間でオブジェクトをコピー
● 同一リージョンレプリケーション (SRR) :同一の AWS リージョン内のAmazon S3 バケット間でオブジェクトをコピー

暗号化によるデータ保護

データ保護には、転送時(Amazon S3 との間でデータを送受信するとき)のデータを保護するものと、保管時(Amazon S3 データセンター内のディスクに格納されているとき)のデータを保護するものがあります。Secure Socket Layer/Transport Layer Security (SSL/TLS) またはクライアント側の暗号化を使用して、転送中のデータを保護できます。
サーバー側の暗号化を使用する – オブジェクトをデータセンター内のディスクに保存する前に暗号化し、オブジェクトをダウンロードするときに復号するように Amazon S3 にリクエストします。
クライアント側の暗号化 – クライアント側でデータを暗号化し、暗号化したデータを Amazon S3 にアップロードします。

7.2_[Demo]Static website hosting(静的ウェブサイトのホスティング)

静的ウェブサイトホスティングを有効にする
静的ウェブサイトに対して使用するバケットを選択し。[プロパティ] を選択して、[静的ウェブサイトホスティング] を選択します。

静的ウェブサイトホスティングを編集して、保存します。

パブリックアクセス可能にする
静的ウェブサイトホスティングを有効にするバケットを選択し、[アクセス許可] を選択します。[編集する] を選択します。

すべてのパブリックアクセスをブロックする をクリアし、保存します。

バケットにコンテンツをアップロードする
まず、index.htmlと言うファイルを作成します

<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>My Website Home Page</title>
</head>
<body>
  <h1>Welcome to my website</h1>
  <p>Now hosted on Amazon S3!</p>
</body>
</html>

index.htmlを選択し、アップロードする

オブジェクトへのアクセスを有効にする
バケットの オブジェクト タブで、index.htmlを選択し、アクションで 公開する。

プロパティ タブ を選択し、静的ウェブサイトホスティングのバケットウェブサイトエンドポイントをクリックします。

訪問できます。

まとめ

今日、私はAmazon S3 関するの知識を整理し、学びました。
および、S3 Bucketを作成し、静的ウェブサイトのホスティング作成、訪問しました。

モバイルバージョンを終了