NRIネットコム Blog

NRIネットコム社員が様々な視点で、日々の気づきやナレッジを発信するメディアです

歴史・年表でみるAWSサービス(Amazon S3編) -単なるストレージではない機能・役割と料金の変遷-

本記事はNRIネットコム Advent Calendar 2021 1日目の記事です。
🎄 0日目 ▶▶ 本記事 ▶▶ 2日目 🎅

小西秀和です。
現在、AWSでは年に一回のAWS re:Inventというイベントの真っ最中で多数の新サービスの発表やセッションがおこなわれています。
そんな状況ですが、今回は当ブログ初のアドベント企画ということで、最新情報とは真逆のアプローチで記事を書いてみました。
最新情報を追うことに疲れた方はこちらの記事で、自分の歴史と照らし合わせながらチルアウトしてみてはいかがでしょうか

さて、今回のテーマはAmazon S3の年表を作って歴史やアップデートを振り返ろうというものです。このテーマにしたきっかけは2つあります。

まず、1つ目は2006年3月14日にサービス開始したAmazon S3が今年、2021年3月14日に15周年を迎えたことです。
そして2つ目は私が当ブログ開始時に初回投稿したAWS認定記事が2021年3月16日だったのですが、当時はAWS認定の魅力について書きたい気持ちが強く機会を逃してしまったことです。

そのため、アドベント企画をきっかけにAmazon S3の15年間の進化を振り返り、個人的に当ブログの開始当初を顧みながらこの記事を書きました。

ちなみに2006年8月25日にサービス開始したAmazon EC2も2021年8月25日で15周年だったのですが、こちらは規模が大きすぎるので機会があれば複数の観点に分けて記事を書こうかと思っています。

それでは、本題に入っていきます。

Amazon S3歴史年表の作成経緯と方法

AWSブログではAmazon S3の誕生15周年の記事が、AWSブログ開始時から多数の記事を投稿し、Amazon S3サービス開始時の記事も書いたチーフエバンジェリストのJeff Barrによって書かれています。
記事ではAmazon S3のオブジェクト数が100兆個を超えたことや開始当初から今日に至るまでの設計概念や料金モデルが書かれており、ライブストリームの公開ビデオへのリンクも記載されています。

これらのAWSのメディアを見て、今や無くてはならないAWSサービスとなったAmazon S3を自分なりに整理して歴史と主要なアップデートをまとめてみたいと思い作成したのが後述の年表です。
この年表は主に次のブログやドキュメント履歴のAmazon S3に関する内容を参考にしています。

ただ、Amazon S3の料金に関してはデータ転送料金やリクエスト料金などが公開情報からすべての料金変更を追うことができずに中途半端な掲載になることから、US Standard(現在のus-east-1)のスタンダードおよびGlacierのストレージ料金の変遷のみを記載しています。
また、年表の日付は参考にした資料によってアナウンスや記事投稿のタイミングが違う場合もあったため若干のブレがあります。
Amazon S3と連携するサービスは近年に近づくに連れ多数あるため、Amazon S3を主要な機能とするものに限定して掲載しています。
つまり、ここの年表にあるものがAmazon S3の料金や機能のアップデートの全てではなく、あくまで私がピックアップした代表的なアップデートであることにご注意ください

Amazon S3歴史年表(2006年3月14日~2023年06月01日までのアップデート)

さて、ここからがAmazon S3の機能とストレージ料金の年表になります。
Amazon S3の歴史は2006年3月14日の円周率の日にAmazon Web Servicesで最初にGenerally Available(GA、一般提供開始)になるインフラストラクチャサービスとして登場することから始まります
Amazon S3の15年間の歴史は主要なものをまとめても、かなり長いので必要に応じてスクロールを早めてください。

※ストレージ料金階層の「(○○TB-●●TB)」という表記は「使用量のうち○○TB超過●●TB以下に該当する容量」を意味します。
例えば「(1)最初の50TB/月(0TB-50TB)」「(2)次の450TB/月(50TB-500TB)」という階層で実際の使用量が90TBだった場合、50TBが(1)に該当する容量、40TBが(2)に該当する容量となります。
※テーブルは項目名クリックでソートできます。

年月日概要
2006/03/14Amazon S3サービス一般提供開始(GA)のアナウンス。
99.99%の耐久性、REST、SOAP、BitTorrentプロトコルによるインターフェイスを提供。
<US Standard(us-east-1)の場合>
・ストレージ料金:月額0.15USD/GB

参考:Amazon S3
2008/10/08Amazon S3ストレージ料金値下げのアナウンス(2008/11/01から適用)。
<US Standard(us-east-1)の場合>
・ストレージ料金(スタンダード)
 最初の50TB/月(0TB-50TB):月額0.150USD/GB
 次の50TB/月(50TB-100TB):月額0.140USD/GB
 次の400TB/月(100TB-500TB):月額0.130USD/GB
 500TB/月を超える場合:月額0.120USD/GB

参考:Amazon S3 – Busier Than Ever
2008/11/17Amazon S3の静的コンテンツをエッジロケーションでキャッシュして配信するAmazon CloudFrontが提供開始。

参考:Distribute Your Content With Amazon CloudFront
2009/08/13AWS Import/Export(のちのAWS Snowballファミリー)ベータ版でAmazon S3へのデータのインポート/エクスポートの両方ができるようになる。

