
目次
S3とは「どこからでも簡単に、お好みの量のデータを保存したり取得できるオブジェクトストレージ」です。
様々な特徴があるので、この記事でまとめてみたいと思います。
【AWS】S3の特徴とは?
- 無制限にデータを保存できる。
- オブジェクトはURLを介してアクセスできる。
- Amazon S3 オブジェクトのサイズは、最低 0 バイトから最大 5 テラバイトまで
- オートスケーリングなどの拡張機能はない
- Amazon S3はデータ量に加えて、データリクエストに応じて課金される
AWS公式サイトの説明
ダッシュボード画面
名称:Simple Strage Service
耐久性
安価で耐久性が高い
99.99%....の耐久性
料金
1GBあたり約3円
容量
保存容量の上限なし
1データファイルの上限は5TB
Amazon S3は最大5TBのラージオブジェクトの保存が可能であり、非構造化BLOBを保存に適しています
1つのPUT操作でアップロードできる最大オブジェクトは5ギガバイトです。
冗長化
自動で冗長化してデータを保存してくれる
オブジェクトストレージとは?
- HTTPSのプロトコルで通信する
- 他ストレージ(EBS、EFS)より読み書きが遅い
- 多数の大きなファイルを取り扱うのに向いている
- APIを使用した開発が容易
ストレージの種類
- EBS:ブロックストレージ(SCSI接続)
- EFS:ファイルストレージ(LAN接続)
- S3:オブジェクトストレージ(HTTPS接続)
S3、3つのデータ構造
※( )内は例
- バケット(頂点のフォルダ)
- プレフィックス(フォルダー)
- オブジェクト(データ)
S3バケット
オブジェクトの保存場所。
名前はグローバルでユニークなものにする。
しなければ、エラーが出て作成できない。
S3オブジェクト
データ本体。
S3に格納されるファイル。
URLが付与される。
バケット内のオブジェクト数は無制限に作成可能。
- Key
- オブジェクトの名前
- オブジェクトの格納URLパス
- オブジェクトを作成するとキーが付与される
- バケットないのオブジェクトを一意に識別する
- Value
- データそのものであり、バイト値で構成される
- バージョンID
- バージョン管理に用いるID
- メタデータ
- オブジェクトに不随する属性の情報
- サブリソース
- バケット構成情報を保存および管理するためのサポートを提供
- アクセス制御リスト(ACL)
S3のデータ更新速度について
可能性を保つために以下の整合性モデルを採用している。
同時書き込みする場合はタイムスタンプを見て、順序を入れ替えデータの整合性を担保している。
- 新規登録
- Consistency Read
- 即時書き込み
- 更新
- Eventual Consistency Read
- データ反映に時間がかかる
- 削除
- Eventual Consistency Read
- データ反映に時間がかかる
S3の静的Webサイトのホスティング機能について
- オブジェクト(例えばindex.html)をバケットなどに作成すると各オブジェクトに「エンドポイントURL」というものが関連付けされる
- publicに読み取り権限をつける
- ホスティング機能をオンにする
- ユーザーは「エンドポイント URL」にアクセスしてオブジェクト(今回はindex.html)にアクセスできる
- キャンペーンのランディングページなどに利用できる
Amazon S3で静的ウェブサイトをホスティングできます。静的ウェブサイトのルーティング設定をスケーリングするためにはRoute53と連携させることが必要です。Route53を利用してエイリアスレコードを作成してドメインのホストゾーンに追加し、pintor.com と www.pintor.com を対応する S3 バケットにマッピングします。エイリアスレコードでは、IP アドレスを使用する代わりに、Amazon S3 ウェブサイトエンドポイントを使用します。Amazon Route 53 によって、エイリアスレコードと、Amazon S3 バケットが存在する IP アドレスとのマッピングが維持されます
Route 53 に登録されたカスタムドメインを使用した静的ウェブサイトの設定
S3のセキュリティについて
S3 イベント通知機能
S3でイベント通知するには?
ストレージクラスについて
S3のバージョニング機能について
ファイルをバージョン管理して、削除してしまった場合にも復元ができる
ライフサイクルマネジメントについて
指定した日数(例:180日後)にGladierにファイルの移動ができる
利用しなくなったファイル群を移動して維持費を減らすことができる
S3のコストについて
保管料
標準かGlacierかによって変わる
拡張機能について
マルチパートアップロードはS3に大きなファイルをアップロードする際に利用する機能
転送量
同一リージョン間のAWSサービスとの連携:無料
受信:無料
送信:有料(画像など動画をネット配信する場合など)
リクエスト量
無料:DELETE
有料:GET/PUT/LIST/COPYなどリクエスト数に応じて
通信プロトコル
S3ではSecure File Transfer Protocol (SFTP) を使用して Amazon S3 との間でファイルを直接転送することができます
パフォーマンスについて
S3 の共有データセットへの大規模なデータアクセスの管理を簡素化
S3 の共有データセットへの大規模なデータアクセスの管理を簡素化するアクセス設定としては、 S3 アクセスポイントを利用することが求められます。
Amazon S3 アクセスポイントは、S3 の共有データセットへの大規模なデータアクセスの管理を簡素化する機能です。
アクセスポイントは、バケットにアタッチされた名前付きのネットワークエンドポイントで、S3 オブジェクトのオペレーション (GetObject や PutObject など) を実行するために使用できます。
各アクセスポイントには、そのアクセスポイントを介したすべてのリクエストに S3 が適用する個別のアクセス許可とネットワークコントロールを実行できます。
各アクセスポイントは、基になるバケットにアタッチされたバケットポリシーと連動して機能するカスタマイズされたアクセスポイントポリシーを適用します。
Amazon S3 Transfer Acceleration を使用すると、クライアントと S3 バケットの間で、長距離にわたるファイル転送を高速、簡単、安全に行えるようになります。
セキュリティ
VPC エンドポイントを利用することで、AWS PrivateLink がサポートされている AWS サービスや VPC エンドポイントサービスに対して、インターネットを介さずに VPC をプライベートに接続できます
アップロード機能
マルチパートアップロード API を使用して大容量オブジェクトをいくつかにS3にアップロードすることができます