【AWS】S3の特徴とは?

S3とは「どこからでも簡単に、お好みの量のデータを保存したり取得できるオブジェクトストレージ」です。

様々な特徴があるので、この記事でまとめてみたいと思います。

【AWS】S3の特徴とは?

公式サイト

 

S3の特徴

ダッシュボード画面

 

名称: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のデータ構造

頂点のフォルダ:バケット(東京リージョン、アメリカリージョン)

フォルダー:プリフィックス

データ:オブジェクト

S3のオブジェクト構成

  • Key
    • オブジェクトの名前
    • バケットないのオブジェクトを一意に識別する
  • 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にファイルを配置したときに、様々な AWS サービスを呼び出すことができる
  • Lambda関数などを呼び出すことができる
    • Lambda 関数を利用してアップロードしたファイルに権限をつけることができる
  • アップロード 時でなくDELETE時にもイベント通知ができる

 

ストレージクラスについて

    S3のバージョニング機能について

    ファイルをバージョン管理して、削除してしまった場合にも復元ができる

    ライフサイクルマネジメントについて

    指定した日数(例:180日後)にGladierにファイルの移動ができる

    利用しなくなったファイル群を移動して維持費を減らすことができる

     

    S3のコストについて

    保管料

    標準かGlacierかによって変わる

     

    拡張機能について

    マルチパートアップロードはS3に大きなファイルをアップロードする際に利用する機能

     

    転送量

    同一リージョン間のAWSサービスとの連携:無料

    受信:無料

    送信:有料(画像など動画をネット配信する場合など)

     

    リクエスト量

    無料:DELETE

    有料:GET/PUT/LIST/COPYなどリクエスト数に応じて

     

    通信プロトコル

    S3ではSecure File Transfer Protocol (SFTP) を使用して Amazon S3 との間でファイルを直接転送することができます

     

    パフォーマンスについて

    Amazon S3 は、既存の設定のままでデータの追加で少なくとも 3,500 リクエスト/秒、データの取得で 5,500 リクエスト/秒をサポートできるようにパフォーマンスを向上させることが可能です。

    それぞれの S3 プレフィックスがこうしたリクエストレートをサポートできるようになり、パフォーマンスを大幅に向上させることが簡単になりました。

     

    S3 の共有データセットへの大規模なデータアクセスの管理を簡素化

    S3 の共有データセットへの大規模なデータアクセスの管理を簡素化するアクセス設定としては、 S3 アクセスポイントを利用することが求められます。

    Amazon S3 アクセスポイントは、S3 の共有データセットへの大規模なデータアクセスの管理を簡素化する機能です。アクセスポイントは、バケットにアタッチされた名前付きのネットワークエンドポイントで、S3 オブジェクトのオペレーション (GetObject や PutObject など) を実行するために使用できます。各アクセスポイントには、そのアクセスポイントを介したすべてのリクエストに S3 が適用する個別のアクセス許可とネットワークコントロールを実行できます。各アクセスポイントは、基になるバケットにアタッチされたバケットポリシーと連動して機能するカスタマイズされたアクセスポイントポリシーを適用します。

     

     

    Amazon S3 Transfer Acceleration を使用すると、クライアントと S3 バケットの間で、長距離にわたるファイル転送を高速、簡単、安全に行えるようになります。

     

    セキュリティ

    VPC エンドポイントを利用することで、AWS PrivateLink がサポートされている AWS サービスや VPC エンドポイントサービスに対して、インターネットを介さずに VPC をプライベートに接続できます

     

    アップロード機能

    マルチパートアップロード API を使用して大容量オブジェクトをいくつかにS3にアップロードすることができます

     

     

     

    おすすめの記事