参考:Adding the Export to AWS Import/Export
2009/11/11Amazon CloudFrontでOrigin Access Identity(OAI)を使用したAmazon S3コンテンツのアクセス制限ができるようになる。
(当時はマネジメントコンソールやバケットポリシーが無いのでACLにOAIを指定し、ローカルでCloudBerry Explorerなどのサードパーティツールを使用してAmazon CloudFrontの署名付きURLを発行していた。)

参考:New Amazon CloudFront Feature: Private Content
2009/12/07Amazon S3ストレージ料金値下げと料金階層の追加(2009/12/01から適用)。
<US Standard(us-east-1)の場合>
・ストレージ料金(スタンダード)
 最初の50TB/月(0TB-50TB):月額0.150USD/GB
  次の50TB/月(50TB-100TB):月額0.140USD/GB
 次の400TB/月(100TB-500TB):月額0.130USD/GB
 次の500TB/月(500TB-1PB):月額0.105USD/GB
 次の4PB/月(1PB-5PB):月額0.080USD/GB
 5PB/月を超える場合:月額0.055USD/GB

参考:AWS Price Reductions and Free Inbound Data Transfer
2010/02/08オブジェクトのバージョン管理のサポート。

参考:Versioning Feature for Amazon S3 Now Available
2010/05/18スタンダードストレージクラスの可用性が99.999999999%の耐久性を提供するようになる。
同時に99.99%の耐久性を提供するReduced Redundancy Storage(RSS)機能を使用した低冗長化ストレージクラス(REDUCED_REDUNDANCY)が追加。

参考:New: Amazon S3 Reduced Redundancy Storage (RRS)
2010/06/09AWSマネジメントコンソールでAmazon S3が使用できるようになる。
(これまではS3Fox Organizer for Amazonなどを使用してローカルからGUI操作でAPI実行していた)

参考:AWS Management Console Now Supports Amazon S3
2010/07/06バケットのアクセス制御を設定するバケットポリシーのサポート
(これまではACLのみによるアクセス制御だった)

参考:Amazon S3 Bucket Policies – Another Way to Protect Your Content
2010/07/14通知(Amazon SNSトピックへの連携)のサポート

参考:Amazon S3 and Amazon SNS – Best Friends Forever
2010/10/21AWSクラウド無料利用枠のアナウンス(2010/11/1日適用開始)。
このときAmazon S3は5GBまでのストレージが無料枠となった。

参考:Announcing AWS Free Usage Tier
2010/11/01Amazon S3ストレージ料金値下げと料金階層の変更
<US Standard(us-east-1)の場合>
・ストレージ料金(スタンダード)
 最初の1TB/月(0TB-1TB):月額0.140USD/GB
 次の49TB/月(1TB-50TB):月額0.125USD/GB
 次の450TB/月(50TB-500TB):月額0.110USD/GB
 次の500TB/月(500TB-1PB):月額0.095USD/GB
 次の4PB/月(1PB-5PB):月額0.080USD/GB
 5PB/月を超える場合:月額0.055USD/GB

参考:What Can I Say? Another Amazon S3 Price Reduction!
2010/11/10ファイルをパーツに分解して非同期でアップロードするマルチパートアップロードのサポート

参考:Amazon S3: Multipart Upload
2010/11/18AWSがISO27001認証を取得(Amazon S3等をカバーするISMSが対象)。

参考:AWS Achieves ISO 27001 Certification
2010/12/09最大5TBまでのラージオブジェクトの保存をサポート

参考:Amazon S3 – Object Size Limit Now 5 TB
2011/02/17静的ウェブサイトホスティングのサポート。

参考:Host Your Static Website on Amazon S3
2011/03/02AWS Asia Pacific(Tokyo, ap-northeast-1)リージョンの提供開始。
同時にAmazon S3もap-northeast-1で使用できるようになる。

参考:Announcing the AWS Asia Pacific (Tokyo) Region
2011/05/03AWS Identity and Access Management(IAM)がGAとなり、Amazon S3の管理機能も正式提供。
(ただし、2010/09/02からIAMはベータ版としてサービス提供していた。)

参考:IAM: AWS Identity and Access Management – Now Generally Available
2011/06/29すべてのリージョンでデータ転送料金(イン)が無料になる。
これまではAmazon S3でもデータをアップロードする際のデータ転送料金が有料だった。

参考:AWS Lowers its Pricing Again! – No Inbound Data Transfer Fees and Lower Outbound Data Transfer for All Services including Amazon CloudFront
2011/08/04IAMのIdentity Federationのサポート。
Amazon S3へのアクセスも一時的なセキュリティ認証情報を使用してアクセスできるようになる。

参考:AWS Identity and Access Management – Now With Identity Federation
2011/09/22Amazon S3で署名付きURLを使用したオブジェクトの共有をサポート

参考:Document history - Amazon Simple Storage Service
2011/10/04Amazon S3側で管理されるAES-256暗号化を使用したServer Side Encryption(SSE)のサポート

参考:New – Amazon S3 Server Side Encryption for Data at Rest
2011/12/071回のリクエストで複数のオブジェクトを削除するマルチオブジェクト削除のサポート

参考:Amazon S3 – Multi-Object Delete
2011/12/27オブジェクトの有効期限(ライフサイクルルール)のサポート

