- AWSの主要機能「Amazon S3」とは?
- Amazon S3の機能
- Amazon S3を使用するメリット
- Amazon S3を使用するデメリット
- Amazon S3の使用例
- Amazon S3の利用方法
- Amazon S3に関するよくある質問
- まとめ
AWSの主要機能「Amazon S3」とは?
Amazon S3は後述するAWSの中で提供されているクラウドストレージサービスです。Amazon S3はオブジェクトストレージであり、ファイルストレージやブロックストレージよりも柔軟にデータを管理できるという特徴があります。
一般的なファイルストレージでは、データを「ファイル」や「フォルダ」という単位で管理します。また、ストレージの中は階層構造状に区切られており、データの格納場所が検索や保存に影響を及ぼしていました。
これに対してオブジェクトストレージではデータをオブジェクトという単位で扱い、それぞれにメタデータ(固有のIDなど)を付与します。メタデータを付与されたデータは、格納場所に依存せずに管理できるようになるため、保存や検索の柔軟性が向上するという仕組みです。
こうした仕組みからオブジェクトストレージは階層構造を持たず、検索性や保存性に優れたストレージとして評価されています。
オブジェクトストレージは更新頻度が低く容量の大きなデータ保存に適しています。また管理や配信もしやすいため、音楽・動画・ゲームコンテンツなどの配信にマッチするでしょう。さらに、電子帳簿保存法などで保存を義務付けられているようなデータを、アーカイブとして管理する場合にも適しています。
電子商取引の増加に伴い、保存・管理を要するデータが増え続ける今、オブジェクトストレージへの需要も伸びているのです。
AWSとは
AWSは、Amazonが提供する世界最大のクラウドプラットフォームです。クラウドプラットフォームとしてはトップのシェアを誇り、2023年時点で31%に達しています。(※)
AWSは、Amazonが提供するさまざまなクラウドサービスの総称で、2024年現在、新旧合わせて200を超えるサービスが提供されています。著名なサービスとしては、仮想実行環境を提供する「Amazon EC2」、上記のクラウドストレージサービス「Amazon S3」が挙げられます。
※参考:AWS市場シェア─収益と成長、競合との比較(2023年)
関連記事:AWSとは?特徴や資格、サービスを初心者向けに解説
Amazon S3とEC2との違い
Amazon S3とEC2はそれぞれ目的の異なるサービスです。Amazon S3は前述の通りオブジェクトストレージですので、動画や写真、音楽など構造化されていないデータを保存するために使用されます。一方EC2(Elastic Compute Cloud)はAWSの仮想マシンサービスです。
ユーザーのニーズに応じて仮想マシンのスペックをカスタマイズでき、作成した仮想マシンの起動や管理ができます。そのため自身のアプリケーションに応じて柔軟な対応が可能になり、初期投資は少なく、規模が大きくなってきたら仮想マシンを強化するといった使い方ができます。
関連記事:AWSのEC2とは?利用するメリット、需要の高さを解説
Amazon S3で使用する基本的な用語
ここで、Amazon S3の基礎知識として、よく使う用語を紹介します。
バケット
オブジェクトを保存する場所を指す言葉です。バケットはグローバル単位でユニーク(一意)であることが求められ、たとえ異なるアカウントであっても同じ名称のバケットを作成することはできません。
フォルダ
パケット上に作成された仮想コンテナを指す言葉です。通常のURL同様「bucket_name/folder_name/file_name」といったURLで指定できます。
キー
オブジェクトが格納されている場所をURLで表現したパスです。前述のバケットとキーを組み合わせて一意にすることで、格納先が表現されます。
リージョン
リージョンとは、AWSがサービスを提供している地域の単位です。日本では、アジアパシフィックリージョンの一部としてサービスが提供されています。前述のバケットを作成する際には、このリージョンを指定する必要があります。
Amazon S3の機能
以下は、Amazon S3が持つ主な機能の一覧です。主な機能をあらかじめ把握しておくことで、使いこなすのに役立つでしょう。詳細は実際に使用していれば慣れていくはずなので、以下で紹介する内容はざっくりと把握しておけば問題ありません。
ストレージ機能
一般的なデータストレージとしての機能です。Aamzon S3では原則として「使用した分だけ支払う」という料金体系を採用しています。ただし、複数のストレージクラス(プラン)が設けられているため、コストやアクセス頻度によって適切なストレージクラスを選ぶことも可能です。
ライフサイクル管理
オブジェクト単位でライフサイクルを設定・管理する機能です。保存から一定期間が経過したオブジェクトを削除したり、異なるストレージクラスに移動させたりといった操作・設定が行えます。
バージョン管理(バージョニング)
バケットのバージョン(世代)を履歴情報として管理する機能です。データの上書き保存や削除といったミスがあった場合でも、簡単にロールバックを行うことができます。
Webサイトホスティング
静的コンテンツのホスティングを可能にする機能です。PHPやJavaなどを使用していない静的なWebサイトであれば、Amazon S3のみのサーバーレスな環境で構築することができます。
アクセス管理
AmazonS3では、バケット単位やオブジェクト単位で細かなアクセス制御を施すことができます。このアクセス制御は、以下3つの方法で実装することが可能です。
IAMポリシー
Amazon S3を利用するユーザー単位でのアクセス制御です。ユーザーに対して読み書き権限の付与などを行います。
バケットポリシー
バケットに対してアクセス権を設定します。ただし、オブジェクト名やファイル名でのアクセス権を付与することも可能です。
ACL(アクセスコントロールリスト)
バケットACLとオブジェクトACLにより、それぞれに細かなアクセス制御を付与することができます。
暗号化
Amazon S3では、オブジェクトを暗号化して格納することができます。バケットの標準暗号化機能を有効にすることで、オブジェクト格納時に自動で暗号化が行われます。
データ処理
AmazonS3はデータ処理機能として、「S3 Object Lambda」と「イベント通知」を用意しています。S3 Object Lambdaはデータをアプリケーションに返す際にデータを変更する機能です。具体的には、画像サイズの変更、行のフィルタリングなどができます。イベント通知は処理を実行するトリガーが発生した際に通知する機能です。
その他の機能
一般的なストレージサービスに付与されるログ機能やイベント管理機能も利用可能です。
Amazon S3を使用するメリット
Amazon S3の特徴と機能を確認したところで、ここからは使用するメリットを確認していきましょう。前述の通りAmazon S3は様々なサービスを展開しているため、他のクラウドサービスと比べても使用するメリットが複数あります。ここでは代表的なメリットを7つご紹介します。
それぞれについて詳しく見ていきましょう。
可用性や耐久性が高い
Amazon S3はアップロードしたファイルを自動で複数のストレージに保存するため、従来のサーバーと比較してヒューマンエラーや災害に強いです。
従量課金制で必要な分だけ利用できる
Amazon S3は容量、リクエスト数、データの送受信量などの項目に応じて使用料が変更されるため、事業のスモールスタートに適しています。そのためマネタイズできていないサービスを、不要な費用を払わずに運用できます。
容量無制限で利用できる
自社サーバーなどオンプレミスのサーバーだと容量の追加に手間がかかりますが、Amazon S3は簡単に上限を変更できます。更に上限に制限も無いため、想定以上に容量が増しても問題無く運用できます。
セキュリティレベルが高い
Amazon S3はデータの暗号化だけでなく、監査ログ記録やアクセス制御の詳細設定など様々なセキュリティ機能を提供しています。これらを自社サーバーで実現するとコストなどがかかるため、Amazon S3が選ばれる要因となっています。
柔軟に権限管理ができる
セキュリティとも深く関連しますが、Amazon S3は権限管理を細かく設定できます。どこまでデータを公開するか、誰のアクセスを可能とするか、など項目ごとに設定しておけば利便性とセキュリティのバランスを取りやすいです。
保管先を自由に設定できる
データを保管できるクラウドサービスは多数ありますが、保管先のサーバー、データベースをどこまで指定できるかはサービスによって異なります。指定できないサービスも多いでしょう。しかし、Amazon S3はデータの保管先まで自由に指定できます。
データの場所を指定して分散管理することで、リスク分散になります。たとえばどこかの国で災害が発生してサーバーが物理的に壊れてしまったとしても、別の国のサーバーにデータがあるのでサービスの稼働を継続できる、といったことになります。
バージョニングによるデータ保護が可能
Amazon S3では、オブジェクト単位での世代管理(バージョン管理)を行います。誤ってデータの上書きや削除が行われた場合でも、処理前のデータが別のバージョンとして残っているため、容易に処理前の状態に戻すことができます。また、2拠点を同時に喪失した場合でもデータが失われないように、高い保護性を確保している点も見逃せません。
Amazon S3を使用するデメリット
Amazon S3を使用すると多くのメリットを得られますが、同時にデメリットも存在します。ここでは代表的なデメリットを4つご紹介します。ご紹介するのは以下の4つです。
-
・動的処理を要するWebサービスに使用できない
・パフォーマンスに優れているわけではない
・Amazon S3上でファイルの修正ができない
・管理者の運用コストが大きい
それぞれについて詳しく見ていきましょう。
動的処理を要するWebサービスに使用できない
前述の通り、Amazon S3は静的なWebサービスを配信できますが、動的なWebサービスには使用できません。なぜなら、サーバー側のスクリプト処理を実行する機能が無いからです。データベースなどを必要とするサービスを検討しているようでしたら、Amazon S3以外のサービスを検討しましょう。
パフォーマンスに優れているわけではない
Amazon S3はあくまでオブジェクトのストレージですので、高速な処理を求めるアプリケーションには適していません。高い処理能力を求められるサービスの場合は別の環境で作成しましょう。
Amazon S3上でファイルの修正ができない
Amazon S3はオブジェクトの保存とアップロード、ダウンロードのみを提供しているため、軽微な修正であっても、一度ダウンロードし修正してから再度アップロードしなければなりません。
管理者の運用コストが大きい
Amazon S3は自動で容量を拡張する機能があるため、意図せず費用が増す可能性があります。そのため、組織でAmazon S3を使用する場合、管理者が使用状況を管理しなければならず、運用の負荷が大きいです。
Amazon S3の使用例
ここからは、Amazon S3が実際どのように使用されているのかを確認していきましょう。前述の通りAmazon S3は様々なサービスやメリットがあるため、使われ方は多岐に渡ります。ここでは代表例を5つご紹介します。
-
・ファイルのバックアップ・共有
・長期的なWebサービスの運用
・長期間使用されないデータの保存
・データ分析アプリの構築
・CDNの構築
それぞれについて詳しく見ていきましょう。
ファイルのバックアップ・共有
前述の通り、Amazon S3はファイルの形式を問わず格納できるオブジェクトストレージです。そのため様々な形式のファイルのバックアップが可能です。Amazon S3は超高耐候かつ高可用ですのでファイルのバックアップに最適です。また、指定したユーザーにのみファイルの共有が可能なので、組織のメンバーへのファイル共有などにも使用されています。
長期的なWebサービスの運用
Amazon S3はオンプレミスのサーバーと異なり、必要な分を必要なだけ使用できるため長期的なWebサービスの運用に使用されています。なぜなら、Webサービスの普及やアップデートで必要容量が増えてもS3の場合は課金することで自由に追加できるからです。また、バージョン管理機能や高いセキュリティも長期サービスの運用に使用される要因となっています。
長期間使用しないデータの保存
Amazon S3は通常のファイルバックアップだけでなく、長期間使用しないデータの保存にも使用されています。なぜなら、自身でサーバーを保持するよりも安い費用で安全に保存できるからです。また、従来使用されていたテープライブラリよりもデータの復元が早いため、緊急時にすぐ確認できるのも使用される要因となっています。
データ分析アプリの構築
Amazon S3は容量に制限が無いため、大量の学習データを保管する必要があるデータ分析アプリの構築にも使用されています。また、保存するデータの構造に制限が無い点もビックデータを保存する環境として適しています。
CDNの構築
CDN(コンテンツ配信ネットワーク)とは、Webコンテンツの配信品質や表示速度を改善するネットワークです。大量のユーザーがアクセスするサイトの代理サーバーを作成し、リダイレクトさせることでアクセスを分散させ、配信品質や表示速度を改善します。Amazon S3は静的なファイルを配信できるため、CDNの構築にも使用されています。
Amazon S3の利用方法
Amazon S3は以下の流れで利用します。
-
1. バケットを作成する
2. データをアップロードする
3. データにアクセスする
まずバケットとはデータを保管する入れ物です。データ領域を確保するということです。そして、作成したバケットの中にデータをオブジェクトという形で保管します。オブジェクトはファイルとファイルを説明するメタデータで構成されているので、データに少しプラスアルファがくっついてオブジェクトになるというイメージです。
バケットにオブジェクトを作成したら、実際にアクセスしてみる、という流れです。それぞれの詳しい手順については画像付きで解説されているページなどがあるので、必要に応じてご確認ください。操作自体は直感的で簡単なので、予備知識がなくても扱えるものになっています。
Amazon S3のストレージクラスの種類
Amazon S3には複数種類のストレージがあり、ストレージクラスという呼び方をしています。ストレージクラスによって、用途、特徴、コストなどが異なります。
ストレージクラス選びで特に重要な基準は、アクセス頻度でしょう。なぜなら、ストレージ利用料金が高めに設定されているクラスはデータの取り出し等の料金が安い傾向にあり、逆にストレージ利用料金が低めに設定されているクラスはデータの取り出し等の料金が高い傾向にあるからです。
具体的には、以下の表のようになります。
ストレージクラス | 特徴 | 料金目安 |
---|---|---|
S3 Standard | 標準的 | ストレージ利用:0.025USD/GB |
S3 Intelligent-Tiering |
自動でコスト削減 (アクセス頻度に基づいてデータを 最も費用対効果の高いアクセス階層に自動的に移動) |
ストレージ利用:0.004USD/GB ~ 0.0025USD/GB データのモニタリング:オブジェクト 1,000 件あたり 0.0025USD |
ストレージクラス | 特徴 | 料金目安 |
---|---|---|
S3 Standard-IA | Standardと比較するとストレージ利用料金は低いがデータ取り出しなどに費用がかかる。 そのためアクセス頻度の低いデータに向いている。 ただしより低頻度向けのプランは複数あるのでバランス型とも言える。 |
ストレージ利用:0.0125USD/GB データの取り出し等:0.01USD/GB ストレージ利用料金:最低でも30日分の費用 |
S3 One-Zone IA | Standardと比較すると可用性を下げてコストを抑えている。 ただしより可用性、コストの低いクラスは複数ある。 |
ストレージ利用:0.01USD/GB データの取り出し等:0.01USD/GB ストレージ利用料金:最低でも30日分の費用 |
S3 Glacier Instant Retrieval |
四半期に一度程度アクセスするようなデータに向いている。 | ストレージ利用:0.004USD/GB データの取り出し等:0.03USD/GB ストレージ利用料金:最低でも90日分の費用 |
S3 Glacier Flexible Retrieval |
1年に1〜2回アクセスするようなデータに向いている。 | ストレージ利用:0.0036USD/GB データの取り出し等:0.03USD/GB ストレージ利用料金:最低でも90日分の費用 |
S3 Glacier Deep Retrieval |
1 年に1〜2回アクセスされるようなデータに向いている。 より長期保管を想定している。 | ストレージ利用:0.00099USD/GB データの取り出し等:0.02USD/GB ストレージ利用料金:最低でも180日分の費用 |
Amazon S3の料金体系
ストレージクラスごとのAmazon S3の料金は上で挙げた通りです。ストレージクラス以外にも複数の要素によってAmazon S3の料金は決まります。具体的には、以下が挙げられます。
-
・ストレージクラス
・ストレージ使用量
・データ送受信量
・追加機能
以上の要素の組み合わせによって、Amazon S3の料金が決定されます。詳しい計算は、見積りツールを使用すると良いです。
参考:AWS料金見積ツール
Amazon S3に関するよくある質問
Amazon S3に関するよくある質問と回答を紹介します。Amazon S3を含むAWSは今後より普及していく可能性が高いでしょう。そのため、Amazon S3について知ることで開発や自社サーバーの管理に役立つはずです。
Q1. Amazon S3は何に使いますか?
Amazon S3は他のクラウドストレージと比べても様々な利点があるため、使用方法は多岐に渡ります。ここでは代表例を5つご紹介します。
-
・ファイルのバックアップ・共有
・長期的なWebサービスの運用
・長期間使用されないデータの保存
・データ分析アプリの構築
・CDNの構築
Q2. Amazon S3の正式名称を教えてください
Amazon S3とは「Amazon Simple Storage Service」の頭文字Sをとった略称です。AWSの提供するサービスの1つで、オブジェクトストレージサービスになります。
Q3. S3ホスティングのデメリットは何ですか?
Amazon S3ホスティングサービスのデメリットは「動的コンテンツをホスティングできない」「任意のドメインに変更したい場合、AWS Route 53をはじめとしたDNSサービスを設定しなければならない」などが挙げられます。
Q4. Amazon S3のバケットとフォルダの違いは何ですか?
Amazon S3においてフォルダはバケットに格納されています。つまり、パケットはAmazon S3上の最上位ディレクトリ、フォルダはディレクトリ上に作成された仮想コンテナにあたります。
まとめ
AWSはAmazonが提供する世界最大のクラウドプラットフォームです。そしてAmazon S3はAWSの中で提供されているクラウドストレージサービスです。Amazon S3を利用すればクラウド環境で大規模なデータを管理できます。
クラウドストレージサービスはAmazon S3以外にもありますが、Amazon S3はサーバーの場所を選択することや、用途に合わせてストレージクラスを選べます。処理速度や動的処理には弱いといった欠点はありますが、規模が大きく利便性、コストパフォーマンスにも優れていることから、今後も利用者、利用するプロジェクトは増えていくでしょう。
ITエンジニアの転職ならレバテックキャリア
レバテックキャリアはIT・Web業界のエンジニア職を専門とする転職エージェントです。最新の技術情報や業界動向に精通しており、現状は転職のご意思がない場合でも、ご相談いただければ客観的な市場価値や市場動向をお伝えし、あなたの「選択肢」を広げるお手伝いをいたします。
「将来に向けた漠然とした不安がある」「特定のエンジニア職に興味がある」など、ご自身のキャリアに何らかの悩みを抱えている方は、ぜひ無料のオンライン個別相談会にお申し込みください。業界知識が豊富なキャリアアドバイザーが、一対一でさまざまなご質問に対応させていただきます。
「個別相談会」に申し込む
転職支援サービスに申し込む
※転職活動を強制することはございません。
レバテックキャリアのサービスについて