【AWS】S3について知ってることをまとめる

IT
  • 自分の理解を深めたいので、これまでに自分がS3について理解したことを言語化する
    • 言語化すると、理解していることとこれから勉強する必要のあるところが明確になりそう
    • 今後理解が深まったら、追記する

S3の概要

  • S3とは
    • AWSサービスのうち、ストレージサービスの代表格
    • 結構AWSでのストレージといえばS3のようなイメージ(偏っていますが(^_^;))がある
    • Simple Storage Serviceの略でS3
  • 単純なストレージとしての役割よりは、他のサービス(ECS, Lambda etc.)が動く時に使用するストレージの意味が強い
  • S3はストレージサービスの中でも安いが、ストレージサービスはS3だけではないので、注意
    • 僕はaws使う時に、何かを保存する時はS3だと勝手に思ってたので、みなさんは他サービスと比較してメリットデメリットをきちんと検討してください(笑)
    • ただ実際のところ、他のサービスと比較検討した結果S3になることは多そう

S3の特徴

S3はオブジェクトストレージ

  • 見た目はファイルストレージに見えるがS3はオブジェクトストレージ
    • boto3とかでS3を参照する時にここを間違えていると、困る時があるかも?
    • 僕はファイルストレージだと思っていました(^_^;)
    • コンソールからみるとUI的にはファイルストレージライク操作できるが、本質的にはオブジェクトストレージ

S3の仕組み

レプリケーション

  • S3は耐久性向上のため、保存されたリージョンの3つのアベイラリビティーゾーン(AZ)に保存される
  • ユーザーがS3にデータを保存・変更した際には、自動的に同期が取られて、3つに反映される
    • この反映されるタイミングについて、場合によっては注意が必要
    • 後述の「強い整合性」の話

整合性モデル = 強い整合性

  • S3は整合性モデルとして強い整合性を用いている
    • ファイルの書き込み・削除がすぐに反映される
    • レプリケーションに反映されるという意味
  • 普段意識することはあまりないが、プラットフォーム開発・運用の際は場合によって鍵となる要素のため注意
    • 仕事中に何度か議題の中でこれについての議論がされている
  • 以前はこの強い整合性ではなかった(結果整合性だった)ため、より開発の際、注意が必要なものだった

S3の料金

  • AWSの他サービス同様、S3も従量課金性
  • 保存しているデータ容量が多いほど高くなる
  • ただ、↑だけでない点に注意
    • 保存するのは安いが、取り出すと高い料金がかかる
    • 保守性が高いが、料金が上がる
      など、特性を持った種類があるため、S3利用時には検討が必要

コメント

タイトルとURLをコピーしました