参考:Amazon S3 – Object Expiration
2012/02/06Amazon S3ストレージ料金値下げ(2012/02/01から適用)のアナウンス
<US Standard(us-east-1)の場合>
・ストレージ料金(スタンダード)
 最初の1TB/月(0TB-1TB):月額0.125USD/GB
 次の49TB/月(1TB-50TB):月額0.110USD/GB
 次の450TB/月(50TB-500TB):月額0.095USD/GB
 次の500TB/月(500TB-1PB):月額0.090USD/GB
 次の4PB/月(1PB-5PB):月額0.080USD/GB
 5PB/月を超える場合:月額0.055USD/GB

参考:Amazon S3 Price Reduction
2012/07/10Amazon S3でAPIアクセスのMFA保護をサポート。

参考:New AWS Feature – MFA-Protected API Access
2012/06/05AWS請求データをAmazon S3に出力するProgrammatic Access to AWS Billing Dataを提供開始。

参考:New – Programmatic Access to AWS Billing Data
2012/08/21Amazon Glacier(のちのAmazon S3 Glacier)サービス開始のアナウンス。
99.999999999%の耐久性を提供。

<US Standard(us-east-1)の場合>
・ストレージ料金(Glacier)
 月額0.01USD/GB

参考:Amazon Glacier: Archival Storage for One Penny Per GB Per Month
2012/08/21Amazon S3バケットのコスト配分タグのサポート

参考:AWS Cost Allocation For Customer Bills
2012/08/31Cross Origin Resource Sharing(CORS)のサポート

参考:Amazon S3 announces Cross-Origin Resource Sharing (CORS) support
2012/10/04静的ウェブサイトホスティングでのリダイレクト設定のサポート

参考:Amazon S3 – Support for Website Redirects
2012/11/13Amazon S3からAmazon Glacierへのデータアーカイブをサポート

参考:Archiving Amazon S3 Data to Amazon Glacier
2012/11/15Amazon Glacierのアーカイブ取得範囲指定のサポート

参考:New – Range Retrieval for Amazon Glacier
2012/11/29Amazon S3ストレージ料金値下げ(2012/12/01から適用)のアナウンス
<US Standard(us-east-1)の場合>
・ストレージ料金(スタンダード)
 最初の1TB/月(0TB-1TB):月額0.095USD/GB
 次の49TB/月(1TB-50TB):月額0.080USD/GB
 次の450TB/月(50TB-500TB):月額0.070USD/GB
 次の500TB/月(500TB-1PB):月額0.065USD/GB
 次の4PB/月(1PB-5PB):月額0.060USD/GB
 5PB/月を超える場合:月額0.055USD/GB

参考:Amazon S3 Storage Price Reduction (24 to 28%)
2012/12/27静的ウェブサイトホスティングのルートドメイン(Zone Apex)のサポート

参考:Root Domain Website Hosting for Amazon S3
2013/04/03Amazon S3バケットポリシーにおけるIAMポリシー変数のサポート

参考:Variables in AWS Access Control Policies
2013/11/13Amazon S3にアクティビティの証跡ログが配信されるAWS CloudTrailサービス開始のアナウンス。

参考:Announcing AWS CloudTrail
2014/01/21Amazon S3ストレージ料金値下げ(2014/02/01から適用)のアナウンス
<US Standard(us-east-1)の場合>
・ストレージ料金(スタンダード)
 最初の1TB/月(0TB-1TB):月額0.085USD/GB
 次の49TB/月(1TB-50TB):月額0.075USD/GB
 次の450TB/月(50TB-450TB):月額0.060USD/GB
 次の500TB/月(500TB-1PB):月額0.055USD/GB
 次の4PB/月(1PB-5PB):月額0.051USD/GB
 5PB/月を超える場合:月額0.043USD/GB

参考:AWS Update – New M3 Sizes & Features + Reduced EBS Prices + Reduced S3 Prices
2014/03/26Amazon S3ストレージ料金値下げ(2014/04/01から適用)のアナウンス
<US Standard(us-east-1)の場合>
ストレージ料金(スタンダード)
 最初の1TB/月(0TB-1TB):月額0.0300USD/GB
 次の49TB/月(1TB-50TB):月額0.0295USD/GB
 次の450TB/月(50TB-500TB):月額0.0290USD/GB
 次の500TB/月(500TB-1PB):月額0.0285USD/GB
 次の4PB/月(1PB-5PB):月額0.0280USD/GB
 5PB/月を超える場合:月額0.0275USD/GB

参考:AWS Price Reduction #42 – EC2, S3, RDS, ElastiCache, and Elastic MapReduce
2014/05/20ライフサイクルルールでバージョン管理されたオブジェクトをサポート

参考:Amazon S3 Lifecycle Management for Versioned Objects
2014/06/12顧客提供の暗号化キーを使用したサーバーサイド暗号化(SSE-C)をサポート

参考:Use Your own Encryption Keys with S3’s Server-Side Encryption
2014/11/12AWS Key Management Service(AWS KMS)が発表されAWS KMSを使用したサーバーサイド暗号化(SSE-KMS)をサポート

参考:New AWS Key Management Service (KMS)
2014/11/12イベントをトリガーにしてAmazon SNS、Amazon SQS、AWS Lambdaに通知をするイベント通知のサポート。

参考:New Event Notifications for Amazon S3
2014/12/11Amazon Glacierでデータ取得ポリシーと監査ログをサポート

参考:New AWS Key Management Service (KMS)
2015/03/24クロスリージョンレプリケーションをサポート

