- Amazon S3とは?
- Amazon S3を使用するメリット
- Amazon S3を使用するデメリット
- Amazon S3の機能
- Amazon S3の使用例
- Amazon S3の利用方法
- Amazon S3に関するよくある質問
- まとめ
Amazon S3とは?
Amazon S3とは、AWSが提供するクラウドストレージサービスのことです。無制限の容量と費用対効果の良さから、多くの企業や団体、個人がAmazon S3を利用しています。Amazon S3はオブジェクトストレージを採用しており、柔軟にデータを管理できる点が特徴です。また、耐久性や可用性にも優れており、さまざまな用途で活用されています。
関連記事:
AWSのEC2とは?利用するメリットや料金体系を詳しく解説
AWS Amplifyとは?特徴や料金、メリットをわかりやすく解説
AWSとは
AWS(Amazon Web Services)は、Amazonが提供する世界最大のクラウドプラットフォームです。米国の市場調査会社Synergy Research Groupの調査によると、2023年第4四半期のクラウドプラットフォーム市場シェアではAWSが31%でトップとなっています。この数字は、AWSが多くの企業や団体などから高く評価されていることを示しています。
AWSは2024年9月時点で、200種類を超えるサービスを提供しています。著名なサービスとしては、仮想実行環境を提供する「Amazon EC2」、上記のクラウドストレージサービス「Amazon S3」が挙げられます。
関連記事:
AWSとは?特徴や資格、代表的なサービスをわかりやすく解説
AWSエンジニアとは?年収やキャリアパス、転職に役立つ資格も紹介
未経験でAWSエンジニアになるには?学習手順や認定資格などを解説
Amazon S3で使用する基本的な用語
Amazon S3を詳しく理解するためには、いくつかの専門用語を理解することが必要です。以下では、Amazon S3で使用する基本的な用語を紹介します。
関連記事:AWSの勉強方法!初心者向け6ステップや独学に必要な時間を解説
バケット
オブジェクトを保存する場所を指す言葉です。バケットはグローバル単位でユニーク(一意)であることが求められ、たとえ異なるアカウントであっても同じ名称のバケットを作成することはできません。
フォルダ
パケット上に作成された仮想コンテナを指す言葉です。通常のURL同様「bucket_name/folder_name/file_name」といったURLで指定できます。
キー
オブジェクトが格納されている場所をURLで表現したパスです。前述のバケットとキーを組み合わせて一意にすることで、格納先が表現されます。
リージョン
リージョンとは、AWSがサービスを提供している地域の単位です。日本では、アジアパシフィックリージョンの一部としてサービスが提供されています。前述のバケットを作成する際には、このリージョンを指定する必要があります。
Amazon S3のストレージクラスの種類
Amazon S3には複数種類のストレージがあり、ストレージクラスという呼び方をしています。ストレージクラスによって、用途、特徴、コストなどが異なります。
ストレージクラス選びで特に重要な基準は、アクセス頻度でしょう。なぜなら、ストレージ利用料金が高めに設定されているクラスはデータの取り出し等の料金が安い傾向にあり、逆にストレージ利用料金が低めに設定されているクラスはデータの取り出し等の料金が高い傾向にあるからです。
具体的には、以下の表のようになります。
ストレージクラス | 特徴 | 料金目安 |
---|---|---|
S3 Standard | 標準的 | ストレージ利用: 0.023USD/GB |
S3 Intelligent- Tiering |
自動でコスト削減 (アクセス頻度に置いてデータを 最も費用対効果の高いアクセス 階層に自動的に移動) |
ストレージ利用:0.004USD/GB ~ 0.023USD/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の料金が決定されます。詳しい計算は、見積りツールを使用すると良いです。
Amazon S3を使用するメリット
Amazon S3にはさまざまな機能があり、使用するメリットは多くあります。Amazon S3を使用するメリットとしては、高い可用性や耐久性、従量課金制で必要な分だけ利用できること、容量無制限で利用できることが挙げられます。
また、高度なセキュリティレベルと柔軟に権限管理ができる点、データの保管場所を自由に設定できる点などもメリットです。本章では、Amazon S3を使用するメリットについて解説します。
可用性や耐久性が高い
Amazon S3の大きなメリットのひとつは、99.9%の可用性(S3標準)と99.999999999%の耐久性です。Amazon S3は、データを3ヶ所以上のAZ(アベイラビリティゾーン)にコピーして保存します。
AZは複数のデータセンターで構成されており、互いに距離も離れているため、大規模な障害にも対処できます。このような構造により、S3は重要なデータや機密情報の管理に最適なストレージサービスとして支持されています。
従量課金制で必要な分だけ利用できる
Amazon S3は容量、リクエスト数、データの送受信量などの項目に応じて使用料が変更されるため、事業のスモールスタートに適しています。そのためマネタイズできていないサービスを、不要な費用を払わずに運用できます。
容量無制限で利用できる
自社サーバーなどオンプレミスのサーバーだと容量の追加に手間がかかりますが、Amazon S3は簡単に上限を変更できます。更に上限に制限も無いため、想定以上に容量が増しても問題無く運用できます。
セキュリティレベルが高い
Amazon S3はデータの暗号化だけでなく、監査ログ記録やアクセス制御の詳細設定など様々なセキュリティ機能を提供しています。これらを自社サーバーで実現するとコストなどがかかるため、Amazon S3が選ばれる要因となっています。
柔軟に権限管理ができる
セキュリティとも深く関連しますが、Amazon S3は権限管理を細かく設定できます。どこまでデータを公開するか、誰のアクセスを可能とするか、など項目ごとに設定しておけば利便性とセキュリティのバランスを取りやすいです。
保管先を自由に設定できる
データを保管できるクラウドサービスは多数ありますが、保管先のサーバー、データベースをどこまで指定できるかはサービスによって異なります。指定できないサービスも多いでしょう。しかし、Amazon S3はデータの保管先まで自由に指定できます。
データの場所を指定して分散管理することで、リスク分散になります。たとえばどこかの国で災害が発生してサーバーが物理的に壊れてしまったとしても、別の国のサーバーにデータがあるのでサービスの稼働を継続できる、といったことになります。
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を使用する場合、管理者が使用状況を管理しなければならず、運用の負荷が大きいです。
関連記事:インフラエンジニアにAWSスキルが求められる理由
Amazon S3の機能
Amazon S3にはさまざまな機能があります。最適な利用方法を見出すには、主な機能を事前に把握しておくことが重要です。
Amazon S3の主要な機能には、ストレージ機能やライフサイクル管理、バージョン管理などが挙げられます。これらの知識があれば、用途に応じた効率的な運用ができるでしょう。本章では、Amazon S3の機能について解説します。
ストレージ機能
一般的なデータストレージとしての機能です。Aamzon S3では、使用した分だけ支払う従量課金制を採用しています。複数のストレージクラス(プラン)も設けられているため、コストやアクセス頻度によって適切なストレージクラスを選ぶことも可能です。
また、Amazon S3でバケットを作成し、オブジェクトをアップロードした後はバージョニングやストレージクラス、オブジェクトロック、バッチ操作、レプリケーション、タグなどの機能を使ってストレージを管理できます。
ライフサイクル管理
オブジェクト単位でライフサイクルを設定・管理する機能です。保存から一定期間が経過したオブジェクトを削除したり、異なるストレージクラスに移動させたりといった操作・設定が行えます。
バージョン管理(バージョニング)
Amazon S3では、オブジェクト単位でバージョン管理(バージョニング)が可能です。誤ってデータの上書き保存や削除などのミスがあった場合でも、処理前のデータが別のバージョンとして保存されているため、簡単に処理前の状態に戻せます。
また、2拠点を同時に失った場合でもデータが失われないよう、高い保護性も確保されています。
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は様々なサービスやメリットがあるため、使われ方は多岐に渡ります。ここでは代表例を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に関するよくある質問と回答を紹介します。Amazon S3を含むAWSは、今後さらに普及していく可能性が高いサービスです。Amazon S3を活用するためにも、Amazon S3に関するよくある質問を事前に理解しておくと良いでしょう。今回紹介するAmazon S3に関するよくある質問と回答を、ぜひお役立てください。
Q1. Amazon S3は何に使いますか?
Amazon S3は他のクラウドストレージと比べても様々な利点があるため、使用方法は多岐に渡ります。ここでは代表例を5つご紹介します。
-
・ファイルのバックアップ・共有
・長期的なWebサービスの運用
・長期間使用されないデータの保存
・データ分析アプリの構築
・CDNの構築
Q2. Amazon S3の正式名称を教えてください
Amazon S3とは「Amazon Simple Storage Service」の頭文字Sをとった略称です。AWSの提供するサービスの1つで、オブジェクトストレージサービスになります。
オブジェクトストレージは、データの検索性が高く、柔軟なデータ管理が可能です。そのため、幅広い用途に利用されています。
関連記事:AWS認定資格で年収は上がる?試験概要や市場価値、難易度を紹介
Q3. S3ホスティングのデメリットは何ですか?
Amazon S3ホスティングサービスのデメリットは「動的コンテンツをホスティングできない」「任意のドメインに変更したい場合、AWS Route 53をはじめとしたDNSサービスを設定しなければならない」などが挙げられます。
Q4. Amazon S3のバケットとフォルダの違いは何ですか?
Amazon S3のバケットは、オブジェクトを格納する最上位ディレクトリであり、データ管理の基本単位です。一方、フォルダはバケット内で階層的に作成できますが、実際は階層構造ではありません。フォルダの存在を仮想的に見せる仕組みにより、移動やコピー、削除などの操作が可能になっています。
まとめ
AWSはAmazonが提供する世界最大のクラウドプラットフォームです。そしてAmazon S3はAWSの中で提供されているクラウドストレージサービスです。Amazon S3を利用すればクラウド環境で大規模なデータを管理できます。
クラウドストレージサービスはAmazon S3以外にもありますが、Amazon S3はサーバーの場所を選択することや、用途に合わせてストレージクラスを選べます。処理速度や動的処理には弱いといった欠点はありますが、規模が大きく利便性、コストパフォーマンスにも優れていることから、今後も利用者、利用するプロジェクトは増えていくでしょう。
関連記事:
AWSエンジニアの仕事内容とは?転職におすすめの資格も紹介
AWSエンジニアの年収は?将来性や年収アップのポイントも解説
ITエンジニアの転職ならレバテックキャリア
レバテックキャリアはIT・Web業界のエンジニア職を専門とする転職エージェントです。最新の技術情報や業界動向に精通しており、現状は転職のご意思がない場合でも、ご相談いただければ客観的な市場価値や市場動向をお伝えし、あなたの「選択肢」を広げるお手伝いをいたします。
「将来に向けた漠然とした不安がある」「特定のエンジニア職に興味がある」など、ご自身のキャリアに何らかの悩みを抱えている方は、ぜひ無料のオンライン個別相談会にお申し込みください。業界知識が豊富なキャリアアドバイザーが、一対一でさまざまなご質問に対応させていただきます。
「個別相談会」に申し込む
転職支援サービスに申し込む
※転職活動を強制することはございません。
レバテックキャリアのサービスについて