- 会員限定
- 2021/04/23 掲載
Amazon S3とは何か?関連用語と操作・機能一覧をやさしく解説
連載:やさしく学ぶAWS入門
第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が使用されます。そのほかにも、バックアップデータの保存や機械学習サービスのインプット情報の格納場所など幅広い用途で使用されます。
Amazon S3の重要用語(バケット、オブジェクト…)
S3を使用する上で重要な用語を説明します。●バケット
オブジェクト(データ)を保存する場所のことです。利用者は作成したバケットにオブジェクトを格納します。バケットに使用する名前は、グローバルで一意である必要があります。つまり、「test-bucket」という名前でバケットを作成したら、他の利用者を含め、全リージョン全AWSアカウントで同じ名前のバケットは作成できません。
●オブジェクト
バケットに格納されるデータ本体です。バケット内のオブジェクト数は無制限に保存できますが、1オブジェクトの最大サイズは5TBまでという制約があります。
●キー
「/」という文字を区切り記号にして、AWSのマネジメントコンソール上ではフォルダ構造のようにオブジェクトを表示できます。
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の主な機能(ストレージクラス、アクセス制御…)
関連コンテンツ
関連コンテンツ
PR
PR
PR