参考:New – Cross-Region Replication for Amazon S3
2015/04/27Amazon GlacierでVaultアクセスポリシーをサポート

参考:New – Glacier Vault Access Policies
2015/05/11ゲートウェイ型VPCエンドポイントによるVPCとAmazon S3のプライベート接続およびバケットポリシーによるVPCエンドポイント指定の制御をサポート。

参考:New – VPC Endpoint for Amazon S3
2015/07/08Amazon GlacierでVault Lockをサポート

参考:Meet Regulatory Storage Requirements with Amazon Glacier Vault Lock
2015/07/29イベント通知でオブジェクト削除イベントがサポートされ、プレフィックス・サフィックスによるオブジェクトのフィルタリング機能が追加される。

参考:Amazon S3 Adds Prefix and Suffix Filters for Lambda Function Triggering
2015/08/04AWSアカウントあたりAmazon S3バケット数は最大100個までだったが、サービス上限の引き上げリクエストで増やすことができるようになる。

参考:Amazon S3 Introduces New Usability Enhancements
2015/08/04US Standard(us-east-1)のみがここまでPUTによる新しいオブジェクトは結果整合性だったが、書き込み後の読み込み整合性がサポートされ、すべてのリージョンの整合性モデルが同じになった。
・PUTによる新しいオブジェクトは書き込み後の読み込み整合性
・PUTによる上書きとDELETEは結果整合性

参考:Amazon S3 Introduces New Usability Enhancements
2015/09/16低頻度アクセス用の S3 Standard – Infrequent Access (Standard – IA)クラスのサポート

参考:AWS Storage Update – New Lower Cost S3 Storage Option & Glacier Price Reduction
2015/09/16Amazon Glacierストレージ料金値下げ(2015/09/01から適用)のアナウンス
<us-east-1の場合>
・ストレージ料金(Glacier)
 月額0.007USD/GB

参考:AWS Storage Update – New Lower Cost S3 Storage Option & Glacier Price Reduction
2015/12/11「US Standard」のリージョン名が「US East (N. Virginia) us-east-1」に変更になる。機能面での変更は無し。

参考:Document history - Amazon Simple Storage Service
2016/03/16ライフサイクルルールで期限切れのオブジェクト削除マーカーの削除、不完全なマルチパートアップロードの停止(不完全パーツの削除)をサポート。

参考:S3 Lifecycle Management Update – Support for Multipart Uploads and Delete Markers
2016/04/19Amazon S3 Transfer Accelerationの提供開始

参考:AWS Storage Update – Amazon S3 Transfer Acceleration + Larger Snowballs in More Regions
2016/08/11IPv6サポート

参考:Now Available – IPv6 Support for Amazon S3
2016/10/06Amazon S3 Transfer AccelerationのIPv6サポート

参考:IPv6 Support Update – CloudFront, WAF, and S3 Transfer Acceleration
2016/11/15ビッグデータ向けビジネス分析ツールのAmazon QuickSightがGAとなる。

参考:Amazon QuickSight Now Generally Available – Fast & Easy to Use Business Analytics for Big Data
2016/11/21Amazon Glacierで標準取り出しに加えて迅速取り出し、大容量取り出し(一括取り出し)ができるようになる。

参考:IPv6 Support Update – CloudFront, WAF, and S3 Transfer Acceleration
2016/11/21AWS CloudTrailによってAmazon S3オブジェクトレベルのAPI呼び出しを記録できるようになる。

参考:AWS Storage Update – S3 & Glacier Price Reductions + Additional Retrieval Options for Glacier
2016/11/21Amazon S3・Glacierストレージ料金値下げ(2016/12/01から適用)のアナウンス
<us-east-1の場合>
・ストレージ料金(スタンダード)
 最初の50TB/月(0TB-50TB):月額0.023USD/GB
 次の450TB/月(50TB-500TB):月額0.022USD/GB
 500TB/月を超える場合:月額0.021USD/GB

・ストレージ料金(Glacier)
 月額0.004USD/GB

以降、本記事執筆時点まで上記クラスのストレージ料金はこの料金が適用されている。

参考:AWS Storage Update – S3 & Glacier Price Reductions + Additional Retrieval Options for Glacier
2016/11/29オブジェクトのタグ付けをサポート

参考:AWS Storage Update – S3 & Glacier Price Reductions + Additional Retrieval Options for Glacier
2016/11/29ライフサイクルルールでタグベースのフィルタリングをサポート。
Amazon S3インベントリを提供開始。
Amazon S3 Analytics – ストレージクラス分析を提供開始。
Amazon CloudWatch S3メトリクスの改善。

参考:Revolutionizing S3 Storage Management with 4 new features
2016/11/30Amazon S3に保存されたデータを標準的なSQLで分析できるAmazon Athenaが提供開始

参考:Amazon Athena – Interactive SQL Queries for Data in Amazon S3
2016/12/22Amazon QuickSightがAmazon Athenaのクエリ結果を可視化できるようになる。

参考:Amazon QuickSight adds support for Amazon Athena
2017/04/19Amazon RedshiftからAmazon S3上のデータに対してSQLクエリが実行できるAmazon Redshift Spectrumが提供開始。

参考:Introducing Amazon Redshift Spectrum: Run Amazon Redshift Queries directly on Datasets as Large as an Exabyte in Amazon S3
2017/07/06Amazon S3 AnalyticsのデータをAmazon QuickSightで可視化できるようになる。

