Amazon S3はデータを格納・管理できるクラウド型のオブジェクトストレージサービスです。
ファイル単位でのオブジェクトの出し入れができ、主にデータバックアップおよび復元、アーカイブやWebで使う静的なファイルをS3に置いて配信するなどさまざまなことに利用できます。用途に合わせた6つのストレージクラスが用意されており、保存期間やアクセス頻度に応じてクラスを選択する事でコストの最適化が行えます。
今回は各ストレージクラスの特徴などを解説します。
なぜストレージクラスがあるのか?
端的に言うとデータ保管のコストを安くするためです。
保存するデータの用途や保存期間が異なります。例えば監査ログなどの年に一回使うか使わないかのデータはすぐに取り出せなくてもいいということもあります。そのようなデータはユーザーの立場からすると保管費用が安いほうが助かります。S3のストレージクラスはこのようなコストを安くするニーズに対応できます。
ストレージクラスの種類
Amazon S3には様様な使用用途に合わせた6つのストレージクラスが用意されており、それぞれ機能や料金に違いがあるため詳しく説明を行います。
※料金は当記事作成時のものであり、変動する可能性があるため利用時は公式サイトにて確認をお願い致します。
Amazon S3 Standard
アクセス頻度の高いデータ向けに高い耐久性、可用性、パフォーマンスを提供する汎用性の高いストレージクラスです。主な特徴としては3つのAZ*間で管理され99.999999999%(イレブンナイン)の耐久性を誇る事や低レイテンシーかつ高スループットなパフォーマンスが特徴です。
説明 | 料金 | データ取り出し料金 |
---|---|---|
50TBまで/月 | 0.025USD/GB | なし |
50TB以上450TB未満/月 | 0.024USD/GB | なし |
500TB以上/月 | 0.023USD/GB | なし |
- AZ(アベイラビリティーゾーン)とは1つのリージョン内の物理的に分離されたロケーションのことを表します。各リージョンで最小3つのAZで運用されており、各AZは物理的に何マイルも離れています。そのため、火災や洪水などでどれか1つのAZが被害にあっても分離された別のAZによりデータが保護されます。
Amazon S3 Standard – IA
IA(Infrequent Access)は低頻度アクセスという意味です。このストレージクラスの保管料金はStandardより安いですがデータを取り出す際に料金がかかります。S3 Standardと同じ機能を使用しつつ、データへのアクセス頻度が低い場合に適しています。
説明 | 料金 | データ取り出し料金 |
---|---|---|
すべてのストレージ/月 | 0.0138USD/GB | 0.01USD |
Amazon S3 One Zone – IA
S3 One Zone IAはよりコストを安くするソリューションです。最低3つのAZにデータを保存する他のS3ストレージクラスとは異なり、S3 One Zone - IAは単一のAZのみにデータを保存します。料金が安くなるかわりに冗長性が低下するため、コストと安全性がトレードオフになっています。
説明 | 料金 | データ取り出し料金 |
---|---|---|
すべてのストレージ/月 | 0.011USD/GB | 0.01USD |
Amazon S3 Intelligent-Tiering
S3 Intelligent-Tieringはクライアントのアクセス頻度に基づき「高頻度アクセス階層」「低頻度アクセス階層」「アーカイブインスタントアクセス階層」より、自動的にコスト効率の高いストレージ階層を選択してくれます。実際に使用を行なってみるまでアクセス頻度が分からない場合や、使用月によりアクセス頻度が変動する方に適したストレージクラスと言えます。
説明 | 料金 | データ取り出し料金 |
---|---|---|
モニタリングおよびオートメーション、すべてのストレージ/月 (オブジェクト > 128 KB) | オブジェクト 1,000 件あたり 0.0025USD | なし |
高頻度アクセスティア、50 TBまで/月 | 0.025USD/GB | なし |
高頻度アクセスティア、50TB以上450TB未満/月 | 0.024USD/GB | なし |
高頻度アクセスティア、500TB以上/月 | 0.023USD/GB | なし |
低頻度アクセスティア、すべてのストレージ/月 | 0.0138USD/GB | なし |
アーカイブインスタントアクセスティア、すべてのストレージ/月 | 0.005USD/GB | 0.033USD* |
※アーカイブアクセスティアで迅速な取り出しを行う場合のみ発生します。
Amazon S3 Glacier Flexible Retrieval(旧 S3 Glacier)
データの取り出しに数分〜数時間かかってしまうため、すぐにアクセスする必要のない長期のデータアーカイブ向けのストレージクラスです。そのため料金設定が他と比べて低く設定をされています。ただし、データの取り出し費用は高くなるので頻繁に取り出さない運用が必要となります。
説明 | 料金 |
---|---|
すべてのストレージ/月 | 0.0045USD/GB |
S3 Glacier Flexible Retrievalではデータの取り出しスピードや条件により発生する料金が異なります。
条件 | データ取り出し料金 |
---|---|
迅速なスピード | 0.033USD |
標準なスピード | 0.011USD |
大容量のデータ | なし |
プロビジョニングされたキャパシティーユニット | ユニットあたり 110.00USD |
Amazon S3 Glacier Deep Archive
S3のストレージクラスの中で最も低コストのストレージクラスであり、1年のうち1~2回しかアクセスされないようなデータを対象とした長期保存やデジタル保存を想定したストレージクラスです。データの取り出しに12時間以上かかるなどの制約があります。
説明 | 料金 |
---|---|
すべてのストレージ/月 | 0.002USD/GB |
S3 Glacier Deep Archiveではデータの取り出しスピードやデータ量により発生する料金が異なります。
説明 | データ取り出し料金 |
---|---|
標準スピード | 0.022USD |
大容量のデータ | 0.005USD |
その他にも1000回毎のリクエスト料金やデータ転送料金など別途発生する料金があるため、詳しくはAWS公式サイトをご覧ください。
ストレージクラス別活用方法
以上の機能に基づいた各ストレージクラス別のユースケースは次のとおりです。
Amazon S3 Standardの用途
アクセス頻度の高いデータ向けのストレージクラスであり、コンテンツ配信やAmazon Athenaを使用したビッグデータ分析などに利用できます。
ユースケース
- 利用する目的でのデータ保管
- S3のバケットにHTMLファイルやCSSなどの静的ファイルを保存し、静的ウェブサイトホスティングを有効化すると静的ウェブサイトとして公開することも可能です。
Amazon S3 Standard – IAの用途
基本的な機能はS3 Standardと同じですが、あまりデータへのアクセスを行わない場合はIAを選択することでStandardよりコストを抑えられます。ただしStandardと異なりデータの取り出し費用が別途発生するため、アクセスが多くなると逆にコストがかかることもあるため注意が必要です。
ユースケース
あまりアクセスしないデータ保管、必要に応じてすぐにデータを取り出したい場合などに使用されます。
- データのバックアップ
- 災害対策ファイルのデータストア
Amazon S3 One Zone – IAの用途
このストレージクラスはS3 Standard – IAと同じく、S3 Standardと同じ機能でありながらアクセス頻度が低い方向けのストレージクラスです。S3 Standard – IAとの違いは、通常保存されるAZが最低3つの所、S3 One Zone – IAでは単一のAZのみにデータが保存されます。そのため災害発生時などはデータが失われてしまう恐れがありますが、使用用途によってはS3 One Zone – IAを選択することでS3 Standard – IAより約20%コストの削減を行うことができます。
ユースケース
- 容易に再作成可能なデータのセカンダリバックアップ
- オンプレミスデータのバックアップ
Amazon S3 Intelligent-Tieringの用途
S3 Intelligent-Tieringはアクセスパターンが変化する際、4つのアクセスティア間でオブジェクトを移動して自動でコスト削減を行なってくれる唯一のストレージクラスです。アクセス頻度が不透明な場合や、使用用途によりアクセス頻度が変動してしまう場合におすすめです。
ユースケース
アクセスパターンが予測できないコンテンツの配信などに使用するとその月のアクセス頻度によって自動的に適したアクセスティアに移動し、コストの最適化を行ってくれます。
Amazon S3 Glacier Flexible Retrieval(旧 S3 Glacier)の用途
このストレージクラスはデータをあまり取り出す機会のない、アーカイブ向けのストレージクラスです。データの取得に1分〜12時間かかるため、すぐにアクセスする必要はないが長期的に大量のデータを保管したい場合に適しています。
ユースケース
- 企業で保管している膨大なデータのバックアップ
- 災害対策のデータ保管用途
- 保存目的のログファイル
Amazon S3 Glacier Deep Archiveの用途
このストレージクラスはS3 Glacier Flexible Retrievalよりも更に深いアーカイブデータ向けストレージです。ストレージ利用料金だけだとStandardと比較し、約96%低く設定されていますが、データの取り出し費用は低頻度アクセスのIAよりも高く設定されているため基本的に取り出さずに保管する用途に適しています。特徴として規制規定遵守要件を満たすため、7~10年以上データセットを保管する顧客のために設計がされており、金融サービスやヘルスケアなどの規制が厳しい業界が対象となっています。
ユースケース
- 病院など規制要件を満たすために、患者の記録を何十年も保持する必要のあるデータ保管
- 会社の証跡書類など保管を目的としたデータの保存
ストレージクラス選択時のポイント
ストレージクラスを選択する場合に重要となってくるのがアクセス頻度とデータの重要度とデータ取り出しまでの許容時間です。
まずはS3をどのような用途で使用したいかを明確にし、適したストレージクラスを割り出す参考としてフローチャートをお使いください。
まとめ
Amazon S3には様様な使用用途に合わせた6つのストレージクラスが用意されており、目的に適したストレージクラスを選択する事により、コストの削減を行えます。ただしデータの取り出しに別途料金が発生したり、アクセス頻度によっても選択すべきストレージクラスが異なるため、誤ったクラスを選択してしまうと却ってコスト増加に繋がってしまう恐れがあるので注意が必要です。ストレージクラス選択時は使用用途を明確にし、最適なクラス選択を行えるようにするのがポイントとなります。前述のフローチャートを活用してください。
AWSアカウントを新規作成した方には1年間、S3 Standardを5GBまで利用できる無料枠があるので実際に使用してみると良いでしょう。
【番外編】USBも知らなかった私が独学でプログラミングを勉強してGAFAに入社するまでの話
プログラミング塾に半年通えば、一人前になれると思っているあなた。それ、勘違いですよ。「なぜ間違いなの?」「正しい勉強法とは何なの?」ITを学び始める全ての人に知って欲しい。そう思って書きました。是非読んでみてください。
「フリーランスエンジニア」
近年やっと世間に浸透した言葉だ。ひと昔まえ、終身雇用は当たり前で、大企業に就職することは一種のステータスだった。しかし、そんな時代も終わり「優秀な人材は転職する」ことが当たり前の時代となる。フリーランスエンジニアに高価値が付く現在、ネットを見ると「未経験でも年収400万以上」などと書いてある。これに釣られて、多くの人がフリーランスになろうとITの世界に入ってきている。私もその中の1人だ。数年前、USBも知らない状態からITの世界に没入し、そこから約2年間、毎日勉学を行なった。他人の何十倍も努力した。そして、企業研修やIT塾で数多くの受講生の指導経験も得た。そこで私は、伸びるエンジニアとそうでないエンジニアをたくさん見てきた。そして、稼げるエンジニア、稼げないエンジニアを見てきた。
「成功する人とそうでない人の違いは何か?」
私が出した答えは、「量産型エンジニアか否か」である。今のエンジニア市場には、量産型エンジニアが溢れている!!ここでの量産型エンジニアの定義は以下の通りである。
比較的簡単に学習可能なWebフレームワーク(WordPress, Rails)やPython等の知識はあるが、ITの基本概念を理解していないため、単調な作業しかこなすことができないエンジニアのこと。
多くの人がフリーランスエンジニアを目指す時代に中途半端な知識や技術力でこの世界に飛び込むと返って過酷な労働条件で働くことになる。そこで、エンジニアを目指すあなたがどう学習していくべきかを私の経験を交えて書こうと思った。続きはこちらから、、、、
エンベーダー編集部
エンベーダーは、ITスクールRareTECHのインフラ学習教材として誕生しました。 「遊びながらインフラエンジニアへ」をコンセプトに、インフラへの学習ハードルを下げるツールとして運営されています。
関連記事
2020.02.25
完全未経験からエンジニアを目指す爆速勉強法
USBも知らなかった私が独学でプログラミングを勉強してGAFAに入社するまでの話
- キャリア・学習法
- エンジニア
2023.11.21
【Part 3/4】AWSの環境構築で学ぶトラブルシューティング【Route53】
今回は、Route53を使用し、特定のインスタンスにドメインでアクセスできるようにする環境を構築します。AWSのプライベートネットワークを介した安全な通信を利用する方法を学習します。
- AWS
2024.02.27
AWS ALBとAzure Application Gatewayの違い
この記事では、クラウドコンピューティングの二大巨頭、Amazon Web Services (AWS) の Application Load Balancer (ALB) と Microsoft Azure の Application Gateway (アプリケーションゲートウェイ)の間で、Web アプリケーション向けのロードバランサーサービスを比較します。
- AWS
- Azure
2024.09.28
【Terraformハンズオン】Lambda関数にレイヤーを追加してみよう
この記事では、Lambda関数の中でも「レイヤー」について解説し、記事後半ではIaCツールのTerraformを使ってハンズオン形式でレイヤーの作成方法と利用方法を学びます。
- AWS
- ハンズオン
- Terraform