Amazon S3とはAWS(Amazon Web Service、以下AWS)が提供するサービスで、Simple Storage Serviceの3つのSからS3と呼ばれます。
S3はデータを格納・管理できるクラウド型のオブジェクトストレージサービスです。ファイル単位でのオブジェクトの出し入れができ、用途が自由・柔軟なデータ保存が可能で、例えるならGoogleドライブやiCloudのような用途ができます。
S3の主な特徴
S3のさまざまな機能・できることを次に紹介します。
バージョン管理
S3にはバージョニング機能があります。これはバケットのバージョン管理を設定すると「更新」「削除」といった操作のたびにバージョンが記録され、いつでもロールバックできる機能です。この機能のおかげで誤ってファイルを削除してしまった場合でも復元を行う事が可能です。
高いデータ耐久性
S3でオブジェクトを保存すると3つ以上のAZ(アベイラビリティーゾーン)間で複製、保存されます。この各AZは物理的に何マイルも離おり、火災や洪水などの災害が発生してもデータが守られる仕組みになっています。これにより99.999999999%(イレブンナイン)の耐久性が実現されています。
容量無制限のストレージ
S3には保存出来るデータ容量に上限がなく、無制限に使用する事が出来ます。使っているストレージの空き容量を気にする必要がなく、容量不足によるデータ整理を行う煩わしさから解放されます。使用の際はAWSのコンソール上でバケット(bucket)というデータを保存する入れ物を作成する事でデータの保存を行う事ができます。ただし、1つのバケットに保存出来るオブジェクト(ファイル)数は無制限ですが、1つのオブジェクトについては5TBまでという制限があるため注意が必要です。
低コストで使用可能
S3には初期費用がなく、保存されたデータ容量やデータ転送量により料金が決まる従量性から、必要最低限の料金で使用する事が可能です。頻繁に使用を行わないデータなどはデータアクセス頻度の低い用途に設計された低コストのストレージクラスを使用する事で更にコストを抑える事が可能です。また、データへのアクセスパターンに基づき、自動で低コストのストレージクラスへ移動するようにライフサイクルポリシーを設定する事も可能です。
S3でできること3選
主な特徴を知ったところで、実際にAmazon S3を使ったユースケースを3つご紹介致します。
1.ストレージとしての使用
こちらはシンプルにストレージとしての活用です。 AmazonS3は容量無制限のため、使用中に容量不足によるデータ整理やストレージ増設などの心配がありません。また料金設定も使用した分だけ発生する従量課金制のため、様様なニーズに合わせて適切なコストで運用することができます。
主な使用用途は、オンプレミスで管理しているデータのバックアップとして使用したり、普段はあまり使用する機会のない企業の証跡書類など長期間保存を想定したアーカイブとして使用されます。
2.静的ウェブホスティング
Amazon S3には静的ウェブサイトのホスティング機能が備わっています。静的ウェブサイトとはリクエストに対してhtmlファイルや画像ファイル等の内容をそのままレスポンスとして返すサイトです。対して動的ウェブサイトは、リクエストに対してサーバーサイド側で処理が行われ、その結果をレスポンスとして返すサイトのことを指します。端的にいうとページを表示するためにログイン処理などが必要な場合は動的なサイトと言えます。
主な使用用途は、社内向けに公開するような静的サイトがあります。
3.イベント通知機能による他サービスとの連携
Amazon S3にはイベント通知機能があり、バケットで特定のイベントが発生した際に通知を行なってくれます。
例えば、バケット内に新しく画像をアップロードした場合はObjectCreatedというイベントが通知され、そのイベントをトリガーにAmazon Lambdaを実行しサムネイル画像を作成する事ができます。その他にもイベントをトリガーにAmazon SNS経由でSlackやメールに通知をしたりすることも可能です。
ストレージクラスの種類
S3では様様な用途に合わせたストレージクラスが用意されており、保存期間やアクセス頻度に応じてクラスを選択する事でコストの最適化が行えます。
種類 | 用途 | データ取り出し費用 |
---|---|---|
S3標準 | アクセス頻度が高い場合の汎用ストレージ。 | なし |
S3 標準 – IA | アクセス頻度は低いがすぐにデータを取り出す場合のストレージ。保存されるAZは三箇所 | あり |
S3 1 ゾーン – IA | アクセス頻度は低いがすぐにデータを取り出す場合のストレージ。保存されるAZは一箇所 | あり |
S3 Intelligent-Tiering | アクセス頻度が不明、または変動する場合のストレージ。アクセス頻度によって自動的に費用対効果の高いクラスへ移動を行ってくれる。 | なし |
S3 Glacier Instant Retrieval | データのアーカイブ用ストレージ。データ取得はミリ秒レベルで可能。 | あり |
S3 Glacier Deep Archive | S3で最も安価なストレージ。1年に1〜2回しかアクセスしないようなデータ保存を想定されている。 | あり |
使用料金
S3の使用料金は基本使用量なしの従量課金性です。料金は6つの要素により決まります。
要素 | 説明 |
---|---|
ストレージ | バケットにオブジェクト(ファイル)を保存するための料金。容量や期間、ストレージクラスによって異なる。 |
リクエストとデータ取り出し | バケットとオブジェクトに対するリクエストにかかる料金 |
データ転送 | S3に出入りするすべての帯域幅にかかる料金 ※同じAWSリージョン内のS3バケット間で転送される場合など一部例外もあり |
管理と分析 | バケットで有効になっているストレージ管理機能と分析機能(ストレージクラス分析等)の料金 |
レプリケーション | バケット間でオブジェクトを自動的にコピー出来るレプリケーションにかかる料金 |
S3 Object Lambda | AWS Lambda関数を使用して、S3へのGETリクエストにプログラムコードを追加して、データを変更および処理できる機能を使う場合の料金 |
正確な料金を知りたい場合は、AWS公式サイトより料金の見積もり依頼を行う事が出来ます。
まとめ
Amazon S3とはAWSが提供する、データを格納・管理できるクラウド型のオブジェクトストレージサービスです。
容量が無制限かつ高い可用性を実現しており、企業の規模や業種にかかわらず、世界中の多くの企業がデータの保存・活用にS3を利用しています。料金に関してもクライアントの使用用途に合わせた様様なストレージクラスが用意されており、使用した分だけ課金される従量課金制な点も魅力といえるでしょう。新規でAWSアカウントを作成した場合は1年間の無料枠が用意されているので、実際に使用してみて最適なストレージクラスを選択する事も可能です。
【番外編】USBも知らなかった私が独学でプログラミングを勉強してGAFAに入社するまでの話
プログラミング塾に半年通えば、一人前になれると思っているあなた。それ、勘違いですよ。「なぜ間違いなの?」「正しい勉強法とは何なの?」ITを学び始める全ての人に知って欲しい。そう思って書きました。是非読んでみてください。
「フリーランスエンジニア」
近年やっと世間に浸透した言葉だ。ひと昔まえ、終身雇用は当たり前で、大企業に就職することは一種のステータスだった。しかし、そんな時代も終わり「優秀な人材は転職する」ことが当たり前の時代となる。フリーランスエンジニアに高価値が付く現在、ネットを見ると「未経験でも年収400万以上」などと書いてある。これに釣られて、多くの人がフリーランスになろうとITの世界に入ってきている。私もその中の1人だ。数年前、USBも知らない状態からITの世界に没入し、そこから約2年間、毎日勉学を行なった。他人の何十倍も努力した。そして、企業研修やIT塾で数多くの受講生の指導経験も得た。そこで私は、伸びるエンジニアとそうでないエンジニアをたくさん見てきた。そして、稼げるエンジニア、稼げないエンジニアを見てきた。
「成功する人とそうでない人の違いは何か?」
私が出した答えは、「量産型エンジニアか否か」である。今のエンジニア市場には、量産型エンジニアが溢れている!!ここでの量産型エンジニアの定義は以下の通りである。
比較的簡単に学習可能なWebフレームワーク(WordPress, Rails)やPython等の知識はあるが、ITの基本概念を理解していないため、単調な作業しかこなすことができないエンジニアのこと。
多くの人がフリーランスエンジニアを目指す時代に中途半端な知識や技術力でこの世界に飛び込むと返って過酷な労働条件で働くことになる。そこで、エンジニアを目指すあなたがどう学習していくべきかを私の経験を交えて書こうと思った。続きはこちらから、、、、
エンベーダー編集部
エンベーダーは、ITスクールRareTECHのインフラ学習教材として誕生しました。 「遊びながらインフラエンジニアへ」をコンセプトに、インフラへの学習ハードルを下げるツールとして運営されています。
関連記事
2020.02.25
完全未経験からエンジニアを目指す爆速勉強法
USBも知らなかった私が独学でプログラミングを勉強してGAFAに入社するまでの話
- キャリア・学習法
- エンジニア
2024.10.19
【Terraformハンズオン】Terraformでモジュールを作成してみよう
この記事では、Terraformのモジュールに焦点を当て、記事前半で基本を解説し、後半でEC2、VPCモジュールを作成するハンズオンを行います。
- AWS
- Terraform
- ハンズオン
2024.10.28
デプロイ戦略(Blue/Green、Canary、Rolling Updates)を理解しよう
この記事では、AWS環境での代表的なデプロイ戦略であるBlue/Green、Canary、Rolling Updatesについて詳しく解説していきます。
- AWS
- インフラエンジニア
2023.11.26
Amazon EKSで学ぶコンテナ管理
この記事では、EKSの基本概念から始めて、実際に手を動かして学べるハンズオンまでをカバーします。初心者でもEKSを理解し、実際に使えるようになることを目指しています。
- AWS