Amazon S3(Amazon Simple Storage Service)の初心者ガイド

Amazon S3はAWSが提供する代表的なクラウドストレージサービスです。S3は「Simple Storage Service」の頭文字を取った略称で、クラウド上に大容量のデータを安全に保存・管理・アクセスできるオブジェクトストレージサービスです。本レポートでは、クラウドストレージの基本概念から実践的な活用方法まで、S3について初心者にもわかりやすく解説します。S3は業界をリードするスケーラビリティ、99.999999999%(イレブンナイン)の耐久性、高いセキュリティと柔軟性を兼ね備え、あらゆる規模の企業や個人がデータの保存、バックアップ、配信など多様なユースケースに活用しています。

※本ページは、AIの活用や研究に関連する原理・機器・デバイスについて学ぶために、個人的に整理・記述しているものです。内容には誤りや見落としが含まれている可能性もありますので、もしお気づきの点やご助言等ございましたら、ご連絡いただけますと幸いです。

※本ページの内容は、個人的な学習および情報整理を目的として提供しているものであり、その正確性、完全性、有用性等についていかなる保証も行いません。本ページの情報を利用したこと、または利用できなかったことによって発生した損害(直接的・間接的・特別・偶発的・結果的損害を含みますが、これらに限りません)について、当方は一切責任を負いません。ご利用は利用者ご自身の責任でお願いいたします。

1. Amazon S3の概要

1.1 S3とは何か

Amazon Simple Storage Service(Amazon S3)は、AWSが提供するオブジェクトストレージサービスです4。ここでいう「オブジェクトストレージ」とは、データをファイル単位で保存する仕組みのことで、従来のブロックストレージやファイルストレージとは異なるアプローチでデータを管理します。「Simple Storage Service」の3つのSを取って「S3」と略され、クラウドストレージの代名詞的存在となっています19

S3は2006年に最初のAWSサービスとして登場し、それ以来、クラウドコンピューティングの基盤として多くの企業や個人に利用されています。オブジェクトとして保存されるデータは、画像や動画、テキストファイル、バックアップデータ、アプリケーションデータなど、あらゆる種類のファイルが対象となります。

1.2 クラウドストレージとしてのS3

クラウドストレージとは、インターネットを通じてデータを保存・管理するサービスのことです。従来のオンプレミス(自社所有のサーバー)環境と比べて、初期投資が少なく、必要に応じて容量を拡張できるという特徴があります。S3はそんなクラウドストレージの中でも、特に高い耐久性と可用性、スケーラビリティを提供するサービスです4

具体例を挙げると、写真共有サービスのInstagramやメディアストリーミングのNetflix、ファイル共有サービスのDropboxなども、そのインフラの一部としてS3を利用しています。これらのサービスが膨大な量のデータを効率的に管理・配信できているのは、S3のような高性能なクラウドストレージがあるからなのです。

1.3 S3の誕生背景とクラウドストレージの歴史

クラウドストレージの歴史を語る上で、S3は欠かせない存在です。AWSが2006年にS3を発表した当時、企業はデータストレージのために高価なハードウェアを購入し、専門の技術者を雇用して管理するという方法が一般的でした。S3の登場により、インターネット接続さえあれば誰でも簡単に拡張性の高いストレージを利用できるようになり、ITインフラの考え方に革命をもたらしました。

S3は単なるストレージサービスではなく、クラウドコンピューティングの基礎となるサービスとして、多くのウェブアプリケーションやビジネスプロセスを支えています。例えば、新興企業がサービスを立ち上げる際に、自社でサーバーを用意する代わりにS3を利用することで、初期投資を大幅に削減し、ビジネスの成長に合わせて柔軟にスケールアップできるようになりました。

2. Amazon S3の基本概念

2.1 バケット(Bucket)

バケットはS3におけるデータの基本的な格納場所で、フォルダやディレクトリに似た概念です57。しかし、単なるフォルダとは異なり、S3のバケットはグローバルなネームスペース内に存在するため、バケット名はAWS全体で一意(ユニーク)である必要があります8。例えば、「my-company-backups」という名前のバケットが世界中のどこかで既に使われていれば、同じ名前のバケットを作成することはできません。

バケットを作成する際には、名前とリージョン(地理的な位置)を指定します7。一度作成したバケットの名前やリージョンは変更できないため、慎重に選ぶ必要があります。バケット名にはパスワードなどの機密情報を含めるべきではありません。これは、バケット内のオブジェクトを参照するURLにバケット名が含まれるためです8

2.2 オブジェクト(Object)

オブジェクトはS3に保存される実際のデータ単位であり、ファイルとそのファイルに関連するメタデータの組み合わせです45。ファイル本体(画像、動画、テキストファイルなど)に加えて、作成日時、サイズ、コンテンツタイプなどのメタデータが含まれます。

S3では、バケット内に保存できるオブジェクト数に制限はなく、一つのオブジェクトのサイズは最大5TBまで可能です。各オブジェクトはURLを通じてアクセスでき、適切な権限があればインターネットを介してどこからでもデータを取得できます。

2.3 キー(Key)

キーはバケット内のオブジェクトを一意に識別するための名前です4。従来のファイルシステムでいうファイルパスに相当します。例えば、「photos/2023/summer/beach.jpg」というキーは、「photos」フォルダの中の「2023」フォルダ内の「summer」フォルダに保存された「beach.jpg」というファイルを示しています。

S3ではこのキーを使ってオブジェクトにアクセスします。キーの命名には特定のルールがあり、最大1024バイトの Unicode 文字を使用できます。効率的なデータ管理のためには、論理的で整理されたキー構造を設計することが重要です。

2.4 リージョン(Region)

リージョンはAWSのサービスが物理的に配置されている地理的な場所を指します7。S3バケットは特定のリージョンに作成され、そこに物理的に保存されます。リージョンの選択は、データのレイテンシー(応答時間)、コスト、法規制などに影響します。

例えば、日本国内のユーザーが主にアクセスするデータであれば、東京(ap-northeast-1)や大阪(ap-northeast-3)リージョンを選択することで、アクセス速度を向上させることができます。また、特定の国や地域のデータ保護法に準拠する必要がある場合は、該当する地域内のリージョンを選択することが重要です。

2.5 エンドポイント(Endpoint)

エンドポイントはS3サービスにアクセスするためのURLです。各リージョンには固有のエンドポイントが存在します。例えば、東京リージョンのエンドポイントは「s3.ap-northeast-1.amazonaws.com」となります。

エンドポイントを通じて、S3のバケットやオブジェクトにアクセスするためのリクエストを送信します。例えば、「example-bucket」というバケット内の「sample.txt」というオブジェクトにアクセスする場合、そのURLは「https://example-bucket.s3.ap-northeast-1.amazonaws.com/sample.txt」のような形式になります。

3. Amazon S3の主な特徴

3.1 耐久性と可用性

