Amazon S3徹底解説! クラウドストレージの基本と活用法

Amazon S3徹底解説! クラウドストレージの基本と活用法
Amazon S3徹底解説

Amazon S3徹底解説! クラウドストレージの基本と活用法

Amazon Simple Storage Service (Amazon S3)は、AWSが提供する業界をリードするオブジェクトストレージサービスです。その高いスケーラビリティ、データ可用性、セキュリティ、パフォーマンスにより、世界中のあらゆる規模や業界のお客様に利用されています。

S3の基本概念

S3は、データをオブジェクトとしてバケットと呼ばれるコンテナに保存します。オブジェクトはファイル本体とそのファイルを記述するメタデータで構成され、バケット内でキー(キー名)によって一意に識別されます。

99.999999999%
データ耐久性 (イレブンナイン)
99.99%
可用性

S3の最大の特長は、その比類ない耐久性です。複数のデータセンターとデバイスにデータを自動的に複製することで、データの耐久性と可用性を確保しています。また、容量が無制限であり、使用した分だけ料金を支払う従量課金制のため、ストレージのプロビジョニングを心配する必要がありません。

S3の主要な特徴と要点

S3は、アクセス頻度やコスト要件に応じて最適なストレージクラスを提供しています。

S3標準
最もスタンダードなクラスで、アクセス頻度の高いデータ向けに最適です。新規作成時にデフォルトで選択されます。
S3標準- 低頻度アクセス (S3 Standard-IA)
アクセス頻度は低いが、必要な時に素早くデータを取り出したい場合にコストを抑えられます。データ取り出し時に料金が発生します。
S3 One Zone-低頻度アクセス (S3 One Zone-IA)
データを1つのアベイラビリティーゾーン (AZ) にのみ保存することで、Standard-IAよりもさらに安価に利用できますが、可用性は低くなります。
S3 Intelligent-Tiering
アクセスパターンが不明確なデータや変化するデータに最適です。アクセスパターンに基づいて4つのアクセス層間でデータを自動的に移動し、ストレージコストを最適化します。
S3 Glacier
低コストでセキュアな長期データ保存およびアーカイブサービスです。監査用データなど、業務では使用しないが長期間保管が必要なデータに適しています。データ取り出しに時間とコストがかかる点に注意が必要です。
S3 Glacier Instant Retrieval
S3 Glacierの最新クラスで、アーカイブデータ向けに最も低コストでありながら、ミリ秒単位でデータを取り出せます。
S3 Glacier Deep Archive
S3 Glacierの中で最も低コストなアーカイブストレージクラスで、数時間でデータを取り出すことが可能です。
S3 Express One Zone
単一AZ内での高パフォーマンスと1桁ミリ秒単位の一貫したデータアクセスを提供する、最もレイテンシーの影響を受けやすいアプリケーション向けのストレージクラスです。

S3は、デフォルトでバケットとオブジェクトはプライベートであり、アクセス許可を明示的に付与した場合にのみアクセスできます。

  • S3 バケットとオブジェクトへのパブリックアクセスをブロック (S3 Block Public Access): デフォルトで有効化されており、意図しないパブリックアクセスを防ぎます。
  • AWS Identity and Access Management (IAM): ユーザー、グループ、ロールに対して、S3リソースへのアクセスをきめ細かく制御できます。
  • バケットポリシー: S3バケットと、その中のオブジェクトに対するリソースベースの許可をJSON形式で設定できます。
  • アクセスコントロールリスト (ACL): 個々のバケットやオブジェクトに対して読み書きの許可を付与できますが、一般的にはバケットポリシーやIAMポリシーの使用が推奨されます。
  • サーバーサイド暗号化 (SSE): 保存時のデータを保護するための暗号化オプションを提供します。S3がキーを管理するSSE-S3、AWS Key Management Service (KMS) がキーを管理するSSE-KMS、お客様がキーを提供するSSE-Cがあります。データ転送中の暗号化も可能です。
  • S3バージョニング: 同じバケット内でオブジェクトの複数のバージョンを保持する機能で、誤って削除または上書きされたオブジェクトの復元に役立ちます。
  • S3レプリケーション(クロスリージョンレプリケーションを含む): オブジェクトを同じまたは異なるAWSリージョンにある他のS3バケットに複製し、データの耐久性、可用性、災害対策を向上させます。
  • データ整合性モデル: 新しいオブジェクトのPUTとDELETE操作に関して、すべてのAWSリージョンで書き込み後読み取りの強力な整合性を提供します。
  • 静的ウェブホスティング: S3バケットにHTMLファイルをアップロードすることで、静的なウェブサイトをホストできます。
  • 署名付きURL: 有効期限付きのURLを作成し、一時的にデータへのアクセスを許可できます。
  • S3イベント通知: 特定のS3イベント(オブジェクトの作成、更新、削除など)が発生した際に、AWS Lambda関数やAmazon SNS、Amazon SQSなどの他のAWSサービスをトリガーできます。

まとめ

S3は、単なるストレージサービスにとどまらず、データレイク、バックアップ、アーカイブ、ウェブホスティングなど、幅広いユースケースでAWSクラウド環境の基盤として利用されています。