参考:Amazon QuickSight adds support for Amazon Athena
2017/08/14Amazon S3内の機密データを検出・保護するAmazon Macie for S3が提供開始。

参考:Launch – Hello Amazon Macie: Automatically Discover, Classify, and Secure Content at Scale
2017/11/06S3バケットのデフォルト暗号化設定をサポート

参考:Launch – Hello Amazon Macie: Automatically Discover, Classify, and Secure Content at Scale
2017/11/06AmazonS3インベントリで暗号化ステータスをサポート。
クロスリージョンレプリケーション(CRR)でSSE-KMS暗号化されたストレージを AWSリージョン間でレプリケートできるようになる。
CRRのアカウント間レプリケーションで送信元アカウントと送信先アカウントに別々のデータ所有権を設定できるようになる。

参考:New Amazon S3 Encryption & Security Features
2017/11/29Amazon S3 SelectのプレビューとAmazon Glacier Selectが発表される。

参考:S3 Select and Glacier Select – Retrieving Subsets of Objects
2018/02/12AWS Asia Pacific(Osaka, ap-northeast-3)リージョンがローカルリージョンとして提供開始。Amazon S3も利用できるようになる。

参考:【 AWS 新リージョン】 AWS 大阪ローカルリージョンが本日より利用可能になりました
2018/04/041つのアベイラビリティゾーンでデータを保持する低頻度アクセス用のS3 One Zone – Infrequent Access (One Zone-IA)クラスのサポート。
Amazon S3 SelectがGAになる。

参考:Amazon S3 Update: New Storage Class and General Availability of S3 Select
2018/08/08Amazon VPC Flow LogsをAmazon S3に直接配信できるようになる。これまではAmazon CloudWatch Logs経由だった。

参考:Amazon VPC Flow Logs can now be delivered to S3
2018/09/19クロスリージョンレプリケーション(CRR)がオブジェクトタグによるフィルタリングをサポート。

参考:Amazon S3 Announces Selective Cross-Region Replication Based on Object Tags
2018/11/15アカウントまたはバケット単位でパブリックアクセスをブロックするS3ブロックパブリックアクセスをサポート

参考:Amazon S3 Block Public Access – Another Layer of Protection for Your Accounts and Buckets
2018/11/26Amazon S3向けのフルマネージドSFTPサービスAWS Transfer for SFTPが提供開始

参考:New – AWS Transfer for SFTP – Fully Managed SFTP Service for Amazon S3
2018/11/26Amazon Glacierの名称がAmazon S3 Glacierに変更になる。

参考:AWS Announces New Amazon S3 Features that Simplify the Use of the Amazon S3 Glacier Storage Class for Archival Workloads in All AWS Regions
2018/11/26Amazon S3オブジェクトの変更、削除を制限するオブジェクトロックをサポート。
Amazon S3 Glacierで復元処理中に高速なオプションに変更できるようになる。
Amazon S3 Glacierストレージクラスに直接オブジェクトをPUTできるようになる。

参考:AWS Storage Update: Amazon S3 & Amazon S3 Glacier Launch Announcements for Archival Workloads
2018/11/26予測不可能なアクセスパターン用のS3 Intelligent-Tieringクラスのサポート

参考:New – Automatic Cost Optimization for Amazon S3 via Intelligent Tiering
2019/03/27Amazon S3 Glacierで極めて低いアクセス頻度用のDeep Archiveクラスをサポート

参考:New – Automatic Cost Optimization for Amazon S3 via Intelligent Tiering
2019/04/30オブジェクトの大規模な一括処理を実行するAmazon S3バッチオペレーションをサポート

参考:New – Amazon S3 Batch Operations
2019/04頃クロスリージョンレプリケーション(CRR)でオブジェクトロック設定されたバケットへのレプリケーションをサポート

参考:Protecting data with Amazon S3 Object Lock
2019/09/18同一リージョン内バケット間のレプリケートをする同一リージョンレプリケーション(SRR)をサポート

参考:Amazon S3 introduces Same-Region Replication
2019/11/20コンプライアンス要件 ・ビジネス要件への対応を想定した99.99%を15 分以内にレプリケートするS3 Replication Time Control(S3 RTC)を提供開始

参考:Amazon S3 Replication Time Control for predictable replication time, backed by an SLA
2019/12/02S3バケットの意図しない公開や共有のアクセス許可設定を検知して警告するAccess Analyzer for S3をサポート

参考:Monitor, review, and protect Amazon S3 buckets using Access Analyzer for S3
2019/12/03アクセスポイントごとにポリシーを作成し、バケットへのアクセスを制御するAmazon S3アクセスポイントを提供開始

参考:Easily Manage Shared Data Sets with Amazon S3 Access Points
2020/03/16Amazon S3バッチオペレーションのタグ付をサポート

参考:Amazon S3 adds tagging support for S3 Batch Operations jobs
2020/05/04Amazon S3バッチオペレーションによるオブジェクトロック設定をサポート

参考:Amazon S3 Batch Operations adds support for S3 Object Lock
2020/09/30オンプレミスにAWSクラウド同様の使い方ができるアプライアンスを設置するAWS OutpostsでAmazon S3 on Outpostsのサービス提供開始