S3の最も際立った特徴の一つは、その高い耐久性です。S3は99.999999999%(イレブンナイン)の耐久性を提供しています2419。これは、10,000,000,000個のオブジェクトのうち、1年間に1個のオブジェクトが失われる可能性があるという計算になります。つまり、データ損失のリスクが極めて低いということです。

この高い耐久性は、S3がデータを複数のアベイラビリティゾーン(物理的に独立したデータセンター)に自動的に複製することで実現しています4。例えば、一つのデータセンターが自然災害で被害を受けても、他のデータセンターにあるコピーからデータを取得できるため、データが完全に失われるリスクが大幅に低減されます。

可用性に関しても、S3 Standardクラスでは99.99%の可用性を提供しています2。これは、1年間でサービスが利用できない時間が約52分程度という高い水準です。Webサイトやアプリケーションなど、常時アクセス可能であることが求められるサービスにとって、この高可用性は非常に重要な特性です。

3.2 スケーラビリティ

S3のもう一つの大きな特徴は、無制限のスケーラビリティです19。S3には保存できるデータ容量に上限がなく、ユーザーのニーズに応じて自動的に拡張されます。これは、従来のオンプレミスストレージでは困難だった「成長に合わせたシームレスな拡張」を可能にします。

例えば、スタートアップ企業がサービスを開始した当初は数GBのストレージしか必要なくても、ビジネスが成長するにつれて数TB、さらには数PBへと容量が必要になる場合があります。S3であれば、追加の設備投資や複雑な移行作業なしに、必要な分だけストレージを増やすことができます。

また、S3はリクエスト処理も自動的にスケールします。例えば、eコマースサイトの季節的な需要増加(クリスマスシーズンなど)や、メディアサイトでの突然のトラフィック急増にも対応できます。1秒あたり数千のリクエストでも、パフォーマンスを維持したまま処理可能です1

3.3 セキュリティとデータ保護

S3は包括的なセキュリティ機能を提供しています。バケットポリシー、IAM(Identity and Access Management)ポリシー、アクセスコントロールリスト(ACL)など、複数のレベルでアクセス制御を設定できます7

例えば、特定のIPアドレス範囲からのアクセスのみを許可したり、特定のAWSアカウントのみにアクセス権を与えたりすることが可能です。また、S3 Block Public Access機能を使用すると、意図しないデータの公開を防ぐことができます7

データ暗号化についても、保管時の暗号化(Server-Side Encryption)と転送時の暗号化(SSL/TLS)の両方をサポートしています。S3の全バケットには、デフォルトで保管データの暗号化が有効になっています7

さらに、S3バージョニング機能を使用すると、同じオブジェクトの複数のバージョンを保持できるため、誤った操作によるデータ損失を防ぐことができます7。例えば、重要な文書を誤って上書きしてしまった場合でも、以前のバージョンを簡単に復元できます。

3.4 パフォーマンスと低レイテンシー

S3は高いパフォーマンスと低レイテンシーを提供します14。特にS3 StandardクラスやS3 Express One Zoneクラスでは、ミリ秒単位でのレスポンス時間が実現されています6

例えば、Webサイトの画像や動画を配信する場合、ユーザーが快適に閲覧できるスピードでコンテンツを提供することができます。また、Amazon CloudFrontと組み合わせることで、世界中のエッジロケーションを活用したさらに高速なコンテンツ配信が可能になります19

2023年のデータによると、AWSのLambda(サーバーレスコンピューティングサービス)では、S3から必要なコンテナイメージをオンデマンドで高速にロードする仕組みが実装されており、1秒あたり数百万リクエストを処理しながらも、起動時間を最小限(50ミリ秒程度)に抑えることができています1

4. Amazon S3のストレージクラス

4.1 ストレージクラスの概要と選択基準

S3では、データのアクセス頻度、重要性、取り出し時間の要件に応じて最適なストレージクラスを選択できます26。ストレージクラスによって料金体系や性能特性が異なるため、用途に合わせた選択が重要です。

2023年9月時点では、S3には大きく分けて「汎用」「低頻度アクセス」「アーカイブ」の3つのカテゴリと、合計7つのストレージクラスが提供されています2。各クラスの選択基準としては、以下のポイントを考慮します:

  1. データへのアクセス頻度(頻繁/不定期/稀)
  2. データの重要度(即時アクセスの必要性)
  3. コスト(保存コストと取り出しコスト)
  4. データ取り出し時間の許容範囲(ミリ秒/分/時間単位)

例えば、頻繁にアクセスするWebサイトの画像には高速なアクセスが可能なS3 Standardが適していますが、長期保存する必要があるが滅多に参照しないバックアップデータにはS3 Glacier Deep Archiveが適しています。

4.2 S3 Standard

S3 Standardは、デフォルトのストレージクラスで、頻繁にアクセスされるデータに最適です26。高い耐久性(99.999999999%)と可用性(99.99%)を備え、3つ以上のアベイラビリティゾーンにデータを自動的に複製します。

具体的なユースケースとしては以下のようなものがあります:

  • 動的Webサイトのコンテンツ(画像、動画、JavaScriptファイルなど)
  • モバイルアプリケーションのデータ
  • ビッグデータ分析
  • コンテンツ配信

特に、レスポンス時間が重視される用途や、アクセスパターンが予測しづらいデータに適しています。例えば、ニュースサイトの記事や画像は、公開直後は頻繁にアクセスされるため、S3 Standardでの保存が適しています。

4.3 S3 Intelligent-Tiering

S3 Intelligent-Tieringは、アクセスパターンが変化するデータや予測が難しいアクセスパターンのデータに適したストレージクラスです26。このクラスの特徴は、データのアクセス頻度を自動的にモニタリングし、アクセスされていないオブジェクトを低コストの階層に移動させることです。

例えば、あるプロジェクトの資料は、プロジェクト進行中は頻繁にアクセスされますが、プロジェクト終了後はほとんどアクセスされなくなります。S3 Intelligent-Tieringでは、このようなアクセスパターンの変化に自動的に対応し、最適なコストでデータを管理します。

Intelligent-Tieringでは、低頻度アクセス階層を使用することでストレージコストを最大40%、アーカイブインスタントアクセス階層では最大68%のコスト削減が可能です2。ただし、モニタリングと自動化のために少額の月額料金が発生することを考慮する必要があります。

4.4 S3 Standard-IA(低頻度アクセス)

S3 Standard-IA(Infrequent Access)は、アクセス頻度は低いものの、必要な時にはすぐにデータにアクセスしたい場合に適したストレージクラスです26。例えば、バックアップデータ、災害復旧ファイル、長期保存が必要な古い文書などに適しています。

Standard-IAの特徴は、データの保存コストがS3 Standardよりも低い一方で、データの取り出し(リトリーブ)には料金が発生することです。可用性はS3 Standardよりやや低く99.9%ですが、耐久性は同じくイレブンナイン(99.999999999%)を維持しています2

