【AWS】S3の特徴とは?用途がたくさんある便利ストレージです。

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

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

【AWS】S3の特徴とは?

  1. 無制限にデータを保存できる。
  2. オブジェクトはURLを介してアクセスできる。
  3. Amazon S3 オブジェクトのサイズは、最低 0 バイトから最大 5 テラバイトまで
  4. オートスケーリングなどの拡張機能はない
  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のバージョニング機能について

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

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

      指定した日数(例: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にアップロードすることができます

       

       

       

      おすすめの記事