参考:Amazon S3 on Outposts Now Available
2020/10/02バケット設定で新しいオブジェクトの所有権を自動的に管理するオブジェクト所有者をサポート。
バケットが適切なAWS アカウントに属していることを確認するAmazon S3バッチオペレーションでバケット所有者条件をサポート。

参考:Amazon S3 Update – Three New Security & Access Control Features
2020/11/09ストレージメトリクス、リクエストメトリクスに加えてAmazon S3のAmazon CloudWatchメトリクスにレプリケーションメトリクスが追加。

参考:Amazon S3 Replication adds support for metrics and notifications
2020/11/09レプリケート元からレプリケート先に削除マーカーをレプリケートする削除マーカーレプリケーションをサポート。

参考:Amazon S3 Replication adds support for replicating delete markers
2020/11/16AWS X-Rayを使用したS3リクエストのトレースをサポート

参考:AWS X-Ray now supports trace context propagation for Amazon Simple Storage Service (S3)
2020/11/18使用状況とアクティビティのメトリクスを集計・可視化し、コスト最適化・データ保護などの推奨事項を提供するAmazon S3 Storage Lensを提供開始

参考:Introducing Amazon S3 Storage Lens – Organization-wide Visibility Into Object Storage
2020/12/01強力な書き込み後の読み込み整合性(強い一貫性)をサポート

参考:Amazon S3 Update – Strong Read-After-Write Consistency
2020/12/01オブジェクトメタデータの変更をレプリケートするAmazon S3レプリカ変更同期をサポート

参考:Amazon S3 Update – Strong Read-After-Write Consistency
2020/12/011つのソースバケットから複数の宛先バケットへのレプリケーションをサポート

参考:Amazon S3 Replication adds support for two-way replication
2021/02/02インターフェイス型VPCエンドポイントを使用して接続するAWS PrivateLink for Amazon S3がGAになる。

参考:AWS PrivateLink for Amazon S3 is Now Generally Available
2021/03/18S3オブジェクトLambdaアクセスポイント経由のS3 GETリクエストに対するレスポンスデータをAWS Lambda関数で編集できるAmazon S3 Object Lambdaを提供開始

参考:Introducing Amazon S3 Object Lambda – Use Your Code to Process Data as It Is Being Retrieved from S3
2021/07/26Amazon S3アクセスポイントへバケット名のようにアクセスできるAmazon S3アクセスポイントエイリアスをサポート

参考:Amazon S3 Access Points aliases allow any application that requires an S3 bucket name to easily use an access point
2021/07/29Amazon S3 on OutpostsがOutposts VPCの外部で実行されているアプリケーションへの直接アクセスをサポート

参考:Amazon S3 on Outposts supports direct access for applications running outside the Outposts VPC
2021/09/02複数リージョンのS3バケットにまたがるグローバルエンドポイントを提供するAmazon S3マルチリージョンアクセスポイントを提供開始

参考:How to Accelerate Performance and Availability of Multi-region Applications with Amazon S3 Multi-Region Access Points
2021/11/18Amazon S3 on Outpostsで強力な書き込み後の読み込み整合性(強い一貫性)をサポート

参考:Amazon S3 on Outposts now delivers strong consistency automatically for all applications
2021/11/22Amazon S3 Storage LensのメトリクスがAmazon CloudWatchで利用可能になる

参考:Amazon S3 Storage Lens metrics now available in Amazon CloudWatch
2021/11/23ライフサイクルルールで現在以外のバージョン数、オブジェクトサイズに基づくフィルターが使用できるようになる

参考:Amazon S3 Lifecycle further optimizes storage cost savings with new actions and filters
2021/11/29ライフサイクルルールによる移行・削除、S3 Intelligent-Tieringクラスの自動アーカイブ、オブジェクトタグ変更、オブジェクトACL変更のイベント通知が追加される

参考:Amazon S3 adds new S3 Event Notifications for S3 Lifecycle, S3 Intelligent-Tiering, object tags, and object access control lists
2021/11/29Amazon S3イベント通知に基づいたAmazon EventBridgeルールを作成できるようになる

参考:Amazon S3 Event Notifications with Amazon EventBridge help you build advanced serverless applications faster
2021/11/30Amazon S3コンソールでポリシーを作成する際にIAM Access Analyzerからセキュリティ警告、エラー、提案を表示するようになる

参考:Amazon S3 console now reports security warnings, errors, and suggestions from IAM Access Analyzer as you author your S3 policies
2021/11/30Amazon Backupで他のAWSサービスと一緒にAmazon S3のオブジェクトデータ、タグ、ACL、ユーザー定義のメタデータ、作成日、バージョンIDのオブジェクトメタデータなどをポイントインタイムバックアップまたは定期的にバックアップできるようになる

参考:Announcing preview of AWS Backup for Amazon S3
2021/11/30Amazon S3 Glacierで低いアクセス頻度だが、ミリ秒単位の取得が必要なデータをアーカイブするためのS3 Glacier Instant Retrievalクラスのサポート
※以前のS3 GlacierストレージクラスはS3 Glacier Flexible Retrievalクラスという名称となる(仕様変更無し)

参考:Announcing the new Amazon S3 Glacier Instant Retrieval storage class - the lowest cost archive storage with milliseconds retrieval
2021/11/30S3 Intelligent-TieringクラスにArchive Instant Access階層が追加される