例えば、四半期に一度のレポート生成に使用されるデータセットや、年に数回しか参照されない過去のプロジェクト資料などが、Standard-IAの適切なユースケースです。

4.5 S3 One Zone-IA

S3 One Zone-IAは、Standard-IAと同様にアクセス頻度の低いデータ向けですが、データを1つのアベイラビリティゾーンにのみ保存する点が異なります26。他のストレージクラスが少なくとも3つのアベイラビリティゾーンにデータを保存するのと比較して、コストは低くなりますが、そのゾーンが利用できなくなった場合にはデータにアクセスできなくなるリスクがあります。

具体的なユースケースとしては:

  • 簡単に再作成できるデータのセカンダリバックアップ
  • 既に他の場所に保存されているデータの複製
  • コスト重視で耐障害性よりも価格を優先できるデータ

例えば、高解像度の動画から生成されたサムネイル画像は、必要に応じて再生成できるため、One Zone-IAに保存することでコストを削減できます。

4.6 S3 Glacier Instant Retrieval

S3 Glacier Instant Retrievalは、四半期に一度程度しかアクセスされないが、必要な時にはミリ秒単位ですぐにアクセスしたいアーカイブデータに適したストレージクラスです26

例えば、規制要件を満たすために長期保存が必要な医療画像データや、監査のために保管する必要がある金融取引記録などが適しています。これらのデータは通常はアクセスされませんが、監査や法的要請があった場合には迅速にアクセスする必要があります。

S3 Standard-IAと比較してコストを最大68%節約できますが、最低90日間の保存期間が設定されています6。この期間より前にデータを削除すると、残りの日数分の料金が発生します。

4.7 S3 Glacier Flexible Retrieval

S3 Glacier Flexible Retrieval(旧S3 Glacier)は、年に1~2回程度しかアクセスされない長期アーカイブデータに適したストレージクラスです26。データの取り出しには数分から数時間かかりますが、S3 Glacier Instant Retrievalと比較して約10%のコスト削減が可能です。

取り出しオプションとして「迅速(数分)」「標準(3〜5時間)」「大容量(5〜12時間)」の3つがあり、緊急度に応じて選択できます。具体的なユースケースとしては:

  • 長期間保存する必要がある歴史的なデータ
  • デジタルメディアアーカイブ
  • 科学データや研究結果の長期保存

例えば、完了したプロジェクトの全データや、法的要件で7年間保持する必要がある財務記録などが適しています。

4.8 S3 Glacier Deep Archive

S3 Glacier Deep Archiveは、S3の中で最も低コストなストレージクラスで、年に1~2回程度しかアクセスせず、データの取り出しに12時間以上かかっても問題ない長期保存データに最適です26

主な用途は、規制要件による長期保存データや、物理的な磁気テープの代替としての超長期アーカイブです。例えば:

  • 医療機関が法律で要求される患者記録の長期保存
  • 金融機関の何十年にも及ぶ取引履歴
  • メディア企業の原版フッテージの保存

最低180日間の保存期間が設定されており、早期に削除した場合は残り期間の料金が発生します。データ取り出しには通常12時間、急ぐ場合でも9時間ほどかかりますが、その分、保存コストは他のクラスと比較して大幅に低くなっています。

5. Amazon S3の基本的な使い方

5.1 AWSアカウントの作成

