Lapis Lazuli

technical blog for web developer

SAAに出てきたサービス・S3

前回に引き続きAWS。今回はS3について。

他のサービスに比べて特に使う機会が多いと思われるS3。
シンプルストレージと銘打ってるものの、結構多機能だったりします。

S3のしくみ

S3はオブジェクトストレージといい、ファイルをオブジェクト単位で保存しておくのが特徴です。
バケットの中に入れていく仕組みで、おなじみのフォルダも作る事が出来ます。
が、実は内部ではフォルダという概念がなく、全てバケットの中は単一に保存しています。
各オブジェクトがエンドポイントによって一意に決まるからです。
アクセスするときもこれを使うので、最も特徴的なしくみとも言えるでしょう。
実際に使うときはSDKを実装してアップロードなどを行う事がメインです。
コンソールからやるのはオブジェクトの確認くらいでしょうか。

ストレージクラス

S3は使用方法に応じてストレージクラスがいくつかあります。
要するに使用頻度が高いか低いかで料金が変わってくる感じです。

・standard
最も使う事が多いスタンダードなクラス。複数のアベイアビリティゾーンに保存する為、高い耐久性と可用性があり、アクセス速度も早いです。
頻繁にアクセスするオブジェクト用。

・standard-IA
たまにしかアクセスしないけど、すぐ取り出したい用。standardの8割くらいの料金という安さが特徴。耐久性とかはstandardと変わらないので、頻度で選べば大丈夫です。

・Glacier
アーカイブ用。取り出すのに時間がかかるけど、すごく料金が安い。ログの保存用など、普段は見ることはないけど、何か起きたときに見たい用途。
こちらはIAのさらに30分の1くらいの料金しかかからないので激安。

ストレージクラスについてはこの3つが最低限覚えておけばいいと思います。
他にもありますが、中心となるのはこれらかなと。

用途

バックアップやファイル置き場。そしてCloudFrondでのオリジン用と、かなり多岐に渡ります。
全ての使い方を網羅してる必要はないのですが、スナップショットを保存したりするのはよく使うかな・・・って感じです。
あと意外に使われるのが静的ホスティングとして。
単にエンドポイントを叩くだけではなくて、独自ドメイン取得したりと結構機能あったりします。
ここら辺は実際に試してみるとわかりやすいですね。これくらいなら料金も安いですし。
あとはlambdaとの組み合わせでしょうか。
S3にファイルアップされるとそれをトリガーに〜とかは使われる機会が多い定番構成かなと。


AWSで構成するときに中心となりやすいサービスなので勉強する価値はあると思います。僕もまだ全てを完璧に網羅した訳じゃないので・・・
まだまだ勉強中ですね。