参考:Announcing the new S3 Intelligent-Tiering Archive Instant Access tier - Automatically save up to 68% on storage costs
2021/11/30アクセス制御リスト(ACL)を無効にして所有権をバケット所有者に強制する設定が導入される

参考:Amazon S3 Object Ownership can now disable access control lists to simplify access management for data in S3
2022/02/08 レプリケーション設定が行われる前に存在していたオブジェクトをレプリケートするAmazon S3 Batch Replicationが使用できるようになる

参考:Amazon S3 Batch Replication synchronizes existing data between buckets
2022/02/18 AWS Backupを使用したAmazon S3バケットの定期的なスナップショットと継続的なバックアップの機能がGeneral Availability(GA)になる

参考:Announcing the general availability of AWS Backup for Amazon S3
2022/10/24 Amazon S3レプリケーションでSSE-C暗号化オブジェクトをサポート

参考:Amazon S3 Replication now supports SSE-C encrypted objects
2022/11/28 Amazon S3マルチリージョンアクセスポイント経由でルーティングされたAmazon S3データアクセスリクエストトラフィックを数分以内に代替のAWS リージョンにシフトするAmazon S3マルチリージョンアクセスポイントのフェイルオーバー制御をサポート

参考:New Amazon S3 Multi-Region Access Points failover controls enable active-passive configurations and customer-initiated failovers
2022/11/30 Amazon S3アクセスポイントでクロスアカウントアクセスポイントの作成をサポート

参考:Amazon S3 Access Points can now be used to securely delegate access permissions for shared datasets to other AWS accounts
2023/03/14 クロスアカウントのAmazon S3マルチリージョンアクセスポイントをサポート

参考:Announcing cross-account support for Amazon S3 Multi-Region Access Points
2023/03/14 Amazon S3 Object Lambdaアクセスポイントで自動的に一意のエイリアスを生成するようになり、Amazon CloudFrontディストリビューションのオリジンとして使用できるようになる

参考:Use S3 Object Lambda with Amazon CloudFront to tailor content for end users
2023/03/14 AWS PrivateLink for Amazon S3がプライベートDNSをサポートし、オンプレミスからAWS PrivateLinkを使用したインターフェイスエンドポイント経由でAmazon S3にアクセスできるようになる

参考:Amazon S3 simplifies private connectivity from on-premises networks

歴史年表の考察

機能について

機能についてはAmazon S3は2006年のサービス開始当初から2010年のAWSマネジメントコンソールが登場するまで公式のGUIは無く、REST、SOAP、BitTorrentといったウェブインターフェイスのみを提供しています。GUI操作は主に有志によって作成されたサードパーティソフトウェアからAPIを実行していました。 サービス開始当初からしばらくはAmazon S3のウェブインターフェイスの改善、プログラミングライブラリやサードパーティソフトウェアからAmazon S3に連携する機能、企業のAPIによるAmazon S3の活用などが活発におこなわれるようになります。

次に2010年~2012年頃にかけてバージョン管理、AWSマネジメントコンソール、バケットポリシー、通知、マルチパートアップロード、静的ウェブサイトホスティング、Server Side Encryption(SSE)、ライフサイクルルール、MFA保護、Amazon Glacierといった現在使用する機会の多い主要な機能またはその元となる機能が立て続けに提供されます。

続いて2014年にSSEの追加オプションであるSSE-C・SSE-KMS、通知を発展させたイベント通知、バージョニング機能を前提としたクロスリージョンレプリケーションといったそれまでの機能を拡張した追加機能が登場します。
その後、Amazon S3は引き続き機能追加をしていきながら、次々と登場する他のAWSサービスから使用されるデータ連携先としての役割の比重も高くなっていきます

そして、近年はモニタリング、セキュリティを高める機能や柔軟なアクセス方法およびレプリケーションを提供するアップデートが多くなり、整合性を改善するアップデートもありました

私がAWSを利用し始めたのは2008年頃なのですが、当時AWSマネジメントコンソールは無く、自分でREST APIを叩くか、S3Fox OrganizerやCloudBerry ExplorerといったサードパーティのローカルインストールするGUIソフトウェアを使用してAmazon S3のAPIを実行することで利用していました。
その頃、APIを提供せずにGUIベースのオンラインストレージを提供するサービスも出てきていたのでオリジナルのGUIがなかなか提供されないことを最初は疑問に思いました。

ただ、Amazon S3はAPI経由での利用を最優先にしていたからこそ、当初から独立した機能として他のシステムと疎結合な連携が柔軟にできて利用目的の変化にも対応しやすいIaaSであり、その当時すでにサーバーレス、マイクロサービスという概念を実現していたことが伺えます。

また、2010年から2014年頃に主要な機能をほぼ揃えたことで、ユーザーからの多目的利用に加え、コンピューティングサービス、サーバーレスサービス、分析、機械学習、メディアサービス、IoTなど多くのAWSサービスとの柔軟な統合・連携や発展にも大きな影響を与えていると考えられます。

そして、個人的にAmazon S3の歴史の中で最もインパクトが大きいと感じたアップデートは2020年12月1日に発表された「強い一貫性」のサポートです。
Amazon S3はサービス開始当初からそれまでオブジェクトの書き込み後の読み込みは結果整合性だったため、データ更新直後に最新データを読み込むような処理では更新前のデータが読み込まれるようなケースもあり、厳密な整合性が求められる場合は別途チェックするような工夫が必要でした。
この「強い一貫性」のサポートはデータレイクにおけるETL処理をはじめとする様々なユースケースで改善や新たな可能性の幅を広げるアップデートになりました。

