AWSの代表的なストレージサービス Amazon S3
AWS(Amazon Web Services)を使う上では様々な分野において多様なサービスが存在しています。本記事では、その中でもストレージサービスに絞って記載をしていきます。ストレージサービスは、ブロックストレージ、オブジェクトストレージ、ファイルストレージ等、の種類がありますが、AWSでは、それぞれについてサービスが用意されており、SaaSのような形式で利用することが可能です。
中でも非常に便利なサービスの一つとして有名なものが、「S3(Simple Starage Service)」です。S3は、AWSの中の基本的なサービスの一つであり、様々な用途で利用することが可能です。
目次
Amazon S3とは
Amazon S3とは、オブジェクトストレージの一種です。オブジェクトストレージとは、階層ごとに様々なファイルを保存可能なストレージのことです。ファイルストレージとよく似ていますが、格納している1つ1つのデータにたいして一意なURLの発行が可能です。ファイル単位での出し入れが可能なので、ログデータを保存しておく、オンプレミスのデータバックアップとして利用する、といった、自由な使い道が可能で、より柔軟なデータ保存が実行できるのが特徴となっています。
Amazon S3を利用するメリット
S3を利用するメリットとしては、『実質無限の容量』、『耐久性と可用性の高さ』、『低コストで高性能なストレージの利用が可能』が挙げられます。それぞれについて、具体的に見ていきます。
実質無限の容量
S3の容量および、格納できるオブジェクトの数に関して、上限は現状設定されておりません。1つのオブジェクト当たりのデータは5TBとなっておりますが、その制限さえ守ることができれば、実質無制限にデータを格納することが可能です。
耐久性と可用性の高さ
AWSのS3ではすべてのオブジェクトに対して、データの耐久性(データを失わないこと性能)が99.999999999% (イレブンナイン)を達成できるように設計がされています。これはAmazon S3に1万個のデータを保存したとして、そのうちの1つが障害によって失われるのに平均で1000万年ほどかかる、という計算になります。また、データの可用性(データにいつでもアクセスできるかどうかの性能)も、99.99%と設定されており、非常に高い可用性となっております。
低コストで高性能なストレージの利用が可能
上記のような拡張性・耐久性・可用性をオンプレミスで実現しようとすると、多大なコストがかかります。例えば、容量が実質無制限のオブジェクトストレージを用意しようとすると、膨大なストレージ機器の調達と、データセンターの契約に加え、ストレージ機器が壊れないかを監視しておく仕組みや人員が必要になってきます。それらの初期投資をなしに、高性能なストレージを利用可能になる、ということが、S3の最大のメリットになります。
AWSのスキルがなくてもおまかせで大丈夫、スタイルズのAWS導入・移行サービスはこちら→
Amazon S3の機能
S3には様々な機能がありますが、具体的によく使う機能としては以下の4点が挙げれられます。
- 静的コンテンツ配置機能
個々のファイルにURLが発行されるため、htmlファイルやCSSファイル、動画コンテンツといった、データの更新が不要なファイルの配信元として利用できます。つまり、Webサーバのような役割を果たすことが可能です。
- セキュリティ関連の機能
S3にはセキュリティ関連の機能が豊富に備わっています。保存したデータの暗号化機能はもちろんのこと、アクセス制御の手段も豊富です。例えば、ユーザーベースで個々のオブジェクトへのアクセスを制御したいのであればバケットACL、 1つの S3 バケット内のすべてのオブジェクトに対するアクセス許可を制御したいのであればバケットポリシーといった機能を利用することができます。 - データ分析を行う機能
S3 Selectという機能を利用し、Amazon S3 に保存されたデータに対して、データ分析を直接実行できます。より高度な分析を行いたい場合は、Athenaというサービスと連携することで可能ですが、簡単な分析を容易に実施することができます。 - コスト効率化機能
S3には様々なオプションが用意されており、目的に応じたストレージのオプションを利用することができます。例えば、まったく利用しないが法律上保存が必要なデータをアーカイブする、『Glacier』というオプションを利用すると、より低価格にデータ保存を行うことが可能です。ライフサイクルポリシーという機能を利用することで、ルールに基づきオブジェクトを自動的にGlacier等のオプションを適用したストレージに移動することができます。
その他のストレージ
AWSにはS3のほかにもストレージサービスが提供されています。代表的なもので、EBSとEFSについて、概要を解説します。
Amazon Elastic Block Store (EBS)とは?
EBSとは、AWSで提供されているブロックストレージサービスです。ブロックストレージとは、データを、『ブロック』という単位で保存するストレージのことです。オンプレミスのおけるサーバについているハードディスクがクラウド環境における1つのブロックストレージに該当すると考えると良いでしょう。一つのEC2インスタンスには複数のEBSボリュームをアタッチすることができますが、複数のEC2インスタンスから一つのEBSボリュームへアタッチすることはできません。
Amazon EFSとは?
Amazon EFSの正式名称はAmazon Elastic File Systemです。シンプルかつスケーラブルで、伸縮自在な完全マネージド型のFNSファイルシステムを提供します。アプリケーションを中断することなく、ペタバイト規模にオンデマンドでスケールするよう設計されており、ファイルの追加および削除に合わせて自動で拡大および縮小されるため、拡張に合わせて容量をプロビジョニングおよび管理する必要がなくなります。。
各ストレージの違いと使い所は?
各ストレージサービスは、それぞれ使いどころが異なっています。EBSであれば、AWS上でLinuxやWindowsの仮想サーバを構築する場合に利用するといいでしょう。複数の仮想サーバーから同時にアクセスする場合はEFSが候補となります。
AWS上にファイルサーバを移行したい場合で、EC2、Workspacesなどからファイルサーバを利用したい場合は利用するといいでしょう。その他のケースでは、S3を利用するといいでしょう。先述の通り、S3は利用方法が多岐にわたるため、ログデータの保存先やビッグデータ分析のためのデータを用意したい、といったケースにも利用できます。また、なんとなくデータをクラウド上に保存しておきたい、といった目的があいまいなケースでも、利用料金が安いS3であれば選択肢として挙げられると考えます。
AWSのスキルがなくてもおまかせで大丈夫、スタイルズのAWS導入・移行サービスはこちら→
静的コンテンツならS3がおすすめ
コンテンツ配信を行う場合、WebサーバをEC2等でたてる場合と、S3を利用する場合があると思います。その場合は、S3をぜひ検討してみて下さい。S3はSaaSのように利用できるほか、利用料金も非常に安く、EC2よりも可用性に優れているため、静的コンテンツを運用する場合はEC2よりもコストがかかりません。大量のアクセスが想定する場合は、Amazon CloudFrontの併用をおすすめします。
まとめ
AWSにおける代表的なストレージサービスについて記載してきました。その中でも、S3は様々な機能が備わっており、非常に優秀なストレージサービスです。単純なログの保存から、AI/機械学習に向けたデータの保存庫など、幅広い利用が可能です。ぜひ利用を検討してみてください。また、S3を利用していくうえで、セキュリティ等に不安がある場合や、機能を十分に利用していきたい場合は、AWSのノウハウを豊富に持ったベンダーに相談してみるのもいいでしょう。