開閉ボタン
ユーザーメニュー
ユーザーメニューコンテンツ
ログイン

  • 会員限定
  • 2021/04/23

Amazon S3とは何か?関連用語と操作・機能一覧をやさしく解説

連載:やさしく学ぶAWS入門

Amazon S3(Amazon Simple Storage Service)は、AWSが提供するオンラインストレージサービスの1つです。高い拡張性・耐久性や低コストなどの特長から、非常に多くのユーザーに利用されています。本稿では、Amazon S3の概要から、関連用語、機能までひとつひとつひも解いて説明していきます。

NRIネットコム 上野 史瑛

NRIネットコム 上野 史瑛

AWSを中心としたエンタープライズシステム基盤の設計、構築、運用を経験。AWS認定試験は12個全て取得している。認定資格や社外への活動がAWSにも認められ、2020年にAPN Ambassadors、AWS Top Engineers、ALL AWS Certifications Engineerに選出されている。

photo
Amazon S3を、関連用語とともに解説
(Photo/Getty Images)

連載一覧
第1回:AWS入門
第2回:Amazon EC2入門
第3回:Amazon VPC入門
第4回:Amazon S3入門
第5回:Amazon RDS入門(近日公開予定)
第6回:AWS Lambda入門(近日公開予定)
(連載予定は変更になる場合もございます)

Amazon S3とは何か、3つの特長

 Amazon Simple Storage Service (以下、S3)は、AWSが提供するオブジェクトストレージサービスです。

 オブジェクトストレージとは、従来のファイルストレージのようなディレクトリ構造は持たず、オブジェクトキーによりデータを一意に特定してデータの出し入れをして管理を行うストレージです。テキストデータ、動画、音声ファイルといった、構造情報を持たないさまざまな種類のデータを格納できます。

 S3には以下の特長があります。

容量無制限
 オブジェクト(後述)あたり5TBという制約はあるものの、オブジェクト数やデータ容量の制限はありません。

高い耐久性
 標準で、3つ以上のアベイラビリティゾーン(以下、AZ)にデータがコピーされます。AZは1つ以上のデータセンターから構成されており、AZ間は物理的に離れているため、データセンター障害といった大きな障害にも耐えることができます。AWSでは99.999999999%(9×11、イレブンナイン)という高い耐久性を示しています。

低コスト
 東京リージョン、標準のストレージで保存料金は1ヵ月あたり0.025USD/1GBとなっています(2021年4月時点)。1TBのオブジェクトを格納すると、月あたり25USDとなります。後ほど紹介するストレージクラスの変更を行うと、さらに安い料金でデータ保存が可能です。その他、データのアップロードや取り出しについてはわずかに料金が発生します。

 リレーショナルデータベース(RDB)サービスであるAmazon Auroraのストレージ料金は0.12USD/1GBとなっており、S3はこの1/5ほどのストレージコストとなっています。

 高い拡張性、耐久性、低コストという特性から、S3は他のAWSサービスからも多く使われます。

 たとえば、前回紹介したAmazon VPCのトラフィック状況を保存するVPC Flow Logsや、コンテンツ配信ネットワーク(CDN)サービスであるAmazon CloudFrontのアクセスログなど各種ログの保存場所としてS3が使用されます。そのほかにも、バックアップデータの保存や機械学習サービスのインプット情報の格納場所など幅広い用途で使用されます。

画像
S3と他のAWSサービスの連携

Amazon S3の重要用語(バケット、オブジェクト…)

 S3を使用する上で重要な用語を説明します。

●バケット
 オブジェクト(データ)を保存する場所のことです。利用者は作成したバケットにオブジェクトを格納します。バケットに使用する名前は、グローバルで一意である必要があります。つまり、「test-bucket」という名前でバケットを作成したら、他の利用者を含め、全リージョン全AWSアカウントで同じ名前のバケットは作成できません。

●オブジェクト
 バケットに格納されるデータ本体です。バケット内のオブジェクト数は無制限に保存できますが、1オブジェクトの最大サイズは5TBまでという制約があります。

●キー
画像
S3格納URLパス
 オブジェクトの格納URLパスです。バケット名とキー名、オブジェクト名を組み合わせて右のように一意になるよう設定されます。

 「/」という文字を区切り記号にして、AWSのマネジメントコンソール上ではフォルダ構造のようにオブジェクトを表示できます。

画像
S3のフォルダ表示

Amazon S3の操作(GET、PUT…)

 S3には操作用のAPIが用意されており、それを呼び出すことによりS3バケット内のオブジェクトを操作します。主要な操作をいくつか紹介します。

●GET
 S3バケットから任意のファイル(オブジェクト)ダウンロードする操作のことです。

●PUT
 S3バケットにオブジェクトをアップロードする操作のことです。新規アップロードも更新(上書き)もこの操作となります。

 1つのPUT操作では最大5GBまでのため、それ以上のファイルをアップロードする場合は、マルチパートアップロードと呼ばれる機能を使用します。この機能を使用することで、単一のオブジェクトを複数のパートに分割して並列にアップロードでき、最大5TBのファイルをアップロードできます。

●LIST
 S3バケット内のオブジェクトを一覧で表示する操作です。キーの前方一致でパス指定のフィルタも可能です。

●COPY
 S3内でオブジェクトのコピーを行います。異なるバケットやリージョン間でもコピーが可能です。

●DELETE
 S3バケット内の任意のオブジェクトを削除する操作です。

 これらの操作をAWSマネジメントコンソールや、AWS SDKを組み込んだアプリケーション、コマンドラインを使用したAWS CLIなどから実行します。他のAWSサービスが透過的に利用者が見えない部分でS3バケットを使用することもあります。

 S3内のオブジェクト操作は、AWS CloudTrail(AWSにおけるイベントを記録するサービス)上にAPI履歴として保存できます。S3内のオブジェクト操作履歴を残すには、データイベントというAWS CloudTrailの機能を有効にする必要があるためそこは注意が必要です。

【次ページ】Amazon S3の主な機能(ストレージクラス、アクセス制御…)

お勧め記事

クラウド ジャンルのセミナー

クラウド ジャンルのトピックス

クラウド ジャンルのIT導入支援情報

ビジネス+IT 会員登録で、会員限定コンテンツやメルマガを購読可能、スペシャルセミナーにもご招待!