このように、ユーザーが開発したシステムと連携するニーズを満たしながら、サービスの改善や他のAWSサービスとの柔軟な統合・連携が大きなサービス影響を与えることなくできるのも、当初からAPIベースによる機能提供を軸としてきた設計思想によるものと言えるでしょう

料金について

料金については、まず上記の歴史年表に記載したAmazon S3のストレージ料金の推移を見てみましょう。
Amazon S3のストレージ料金は使用した容量に応じて料金が階層化されています。
横軸が年月日、縦軸がGBあたりの月額料金です。グラフの料金階層は現在までに登場したことがある最も細分化された料金の階層分けを使用しています。

US Standard(us-east-1)の階層別Amazon S3ストレージ料金の推移
US Standard(us-east-1)の階層別Amazon S3ストレージ料金の推移

ストレージ料金に関しては値上げされた実績はありません。
値下げの傾向としてはPB単位など大容量利用の階層を2009年に大幅に値下げし、その金額に他の階層の金額が近づくような形で値下げが行われています。
ただ、2014年4月1日の値下げ以降は階層間の料金差はほとんどなくなり、2016年12月1日から適用されたストレージ料金と階層が現在まで使用されています
ストレージ使用容量に比例した従量課金制という料金体系を採用していたことで、Amazon S3や他のAWSサービスの利用状況や見込みに応じて料金の変更が柔軟にできたと予想されます。

サービス開始当初のUS Standard(us-east-1)の料金は料金階層無しで一律月額0.15USD/GBでした。
現在の料金は料金階層が3段階で0.023USD/GB~0.021USD/GBの振れ幅なので、過去の細分化された料金階層に比べると開始当初の一律料金に近い形になっています。
これを現在の料金階層に合わせて階層別値下率と料金合算例で見てみると次のようになります。

料金階層開始当初料金現在料金
(2021/11/1)
階層別
値下率
料金合算例
(1)最初の50TB/月
(0TB-50TB)
0.150USD/GB0.023USD/GB84.67%<1TB(1,024GB)利用の場合>
開始当初料金:153.6USD
現在料金:23.55USD
(1024GBx0.023USD=23.5520USD)
(2)次の450TB/月
(50TB-500TB)
0.150USD/GB0.022USD/GB85.33%<100TB(102,400GB)利用の場合>
開始当初料金:15,360USD
現在料金:2,304.0USD
(51,200GBx0.023USD+
 51,200GBx0.022USD
 =2304.0000USD)
(3)500TB/月を超える場合
0.150USD/GB0.021USD/GB86.00%<1PB(1,048,576GB)利用の場合>
開始当初料金:157,286.4USD
現在料金:22,583.3USD
(51,200GBx0.023USD+
 460,800GBx0.022USD+
 536,576GBx0.021USD
 =22,583.2960USD)

現在までに84%を超える大幅な値下げが実施されています
また、サービス開始当初料金と同じ金額を現在使うと約6.521倍~約7.143倍のデータ容量を使用できることになります

値下げの背景としては、AWSの利用増加に伴う価格への還元や競合他社との価格競争という見方がありますが、2010年代中盤から本格化するビッグデータ分析や機械学習など大量データを扱うITトレンドのニーズを満たすように急速に値下げが実施されてきたという見方もできるのではないかと個人的に推測しています。


参考:
AWS Blog
What is Amazon S3? - Amazon Simple Storage Service
Tech Blog with related articles referenced

まとめ

今回はAmazon S3の歴史年表を作って、機能追加と料金や役割の変遷を見てみました。
AWSマネジメントコンソールがない時代にAWSを使用していたときには私は経験も浅かったこともあり、最初はAmazon S3はFTPサービスに似たすごいやつ、Amazon EC2はレンタルサーバーのすごいやつのような感覚でいました。

しかし、年月が経過し、機能追加や料金改定がされていくとAPIベースのAmazon S3は他のGUIベースのオンラインストレージなどの他サービスとユースケースの違いがよりはっきりと出てくるようになりました。

従量課金で必要十分な利用ができ、APIベースで様々なシステムからの連携を受け付けるAmazon S3は突如として生まれる様々なストレージニーズの実現およびユースケースへの最適化と非常に相性が良いサービスだと実感しています。

安定性と先進性を兼ね備え、もはやAWSを利用する上では無くてはならなくなったAmazon S3が、今後どのような機能追加やサービス連携をしていくのか、これからも継続的にこの記事の年表を随時更新しながらウォッチしていきたいと思います。

なお、今回の記事の英語版やAmazon S3以外のサービスも含めたAWSサービス全体の歴史年表もありますので、興味がありましたら御覧ください。

Written by Hidekazu Konishi

NRIネットコム Advent Calendar 2021
🎄 0日目 ▶▶ 本記事 ▶▶ 2日目 🎅

Hidekazu Konishi (小西秀和), a Japan AWS Top Engineer and a Japan AWS All Certifications Engineer

執筆者小西秀和

Japan AWS All Certifications Engineer(AWS認定全冠)の知識をベースにAWSクラウドの活用に取り組んでいます。
Amazon.co.jp: 小西 秀和: books, biography, latest update
NRIネットコムBlog: 小西 秀和: 記事一覧