S3を利用するにはまず、AWSアカウントが必要です5。AWSアカウントの作成は無料で、以下の手順で行います:

  1. AWSの公式ウェブサイト(https://aws.amazon.com/)にアクセスします。
  2. 「アカウント作成」または「無料アカウント作成」をクリックします。
  3. メールアドレス、パスワード、AWSアカウント名などの基本情報を入力します。
  4. 連絡先情報と支払い情報(クレジットカード)を入力します。無料利用枠内でのみ使用する場合でも、クレジットカード情報は必要です。
  5. 電話番号認証のステップで、指定した電話番号に認証コードが送信されるので、それを入力します。
  6. サポートプランを選択します(初めての方は「ベーシック」がおすすめです)。

アカウント作成後、AWSマネジメントコンソールにログインすることができ、S3を含む様々なAWSサービスにアクセスできるようになります5

5.2 バケットの作成手順

AWSアカウントを取得したら、S3バケットを作成する手順は以下の通りです78

  1. AWSマネジメントコンソールにログインします。
  2. サービス一覧から「S3」を選択します。
  3. S3コンソール画面で「バケットを作成」ボタンをクリックします。
  4. バケット名を入力します。バケット名は全AWSアカウントを通じてグローバルに一意である必要があります8
  5. リージョンを選択します。データへのアクセスが多い地域に近いリージョンを選ぶと、レイテンシーを低減できます。
  6. バケット設定を行います:
    • パブリックアクセス設定(通常はすべてブロックが推奨)
    • バージョニング(有効/無効)
    • サーバーサイド暗号化(デフォルトで有効)
    • タグ付け(必要に応じて)
    • 高度な設定(必要に応じて)
  7. 「バケットを作成」ボタンをクリックして完了します。

バケット名には、機密情報やパスワードを含めるべきではありません。これはバケットのURLにバケット名が含まれるためです8。また、バケット名に使える文字には制限があり、小文字のアルファベット、数字、ハイフンのみが使用できます。

5.3 ファイル(オブジェクト)のアップロード

バケットを作成したら、ファイル(オブジェクト)をアップロードする手順は以下の通りです8

  1. S3コンソールで作成したバケットを選択します。
  2. 「アップロード」ボタンをクリックします。
  3. 「ファイルを追加」ボタンをクリックし、アップロードするファイルを選択します。
  4. 必要に応じて、アップロードの設定を調整します:
    • アクセス権限(パブリック/プライベート)
    • ストレージクラス(用途に合わせて選択)
    • 暗号化設定
    • メタデータ(オプション)
    • タグ(オプション)
  5. 「アップロード」ボタンをクリックして完了します。

アップロードが完了すると、ファイルがバケット内に表示され、必要に応じてダウンロード、プレビュー、プロパティの確認などができるようになります。

5.4 アクセス権限の設定

S3では、バケットやオブジェクトのアクセス権限を詳細に設定できます7。主な設定方法は以下の通りです:

  1. バケットポリシー: JSON形式のドキュメントで、バケット全体のアクセス権限を定義します。例えば、特定のIPアドレスからのアクセスのみを許可したり、特定のユーザーに読み取り権限のみを与えたりできます。
  2. アクセスコントロールリスト(ACL): バケットやオブジェクトごとに、誰がどのような操作を行えるかを設定します。ACLは現在、オブジェクト所有権の設定により無効化することが推奨されています7
  3. IAMポリシー: AWS Identity and Access Management(IAM)を使用して、ユーザーやロールに対するS3アクセス権限を設定します。
  4. Block Public Access: 意図しないデータの公開を防ぐために、パブリックアクセスを完全にブロックする設定です。新しいバケットではデフォルトで有効になっています7

5.5 ファイルの管理とオペレーション

S3では、アップロードしたファイル(オブジェクト)に対して様々な操作が可能です8

  1. ダウンロード: オブジェクトを選択し、「ダウンロード」ボタンをクリックするか、URLを共有してアクセス権限のあるユーザーがダウンロードできるようにします。
  2. 削除: 不要になったオブジェクトを選択して削除できます。バケットを削除する前には、そのバケット内のすべてのオブジェクトを削除する必要があります8
  3. 移動・コピー: オブジェクトを別のバケットや同じバケット内の別のフォルダに移動またはコピーできます。
  4. バージョン管理: バージョニングが有効な場合、オブジェクトの過去のバージョンを表示、復元できます。
  5. メタデータの編集: オブジェクトに関連付けられたメタデータ(コンテンツタイプ、カスタムメタデータなど)を編集できます。
  6. ストレージクラスの変更: オブジェクトのストレージクラスを変更して、コストと性能のバランスを最適化できます。
  7. バケットの空にする: バケット内のすべてのオブジェクトを一括で削除することができます8

例えば、ウェブサイトの古い画像を新しいバージョンに更新する場合、バージョニングを有効にしておくと、新しい画像をアップロードしても古いバージョンが保持されるため、必要に応じて元の画像に戻すことができます。

6. Amazon S3のセキュリティ機能

6.1 アクセスコントロールの仕組み

S3には多層的なアクセスコントロールメカニズムがあり、データのセキュリティを確保できます7。主なアクセスコントロールの仕組みは以下の通りです:

  1. IAM(Identity and Access Management): AWSのユーザー、グループ、ロールに対して詳細なアクセス権限を設定します。例えば、開発チームには読み取り専用アクセス、管理者には完全なアクセス権を付与するといった設定が可能です。
  2. バケットポリシー: バケットレベルでのアクセス制御を定義するJSONドキュメントです。特定のIPアドレス範囲からのアクセスを制限したり、特定のHTTPリファラーからのアクセスのみを許可したりできます。
  3. ACL(Access Control List): より細かいレベルでのアクセス制御を提供しますが、現在はバケットポリシーとIAMの使用が推奨されています。
  4. プレサインドURL: 限られた時間だけ有効な特別なURLを生成し、通常はアクセス権のないユーザーに一時的なアクセスを提供します。例えば、プレミアムコンテンツを購入したユーザーに1時間だけダウンロード権を与えるといった用途に適しています。

6.2 データの暗号化オプション

S3では、保存データと転送中データの両方を暗号化する複数のオプションが提供されています7

  1. サーバーサイド暗号化(SSE):
    • SSE-S3: AWSが管理する鍵を使用した暗号化。最も簡単な方法で、S3のすべてのバケットにデフォルトで設定されています。
    • SSE-KMS: AWS Key Management Serviceで管理される鍵を使用。より詳細な制御と監査が可能です。
    • SSE-C: お客様が提供する鍵を使用。鍵の管理責任はお客様側にあります。
  2. クライアントサイド暗号化: データがAWSに送信される前に、お客様側で暗号化します。AWSはデータを復号化するための鍵を持たず、完全な暗号化状態で保存されます。
  3. 転送中の暗号化: SSLまたはTLSを使用して、S3との間の通信を暗号化します。S3エンドポイントへのアクセスはHTTPS接続のみを強制することができます。

例えば、医療機関が患者の個人情報を含むファイルをS3に保存する場合、SSE-KMSを使用し、特定のIAMロールのみが復号化できるように設定することで、厳格なセキュリティ要件を満たすことができます。

6.3 バージョニングによるデータ保護

S3バージョニングは、同じバケット内にオブジェクトの複数のバリアントを保存する機能です7。これにより、意図しない上書きや削除からデータを保護し、以前のバージョンに簡単に戻すことができます。

バージョニングの主な利点は以下の通りです:

  1. データ保護: 誤ってファイルを削除または上書きしても、以前のバージョンを復元できます。
  2. 変更履歴: オブジェクトの変更履歴を維持し、いつ誰が何を変更したかを追跡できます。
  3. データリカバリ: ランサムウェアなどの悪意のある攻撃で破損したファイルを、以前の健全なバージョンに戻すことができます。

例えば、チーム全体で共有されるデザインドキュメントがあり、誰かが誤って重要な部分を削除してしまった場合、バージョニングが有効であれば、S3コンソールから数クリックで以前のバージョンを復元できます。

バージョニングを有効にすると、古いバージョンのオブジェクトも保存されるため、ストレージコストが増加することに注意が必要です。コスト管理のためには、S3ライフサイクルポリシーを設定して、古いバージョンを自動的に低コストのストレージクラスに移動したり、一定期間後に削除したりすることができます。

6.4 S3 Block Public Access

S3 Block Public Accessは、意図しないデータの公開を防ぐためのセキュリティ機能です7。この機能はバケットレベル、アカウントレベルで設定でき、以下の4つの設定があります:

  1. 新しいACLのブロック: 新しいACLがバケットやオブジェクトをパブリックにすることを防ぎます。
  2. 既存のACLのブロック: 既存のパブリックACLを無視します。
  3. 新しいパブリックバケットポリシーのブロック: パブリックアクセスを許可するバケットポリシーの作成を防ぎます。
  4. すべてのパブリックアクセスのブロック: 上記すべての設定を有効にします。

この機能は、特にセキュリティ意識の低いユーザーが多い組織や、厳格なデータ保護ポリシーが必要な業界で重要です。例えば、医療データや金融データを扱う企業では、データ漏洩を防ぐためにすべてのパブリックアクセスをブロックすることが推奨されます。

2023年からは、新しいS3バケットはデフォルトですべてのパブリックアクセスがブロックされるようになっています7。特定のケース(例:静的ウェブサイトのホスティング)で意図的にパブリックアクセスを許可したい場合は、この設定を変更する必要があります。

6.5 S3 Object Lock

S3 Object Lockは、「Write Once, Read Many(WORM)」モデルを使用してオブジェクトが削除または変更されるのを防ぐ機能です7。これは特に規制要件を満たす必要がある業界で重要です。Object Lockには2つのモードがあります:

  1. Governance Mode: 特別な権限を持つユーザーは保護を上書きできます。適切な権限がない場合、誰もオブジェクトを上書きまたは削除できません。
  2. Compliance Mode: 特殊な権限を持つユーザーであっても、保護期間中はオブジェクトを削除できません。AWS管理者でさえも上書きできないため、規制要件の厳格なコンプライアンスに適しています。

例えば、金融業界では取引記録を一定期間変更不可能な形で保存する規制要件があります。S3 Object Lockを使用すると、これらの記録が指定した保持期間中に変更または削除されないことを保証できます。

Object Lockを使用するにはバケット作成時に有効にする必要があり、後から追加することはできません。また、バージョニングも自動的に有効になります。

7. Amazon S3の料金体系

7.1 S3の料金モデル

S3の料金は「従量課金制」に基づいており、実際に使用したリソースに対してのみ料金が発生します4619。主な課金項目は以下の通りです:

  1. ストレージ容量: 保存するデータ量に応じた月額料金。ストレージクラスによって料金が異なります。
  2. リクエスト数: データのアップロード、ダウンロード、リスト表示などのAPIリクエスト数に応じた料金。
  3. データ転送: S3からAWS外部(インターネット)へのデータ転送量に応じた料金。AWS内部(同じリージョン内など)の転送は無料または低コストです。
  4. 管理機能: S3インベントリ、分析、オブジェクトタグ付けなどのオプション機能を使用した場合の料金。

例えば、東京リージョンでS3 Standardクラスを使用した場合、1TBのデータ保存に月額約$23(約3,450円)、1,000回のPUTリクエストで約$0.005(約0.75円)、1TBのデータをインターネットに転送すると約$90(約13,500円)といった料金体系になります(2023年の料金を元に概算、為替レートによって変動します)。

7.2 各ストレージクラスの料金比較

各ストレージクラスにはそれぞれ異なる料金体系があり、保存コスト、リクエスト料金、取り出し料金、最低保存期間などが異なります26

ストレージクラス保存コスト(相対値)取り出し料金最低保存期間取り出し時間
S3 Standard高いなしなしミリ秒
S3 Intelligent-Tiering変動(アクセス頻度による)なし(モニタリング料金あり)なしミリ秒
S3 Standard-IA中程度あり30日ミリ秒
S3 One Zone-IA低いあり30日ミリ秒
S3 Glacier Instant Retrievalさらに低いあり(高い)90日ミリ秒
S3 Glacier Flexible Retrieval非常に低いあり(さらに高い)90日分〜時間
S3 Glacier Deep Archive最も低いあり(最も高い)180日時間〜日

例えば、1TBのデータを1年間保存する場合:

  • S3 Standardでは約$276(約41,400円)/年
  • S3 Standard-IAでは約$132(約19,800円)/年
  • S3 Glacier Deep Archiveでは約$48(約7,200円)/年

という具合に、アクセス頻度の低いデータをより低コストのストレージクラスに移動することで、大幅なコスト削減が可能です。ただし、低コストのクラスほどデータ取り出し料金が高くなる傾向があるため、アクセスパターンを考慮した選択が重要です。

7.3 コスト最適化のベストプラクティス

S3のコストを最適化するためのベストプラクティスには以下のようなものがあります:

  1. ライフサイクルポリシーの活用: データのアクセス頻度に基づいて、自動的に低コストのストレージクラスに移行するポリシーを設定します。例えば、「90日間アクセスがなかったオブジェクトをStandardからStandard-IAに移行し、さらに1年後にGlacierに移行する」といった設定が可能です19
  2. S3 Intelligent-Tieringの活用: アクセスパターンが予測しにくいデータに対しては、S3 Intelligent-Tieringを使用することで自動的にコスト最適化できます2
  3. S3 Analyticsによるデータ分析: S3 Analyticsを使用してストレージアクセスパターンを分析し、最適なストレージクラスを判断します。
  4. バージョニングと期限切れのクリーンアップ: バージョニングを使用する場合は、古いバージョンを定期的に削除または低コストのストレージクラスに移動するよう設定します。
  5. 未完了のマルチパートアップロードの管理: 完了していないマルチパートアップロードも課金対象となるため、これらを自動的に削除するルールを設定します。
  6. データ転送コストの最適化: CloudFrontなどのCDN(コンテンツ配信ネットワーク)を使用して転送コストを削減します。

実例として、ある企業がユーザーのプロフィール画像を保存する場合、最新の画像はS3 Standardに保存し、3ヶ月間アクセスがなかった画像はS3 Standard-IAに、1年以上アクセスがなかった画像はS3 Glacier Instant Retrievalに自動移行するライフサイクルポリシーを設定することで、ストレージコストを大幅に削減できます。

7.4 S3の無料利用枠

AWS初心者にとって嬉しいのが、S3の無料利用枠(Free Tier)の存在です4。AWS無料利用枠の一部として、S3では以下のリソースが12か月間無料で提供されます:

  • S3 Standardストレージで5GBのストレージ
  • 毎月20,000件のGETリクエスト
  • 毎月2,000件のPUT、COPY、POST、またはLISTリクエスト
  • 毎月100GBのデータ転送(OUT)

この無料枠を活用すれば、個人のポートフォリオサイトの画像保存や、小規模なブログの静的コンテンツ配信など、小規模なプロジェクトを実質無料で始めることができます。

ただし、無料利用枠を超えると自動的に課金が発生するため、初心者は利用状況をモニタリングし、予算アラートを設定することをお勧めします。AWSコンソールの「Billing and Cost Management」ダッシュボードから、利用状況とコストを簡単に確認できます。

8. Amazon S3の活用事例

8.1 静的ウェブサイトのホスティング

S3は静的ウェブサイト(HTML、CSS、JavaScript)のホスティングに最適なプラットフォームです。静的サイトジェネレーター(Jekyll、Hugo、Gatsbyなど)で生成されたサイトをS3にアップロードし、パブリックに公開することができます。

静的ウェブサイトホスティングのメリットは以下の通りです:

  1. 低コスト: サーバーを維持する必要がなく、アクセスに応じた従量課金制です。
  2. スケーラビリティ: 突然のトラフィック増加にも自動的に対応します。
  3. 高い可用性: S3の高い可用性により、サイトのダウンタイムが最小限になります。
  4. 簡単なデプロイ: ファイルをアップロードするだけで公開できます。CIツールと組み合わせると自動デプロイも可能です。

例えば、小規模なビジネスのコーポレートサイトや個人のポートフォリオサイトをS3でホスティングすることで、サーバー管理の手間なく、高い信頼性と速度を実現できます。さらに、Amazon CloudFrontと組み合わせることで、世界中のユーザーに低レイテンシーでコンテンツを配信することができます。

8.2 バックアップと復元ソリューション

S3は高い耐久性を持つため、重要なデータのバックアップ先として最適です4。オンプレミスのサーバーや他のクラウドサービスからのデータバックアップを、S3の様々なストレージクラスを活用して効率的に保存できます。

バックアップソリューションとしてのS3の利点:

  1. 耐久性: 99.999999999%という高い耐久性でデータ損失リスクを最小化します。
  2. ライフサイクル管理: 古いバックアップを自動的に低コストのストレージクラスに移行できます。
  3. バージョニング: 誤ったバックアップの上書きを防ぎ、以前のバージョンを復元できます。
  4. クロスリージョンレプリケーション: 地理的に離れた場所にバックアップの複製を保存し、災害対策を強化できます。

例えば、企業の顧客データベースの日次バックアップをS3 Standardに保存し、30日経過したバックアップをS3 Standard-IAに、90日経過したものをS3 Glacier Flexible Retrievalに、1年以上経過したものをS3 Glacier Deep Archiveに自動的に移行することで、コスト効率の良いバックアップソリューションを構築できます。

大規模なバックアップには、AWS Storage Gateway、AWS DataSync、AWS Backupなどのサービスと組み合わせることで、より効率的な運用が可能になります4

8.3 メディア配信とコンテンツホスティング

S3は画像、動画、音声ファイルなどの大容量メディアファイルの保存と配信に広く利用されています19。メディア企業やコンテンツ配信プラットフォームにとって、S3は以下のような利点があります:

  1. スケーラビリティ: PB(ペタバイト)規模のデータでも簡単に保存できます。
  2. 高いスループット: 多数の同時アクセスにも対応できます。
  3. グローバル配信: CloudFrontと組み合わせることで、世界中のユーザーに低レイテンシーでコンテンツを提供できます。
  4. コスト効率: アクセス頻度に応じた最適なストレージクラスを選択できます。

例えば、動画共有プラットフォームでは、オリジナルの高解像度ビデオをS3 Standardに保存し、視聴頻度の低い古い動画をS3 Standard-IAに移行することで、保存コストを最適化できます。さらに、サムネイル画像などの派生コンテンツも同じバケット内で管理できます。

また、CDNサービスであるCloudFrontと連携することで、エッジロケーション(世界中に分散された配信拠点)からコンテンツを配信し、視聴者の場所に関わらず高速なアクセスを提供することが可能です19

8.4 ビッグデータ処理とデータレイク

S3はビッグデータ分析やデータレイク(様々な種類のデータを一か所に集約する仕組み)の基盤として最適です419。膨大な量の構造化・非構造化データを保存し、様々な分析ツールからアクセスできるため、データ駆動型の意思決定をサポートします。

S3をデータレイクとして活用する利点:

  1. あらゆるタイプのデータを保存: 構造化データ(CSV、JSON)から非構造化データ(画像、音声、テキスト)まで、どんな形式のデータでも保存できます。
  2. スケーラビリティ: データ量の増加に合わせて自動的に拡張します。
  3. 様々な分析サービスとの連携: Amazon Athena、Amazon Redshift Spectrum、AWS Glue、Amazon EMRなど、様々なAWS分析サービスと直接連携できます19
  4. セキュリティとコンプライアンス: 詳細なアクセス制御と暗号化により、機密データも安全に保存できます。

例えば、大手小売企業の場合、店舗のPOSデータ、Webサイトのクリックストリームデータ、在庫情報、顧客データなど、様々なソースからのデータをS3に集約し、Amazon Athenaを使ってSQLクエリを実行したり、Amazon QuickSightでビジュアル分析を行ったりすることで、ビジネスインサイトを導き出すことができます19

また、IoT(モノのインターネット)デバイスから生成されるセンサーデータの保存先としてもS3は適しており、リアルタイム分析と長期保存を組み合わせたソリューションを構築できます。

8.5 コンプライアンスとアーカイブ

多くの業界では、規制やコンプライアンス要件により、データを特定の期間保存する必要があります。S3は以下の機能により、これらの要件を満たすのに適しています:

  1. S3 Glacier/S3 Glacier Deep Archive: 長期アーカイブ向けの低コストストレージクラスです26
  2. S3 Object Lock: WORM(Write Once, Read Many)モデルでデータの変更や削除を防ぎます7
  3. 詳細な監査ログ: AWS CloudTrailとの統合により、S3へのすべてのアクセスを記録できます。
  4. 高度な暗号化: 保管中および転送中のデータを暗号化します7

例えば、金融機関が取引記録を7年間保存する規制要件がある場合、S3 Glacier Deep Archiveと組み合わせてS3 Object Lockを使用することで、コスト効率よく規制に準拠したアーカイブソリューションを構築できます。

医療業界では、患者記録を長期間安全に保存する必要がありますが、S3の暗号化機能とアクセスコントロールにより、HIPAA(米国医療保険の携行性と責任に関する法律)などの厳格な規制に準拠したストレージソリューションを実現できます。

9. Amazon S3と他のAWSサービスとの連携

9.1 CloudFrontとの連携

Amazon CloudFrontはグローバルなコンテンツ配信ネットワーク(CDN)で、S3に保存されたコンテンツを世界中のユーザーに低レイテンシーで配信するのに役立ちます19。S3とCloudFrontの連携には以下のメリットがあります:

  1. パフォーマンス向上: エッジロケーション(世界中に分散された配信拠点)からコンテンツを配信するため、エンドユーザーの近くからデータが提供され、読み込み速度が向上します。
  2. トラフィックコスト削減: CloudFrontのキャッシュ機能により、S3からの繰り返しのデータ取得が減少し、データ転送コストを削減できます。
  3. セキュリティ強化: CloudFrontのセキュリティ機能(HTTPS、フィールドレベル暗号化など)で、コンテンツ配信をさらに安全にできます。
  4. DDoS保護: CloudFrontはAWS Shieldと統合されており、DDoS攻撃からの保護機能が含まれています。

例えば、グローバルなユーザーベースを持つeコマースサイトでは、商品画像や動画をS3に保存し、CloudFrontを通じて配信することで、世界中のユーザーに高速なショッピング体験を提供できます。特に画像の多いWebサイトでは、ページ読み込み時間が大幅に改善され、ユーザー満足度とコンバージョン率の向上につながります。

9.2 AWS Lambdaとの連携

AWS Lambdaはサーバーレスコンピューティングサービスで、S3のイベントをトリガーとして自動的に実行できるコードを設定できます1。S3とLambdaの組み合わせは、以下のようなシナリオで強力です:

  1. 画像処理: S3にアップロードされた画像の自動リサイズ、フォーマット変換、サムネイル生成などを行います。
  2. ファイル検証: アップロードされたファイルの自動ウイルススキャンや内容検証を実行します。
  3. メタデータ抽出: ドキュメントや画像からメタデータを抽出し、データベースに保存します。
  4. ワークフロートリガー: ファイルのアップロードをきっかけに、より複雑な処理ワークフローを開始します。

具体例として、Webサイトに画像がアップロードされると、Lambdaが自動的に複数のサイズのバージョンを生成し、それらをS3に保存するという仕組みがあります。これにより、ユーザーの端末に応じた最適なサイズの画像を提供できるようになります。

また、企業の文書管理システムでは、S3に保存されるPDFドキュメントをLambdaで自動的にテキスト抽出し、全文検索システムにインデックス登録するといった活用も可能です1

9.3 Amazon RDSと他のデータベースとの連携

S3はAmazon RDSやその他のデータベースサービスとシームレスに連携し、データのインポート/エクスポート、バックアップ、アーカイブなどを効率化します:

  1. データベースバックアップ: RDSデータベースのスナップショットをS3にエクスポートして長期保存できます。
  2. データ移行: オンプレミスのデータベースからS3を経由してAmazonデータベースサービスにデータを移行できます。
  3. 非構造化データの保存: 構造化データはデータベースに、関連する非構造化データ(文書、画像など)はS3に保存するハイブリッドアプローチが可能です。
  4. 大量データの処理: データベースに格納するには大きすぎるデータセットをS3に保存し、必要に応じてデータベースにロードできます。

例えば、eコマースサイトでは、製品情報を構造化データとしてRDSに保存し、製品画像やマニュアルなどの大容量ファイルをS3に保存することで、システムの効率性とパフォーマンスを最適化できます。

また、データ分析のシナリオでは、RDSからダンプされた大規模なデータセットをS3に保存し、Amazon Redshift、Amazon Athena、Amazon EMRなどの分析サービスで直接クエリすることができます。

9.4 AWS Glueと分析サービス

AWS GlueはETL(Extract, Transform, Load)サービスで、S3に保存されたデータを様々な分析サービスで利用できるように準備します19

  1. データカタログ作成: S3内のデータを自動的に検出し、メタデータカタログを作成します。
  2. データ変換: 異なる形式や構造のデータを統一され、クエリ可能な形式に変換します。
  3. データ統合: 複数のソースからのデータをS3に統合し、一貫した分析環境を構築します。
  4. データパイプライン: 定期的なETLジョブを実行し、S3内のデータを常に最新状態に保ちます。

これにより、S3を中心としたデータレイク環境で、Amazon Athena(サーバーレスSQL)、Amazon Redshift(データウェアハウス)、Amazon QuickSight(BIツール)などのサービスを使って、高度なデータ分析を実施できます19

例えば、IoTセンサーからのデータがS3に蓄積される場合、AWS Glueでデータを整形し、Amazon Athenaでリアルタイムにクエリを実行し、Amazon QuickSightで可視化するというワークフローを構築できます。

このように、S3は単なるストレージではなく、AWSのデータ分析エコシステムの中核として機能し、データ駆動型の意思決定をサポートします。

10. Amazon S3の将来展望と最新動向

10.1 S3の進化と新機能

S3は2006年のサービス開始以来、継続的に機能を拡張し進化を続けています。最近の主な進化と新機能には以下のようなものがあります:

  1. S3 Express One Zone: 最もアクセス頻度の高いデータ向けの高性能ストレージクラスで、S3標準の10倍の速度でデータにアクセスできます6。これにより、高性能コンピューティングや機械学習などのユースケースでのS3の活用範囲がさらに拡大しています。
  2. S3 Object Lambda: S3からオブジェクトを取得する際に、Lambdaを使ってデータを動的に変換できる機能です。例えば、個人情報の自動マスキングやファイル形式の変換などを行えます。
  3. S3 Strong Consistency: 2020年に導入された機能で、S3のすべてのGET、PUT、DELETEリクエストにストロングコンシステンシー(強い整合性)を提供します。これにより、データの整合性に敏感なアプリケーション開発が簡素化されました。
  4. S3 Access Points: 特定のユースケースやワークロード向けにカスタマイズされたアクセスポリシーを持つ専用のアクセスポイントを作成できる機能です。

これらの進化により、S3は単なるストレージから、データ管理と処理のプラットフォームへと発展しています。今後も、データのセキュリティ、パフォーマンス、コスト効率の向上に焦点を当てた新機能が継続的に追加されると予想されます。

10.2 クラウドストレージの将来動向

クラウドストレージ業界全体の将来動向として、以下のような方向性が予想されます:

  1. 機械学習との統合強化: ストレージサービス自体が機械学習を活用し、データの自動分類、異常検出、セキュリティ強化などの機能を提供するようになるでしょう。
  2. エッジコンピューティングとの連携: IoTデバイスの増加に伴い、エッジでのデータ処理とクラウドストレージの間でシームレスなデータフローを実現する機能が重要になります。
  3. コンプライアンス機能の拡充: データプライバシー規制の厳格化に対応し、地理的データ制約、自動データ分類、保持ポリシーなどの機能がさらに強化されるでしょう。
  4. サステナビリティへの注力: 環境への配慮が重視され、エネルギー効率の高いストレージソリューションや、炭素排出量の可視化・削減機能が注目されるでしょう。

S3はAWSの中核サービスとして、これらの業界動向に先駆けて機能を提供し続けると考えられます。

10.3 S3における最適化とベストプラクティスの進化

S3を最大限に活用するためのベストプラクティスは、技術の進化とともに常に更新されています。現在と将来の重要なベストプラクティスとしては:

  1. ライフサイクル管理の高度化: より複雑で細かなライフサイクルポリシーによるデータ管理が重要になります。例えば、アクセスパターン、データタイプ、ビジネス価値などの複数基準に基づくポリシー設定が一般的になるでしょう。
  2. セキュリティの多層化: バケットポリシー、IAM、暗号化などの既存のセキュリティ機能に加え、異常検出や自動修復などの高度なセキュリティ機能の利用が進むでしょう。
  3. パフォーマンスチューニング: データのパーティショニング、キー命名規則の最適化、S3 Select(オブジェクト内の一部データのみを取得する機能)の活用など、より高度なパフォーマンス最適化テクニックが重要になります。
  4. データガバナンスの強化: タグ付け、メタデータ管理、バージョニングなどを組み合わせた総合的なデータガバナンス戦略の構築が求められます。

AWS Lambda1との連携が強化され、2023年にはLambdaでコンテナイメージのオンデマンドローディングの仕組みが実装されたように、S3は他のAWSサービスとの連携を通じて、新しいユースケースやアーキテクチャパターンを継続的に創出していくでしょう。

まとめ

Amazon S3(Simple Storage Service)は、クラウドストレージの中核として、あらゆる規模の組織や個人に高度なデータ保存・管理機能を提供するサービスです。その特徴である高い耐久性、無限のスケーラビリティ、豊富なストレージクラス、強固なセキュリティ機能は、デジタル時代のデータ管理の課題に対する包括的なソリューションとなっています。

S3の基本概念であるバケット、オブジェクト、キーを理解することで、クラウドストレージの基礎が固まります。様々なストレージクラスは、データのアクセス頻度や重要性に応じて最適なコストとパフォーマンスのバランスを実現します。無料利用枠の提供により、初心者でも気軽に始められるアクセシビリティも魅力の一つです。

セキュリティ面では、多層的なアクセスコントロール、暗号化オプション、バージョニングなど、データを保護するための包括的な機能が用意されています。料金体系は従量課金制で、必要なリソースに対してのみコストがかかり、様々なコスト最適化手法を活用することで、効率的な運用が可能です。

実際の活用事例として、静的ウェブサイトホスティング、バックアップと復元、メディア配信、ビッグデータ処理、コンプライアンスアーカイブなどが挙げられます。他のAWSサービスとの連携により、S3はさらに強力なツールとなり、単なるストレージを超えて、企業のデジタルトランスフォーメーションを支えるプラットフォームとしての役割を果たしています。

技術の進化とともにS3も常に新機能を追加しており、クラウドストレージの未来を形作る原動力となっています。初心者にとっては導入の敷居が低く、専門家にとっては高度なユースケースに対応できる柔軟性を持つS3は、今後もクラウドインフラの基盤として、ますます重要な役割を担っていくでしょう。

Citations:

  1. https://arxiv.org/abs/2305.13162
  2. https://blog.future.ad.jp/aws-s3-types
  3. https://aws.amazon.com/jp/s3/features/
  4. https://aws.amazon.com/jp/s3/
  5. https://docs.aws.amazon.com/AmazonS3/latest/userguide/GetStartedWithS3.html
  6. https://www.ios-net.co.jp/blog/20240424-2554/
  7. https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/create-bucket-overview.html
  8. https://zenn.dev/mo_ri_regen/articles/amazon-s3-handson-article
  9. https://www.semanticscholar.org/paper/7d1d34a5d81f5efb0ea45a5cbd3f680595bf44d0
  10. https://business.ntt-east.co.jp/content/cloudsolution/column-try-43.html
  11. https://arxiv.org/abs/2404.10630
  12. https://arxiv.org/abs/2405.08175
  13. https://www.semanticscholar.org/paper/9d2b2aad87d39136847c41ca8263f64f3e40eb52
  14. https://www.semanticscholar.org/paper/90298965430bec5cf3a8d5045a934bbb6343b0dc
  15. https://www.semanticscholar.org/paper/a2b02293b414cee0a7c2e513e4b7a38db4a70197
  16. https://www.semanticscholar.org/paper/23209c81a8c5120fdff47b0a0567f0465d980099
  17. https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/Welcome.html
  18. https://www.wafcharm.com/jp/blog/s3-for-beginners/
  19. https://www.future.ad.jp/futuremedia/keyword_s3/
  20. https://www.semanticscholar.org/paper/d1e98f321c6dd953e57fbbf46096773736d82b5f
  21. https://www.semanticscholar.org/paper/85c2476da2265a908c7d6f16197fb32ef1dada2d
  22. https://ja.wikipedia.org/wiki/Amazon_Simple_Storage_Service
  23. https://www.semanticscholar.org/paper/08de91d58982b3ee291cb79515f483c16c5422af
  24. https://www.semanticscholar.org/paper/da9687ffe9b9a32374293fafdf2a83b4f19f7949
  25. https://qiita.com/shimajiri/items/01ab61a08b58c2cb8acf
  26. https://qiita.com/chenglin/items/daf6175c504b909e9c48
  27. https://www.semanticscholar.org/paper/5fe0192b42467c11817a888e33c6329ffee3c734
  28. https://www.semanticscholar.org/paper/73347192488177ae0975c283db96cf320b4d82f5
  29. https://kurojica.com/server/blog/3200/
  30. https://aws.amazon.com/jp/builders-flash/202202/awsgeek-s3/
  31. https://docs.aws.amazon.com/ja_jp/s3/
  32. https://pages.awscloud.com/rs/112-TZM-766/images/AWS-Black-Belt_2022_Amazon_S3_for_Beginner_1231_v1.pdf
  33. https://docs.apigee.com/api-platform/reference/extensions/amazon-s3/amazon-s3-extension-110
  34. https://career.levtech.jp/guide/knowhow/article/729/
  35. https://aws.amazon.com/jp/s3/getting-started/
  36. https://help.qlik.com/talend/ja-JP/components/8.0/amazon-s3/ts3copy-ts3connection-tlogrow-uploading-object-to-amazon-s3-bucket-standard-component
  37. https://pages.awscloud.com/rs/112-TZM-766/images/AWS-Black-Belt_2023_Amazon-S3-Usecases_0131_v1.pdf
  38. https://managed.gmocloud.com/knowledge/aws/what-is-s3.html
  39. https://www.itechh.ne.jp/blog/column/S3-explain.html
  40. https://classmethod.jp/articles/aws-s3/
  41. https://qiita.com/waku3/items/2dfed10498c630e7f7f9
  42. https://www.publickey1.jp/blog/10/amazon_s399999999999.html
  43. https://www.semanticscholar.org/paper/3a032adf01ebeeb4490f98f9ae10319170fd8afd
  44. https://www.semanticscholar.org/paper/b952a73bcf8a4df13d6015bc22afbda639478d13
  45. https://www.ncbi.nlm.nih.gov/pmc/articles/PMC10448181/
  46. https://www.semanticscholar.org/paper/d838dc5462b6d8682a14b03a3cb90ff26d9a5d95
  47. https://www.semanticscholar.org/paper/ec060aa5ee4e959b1c41ed43c080f21741cba3a2
  48. https://www.semanticscholar.org/paper/0bc8270f1e09338f798c166ba0cfa7d43b7796f5
  49. https://www.semanticscholar.org/paper/cd43cd26b5e21fb09affba57604f5b2b02852a2a
  50. https://www.semanticscholar.org/paper/8eced8e73f7b0fa33655009e259d4bc02f67b4c6
  51. https://www.semanticscholar.org/paper/c56e43232509d496837b0f9d50c7c0b320b7ed8b
  52. https://www.semanticscholar.org/paper/38a37507e60bf254b942e8e3056d1039b7063e95
  53. https://www.semanticscholar.org/paper/7b4ea4f7255dcc1be079dfeb095d0ed135081f31
  54. https://admina.moneyforward.com/jp/blog/amazon-s3
  55. https://www.semanticscholar.org/paper/e94fda7401b05ddc4eaa7a2a8b3a53381311ca41
  56. https://qiita.com/c60evaporator/items/da47620d69f84a9be7dc
  57. https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/GetStartedWithS3.html
  58. https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/creating-buckets-s3.html
  59. https://qiita.com/zumax/items/c87e0d21da450b22fabb
  60. https://docs.aws.amazon.com/ja_jp/sdk-for-javascript/v2/developer-guide/s3-example-creating-buckets.html
  61. https://aws.taf-jp.com/blog/25231
  62. https://qiita.com/Oukaria/items/ecfcc304a3a6b008e1c8
  63. https://aws.amazon.com/jp/s3/storage-classes/

※本ページは、AIの活用や研究に関連する原理・機器・デバイスについて学ぶために、個人的に整理・記述しているものです。内容には誤りや見落としが含まれている可能性もありますので、もしお気づきの点やご助言等ございましたら、ご連絡いただけますと幸いです。

※本ページの内容は、個人的な学習および情報整理を目的として提供しているものであり、その正確性、完全性、有用性等についていかなる保証も行いません。本ページの情報を利用したこと、または利用できなかったことによって発生した損害(直接的・間接的・特別・偶発的・結果的損害を含みますが、これらに限りません)について、当方は一切責任を負いません。ご利用は利用者ご自身の責任でお願いいたします。

おすすめの記事