Amazon S3って何?

AWS (Amazon Web Services) が提供する安全で信頼性の高いクラウドストレージサービスとなります。
webサイトのホスティングやデータのバックアップ・復元、大量のデータの分析処理等、他のサービスとの連携で、様々な用途で使用することができます。

サービスの特徴

ストレージ機能

  • オブジェクトストレージ
    あらゆる種類のデータをオブジェクトとして保存することができます。
    オブジェクトとはファイルとそのファイルに関連した情報がまとまったものとなり、基本的にオブジェクト単位でデータを管理します。
  • ストレージクラス
    Standard、Intelligent-Tiering、Standard-IA、One Zone-IA、Glacier、Glacier Deep Archive などがあり、アクセス頻度やデータの要件に応じて様々なストレージクラスを選択可能。
    ストレージクラスに応じてコストが決定します。
  • ライフサイクル管理
    オブジェクトのライフサイクルを自動的に管理、コストを最適化する。
    データの使用状況(アクセス頻度等)から判断し、最適なストレージクラスへ移行できます。
  • バージョン管理
    オブジェクトの変更履歴を管理し、以前のバージョンに戻すことができます。
  • レプリケーション
    別のリージョンやストレージクラスにオブジェクトをコピーし、データの冗長性を確保できます。
    データのバックアップだけでなく、別のリージョンに複製することで大規模な災害対策にもなります。
  • 暗号化
    保存時および転送時のデータを暗号化し、セキュリティを強化できます。

データ管理機能

  • メタデータ
    オブジェクトに関する情報を付加し、検索や管理を容易にできます。
    データそのものではなく、データに対しての説明というイメージ
  • タグ付け
    オブジェクトにタグを付与し、グルーピングやフィルタリングを可能にします。
  • インベントリ
    オブジェクトのメタデータのリストを定期的に生成し、管理に役立てることができます。
  • 分析
    オブジェクトの利用状況やアクセスパターンを分析し、最適化することができます。
  • イベント通知
    オブジェクトの作成、変更、削除などのイベントをトリガーに、様々な処理を実行できます。

アクセス管理機能

  • アクセス制御リスト (ACL)
    オブジェクト単位でアクセス権限を設定できます。ユーザやグループに対しても権限付与が可能です。
  • IAM (Identity and Access Management)
    AWS アカウント全体のアクセス権限を管理できます。
  • バケットポリシー
    バケット単位でアクセス権限を設定できます。バケットとはオブジェクトの入れ物のようなイメージです。
  • 署名付き URL
    一時的なアクセス権限を持つ URL を生成し、安全にデータを共有できます。
    有効期限やアクセス制限などの情報を付加できるため、セキュリティを確保することができます。

Amazon S3のメリット・デメリット

メリット

  • 安全性
    複数の場所にデータが冗長されているため、データ損失のリスクがかなり低いです。
    耐久性の指標としてイレブンナイン(99.999999999%)と定義されたりします。
  • 拡張性
    データの量に合わせて必要な容量を自動的に拡張することが可能です。 
  • 安全性
    アクセス制御や暗号化により、データを安全に保護しています。
  • コスト効率
    使用分の料金を支払う仕組みなので、コスト効率に優れています。
  • 統合性
    他のAWSサービスとの連携が容易に可能です。

デメリット

  • 料金
    コストの最適化をしたとしても、データの転送量やS3へのリクエスト数に応じて料金が発生してしまいます。
  • 機能性の多さ
    多様な機能があるため、設定や管理が複雑になる可能性があります。
  • セキュリティ面
    インターネットに接続するため、アクセス権限の設定を誤るとデータ漏洩の可能性があります。

まとめ

・安全で信頼性の高いクラウドストレージサービス
・耐久性の指標はイレブンナイン(99.999999999%)
・使用量、アクセス数に応じて自動的に適切なストレージクラスを選択可能
・他サービスとの連携が多い