Amazon S3とは?
AWSのサービスである「Amazon S3」はAmazon Simple Storage Serviceの略で、オブジェクトストレージのサービスを指します。オブジェクトストレージとは、データをオブジェクトとしてWebアクセスするもので、簡単にいえばファイルを保管する倉庫の役割を持ちます。 参考:AWS Amazon S3
Amazon S3の特徴とメリットは?
Amazon S3はスケーラビリティとデータの可用性を高めたサービスで、最大5TBまでのオブジェクトをデータ総量の制限なく利用できます。更に、セキュリティを維持しながら安価にサービスが利用できる点も特徴です。
具体的には99.999999999%の耐久性を実現できる設計がされており、安定したサービス提供が期待できます。同様に、S3ストレージクラスの分析により階層化できるので性能を維持しながらコストを低減することが可能です。
さらにデータ管理方法は簡単なため、AWSのサーバーレスサービスであるAWS Lambdaと連携し、ワークフローの自動化が行えます。
Amazon S3の利用料金は?
Amazon S3の利用料金は、従量課金制を取っています。具体的には以下の6つのコスト要素により料金が計算されますが、料金は安価に設定されています。
・ストレージ料金 S3バケットという保存領域にオブジェクトを保存することで発生します。具体的には、オブジェクトのサイズ・オブジェクトを保管した期間の長さ・ストレージクラスにより計算されます。 ・リクエストとデータ取り出しの料金 S3バケットとオブジェクトに対して行われた、PUT・COPY・POST・LIST・GET・SELECT・ライフサイクル移行・データ取り出しに対して費用が発生します。 ・データ転送と転送高速化の料金 インターネットおよびS3バケットで発生した転送データが料金支払いの対象となります。 ・データ管理機能および分析機能の料金 ストレージ管理機能と分析(Amazon S3インベントリ・S3 ストレージクラス分析・S3 Storage Lens・S3オブジェクトタグ付け)により費用が発生します。 ・レプリケーション プライマリコピーとレプリケーション PUT リクエストのストレージに関してデータ転送料金が発生します。 ・S3 Object Lambda AWS Lambda関数の利用とアプリケーションに戻るデータ量に応じて費用が発生します。
Amazon S3でも他のサービス同様に、AWS無料枠が設定されています。具体的には新規サインアップにより、S3標準ストレージクラスで5GBのAmazon S3ストレージ・20,000 GETリクエスト・2,000 PUT・COPY・POST、あるいは LISTリクエスト・データ送信15GBを毎月・1年間に渡りAWS無料枠として利用できます。無料利用枠の使用量は毎月計算され、自動的に請求額に適用されます。未使用分は持ち越されませんのでご注意ください。
AWSのストレージサービスの違いと利用方法は?
AWSのストレージサービスは用途に応じたサービスが提供されています。概ね以下の違いがあり、業務ワークロードに適するサービスを選択することが可能です。
・Amazon Simple Storage Service (S3) 汎用オブジェクトストレージ ・Amazon Elastic Block Store (EBS) ミッションクリティカルアプリケーション用ブロックストレージ ・Amazon Elastic File System (EFS) NFSファイルシステム ・Amazon FSx for Lustre HPC用高性能ファイルシステム ・Amazon FSx for Windows File Server Windows用完全マネージド型ファイルストレージ
以降では、さらに詳しくAmazon S3の実際の使用用途や利用方法について説明します。
Amazon S3のストレージクラスとは?
Amazon S3では、サービスレベル・条件に応じていくつかのクラスが設定されています。それをストレージクラスと呼びます。各クラスは以下のように分類されます。
・S3標準 汎用的な一般使用を想定したストレージクラス ・S3 Intelligent - Tiering アクセスパターンを分析し階層化することで自動コスト削減するストレージクラス ・S3 標準 - 低頻度アクセス 長期保管でアクセス頻度の低いデータ、アクセス速度は標準的なストレージクラス ・S3 1ゾーン - 低頻度アクセス アクセス頻度の低いデータで再作成可能なデータ、アクセス速度は標準的なストレージクラス ・S3 Glacier 長期バックアップとアーカイブ用、1分から12時間の取り出しを想定したストレージクラス ・S3 Glacier Deep Archive 長期アーカイブ用、1年に1-2 回の頻度で12時間以内の復元を想定したストレージクラス ・S3 Outposts オンプレミス用ストレージクラス
各ストレージクラスは耐久性設計は同一であるものの、アクセスパフォーマンスや可用性に違いを持ちます。したがって、用途に応じてストレージクラスを選択する必要があります。
Amazon S3の主な使用用途は?
Amazon S3では、以下のように各種用途での利用が進んでいます。
・ウェブサイト、モバイルアプリケーション オブジェクトストレージとしてインターネットアプリケーションから汎用的に利用できます。 ・データレイク、IoTデバイスやビッグデータ分析 Amazon S3 Access PointsやAWS Lake Formationを用いてデータレイクを作成したり、IoTやビッグデータの保存先として活用できます。 ・エンタープライズアプリケーション 企業向けストレージシステムとして、AWS Storage GatewayやAWS DataSyncを使用してオンプレミスと連携し、効率的な業務システムを構築することが可能です。 ・バックアップおよび復元 AWS Storage Gatewayを用いて、オンプレミスデータのバックアップとしての活用やS3 Glacier・Amazon EFS・Amazon EBSを併用し、バックアップと復元の環境を構築することが可能です。 ・アーカイブ S3 GlacierとS3 Glacier Deep Archiveを活用して長期保存のソリューションとして利用が可能です。同様に、取り出しも迅速に行うことができます。
Amazon S3の利用方法は?
Amazon S3を利用するためには、以下のステップに従い構築を進めていきます。
(1)AWSアカウントのサインアップ AWSではサービス利用のためにAWSアカウントが必要です。Amazon S3においても同様にアカウントサインアップを行ってください。
(2)S3バケットの作成 Amazon S3では、データ保存庫としてS3バケットを最初に作成します。作成するためにはAWSマネジメントコンソールより、Amazon S3コンソールを起動し「バケットの作成」を選択します。ここでバケット名を指定し、バケットを作成します。
(3)バケットにオブジェクトを追加する AWSマネジメントコンソールより、Amazon S3コンソールを起動し「バケットリスト」からバケットを指定します。オブジェクトタブからアップロードを選択し、ファイル追加によりアップロードを行います。
(4)オブジェクトのダウンロード AWSマネジメントコンソールより、Amazon S3コンソールを起動し「バケットリスト」からバケットを指定します。オブジェクトタブからオブジェクトを選択し、オブジェクトアクションによりダウンロードを行います。
(5)オブジェクトのフォルダへのコピー AWSマネジメントコンソールより、Amazon S3コンソールを起動し「バケットリスト」からバケットを指定します。フォルダ作成により新規にフォルダを作成します。次にオブジェクトタブからオブジェクトを選択し、オブジェクトアクションによりコピーを行います。コピー先は例として以下のように指定可能です。
「s3://バケット名/フォルダ名/.」
(6)オブジェクトの削除 オブジェクトが不要となった際には、バケットを空にすることができます。その際オブジェクトは下に戻りません。個々のオブジェクトはAmazon S3コンソールからオブジェクトを選択し削除することが可能です。
同様にバケットが不要になった場合は、Amazon S3コンソールからバケットの削除が可能です。しかしバケットの削除は元に戻りません。そのため同じバケット名を使いたい場合はバケットを空にするかオブジェクトを削除し、バケット自体の削除をしないよう注意しましょう。 参考: Amazon S3 User Guide
Amazon S3を有効活用しシステム全体の最適化を図ろう
Amazon S3は、低価格でありながら可用性やアクセス性能を要望に応じて選択できる柔軟性があります。多くのインターネットアプリケーションや企業向けストレージとしても実績があるため、AWS無料枠を有効活用しながらシステム最適化を図りましょう。
編集部オススメコンテンツ
アンドエンジニアへの取材依頼、情報提供などはこちらから