Amazon S3 について教えてください
Amazon S3 は、非常に優れた耐久性を持つ、データ容量無制限のオブジェクトストレージサービスです。ファイルストレージとの違いとしては、ディレクトリ構造を持たないフラットな構成、ユーザーが独自にデータに対して情報(メタデータ)を付与できることが挙げらます。
Amazon S3 の各オブジェクトには、REST や SOAP といった HTTP をベースとした Web API を使ってアクセスします。ユーザー・利用者がデータを保存するために利用するだけではなく、EBSスナップショットのデータ保存先として使用されるなど、AWS のバックエンドサービスにも使用されているので、AWS の中でも非常な重要なサービスとして位置付けられています。
Amazon S3 の特徴
● スケーラブルなオブジェクトストレージ
Amazon S3 は、ファイルやデータをオブジェクトとして保存され、オブジェクトはバケットと呼ばれるコンテナに保存され、各オブジェクトには一意なキーが割り当てられます。また、Amazon S3 は、非常にスケーラブルなサービスであり、ペタバイト単位のデータも扱うことができます。
● 耐久性と可用性
複数のリージョンにデータを分散保存するため、非常に高いデータの耐久性が特徴です。99.999999999%(イレブンナイン)の耐久性と、99.9% の可用性が保障されています。
● セキュリティ
データのセキュリティに重点を置いており、データを暗号化して保存することができます。また、ACL(アクセスコントロールリスト)や IAMロールを使用して、アクセス制御をおこなえます。
● 柔軟性
異なるアプリケーションやワークロードに対応するため、様々なデータ形式をサポートしています。また、AWS の他のサービスとの連携に対応しているため、様々な用途に利用することができます。
Amazon S3 の機能
● ファイルのアップロードとダウンロード
Amazon S3 は、ファイルのアップロードやダウンロードが簡単に実行できます。Amazon S3 にアップロードされたファイルは、一意なURLを持っており、その URL を知っていればダウンロードすることができます。
● データの保護
オブジェクトの ACL を使用して保護することができます。また、Amazon S3 では、SSLによる暗号化やサーバーサイドの暗号化を提供しています。
● バージョニング
オブジェクトのバージョニングをサポートしています。バージョニングを有効にすると、同じキーに対して複数のバージョンを保存することができます。これにより、誤ってデータを上書きしてしまった場合でも、過去のバージョンに戻すことができます。
● ライフサイクル管理
オブジェクトのライフサイクル管理では、作成日時や更新日時・アクセス日時などの情報をもとに、自動的に削除する、もしくは別のストレージクラスに移行する、といった操作を定義することができます。
● イベント通知
オブジェクトの操作に対するイベント通知をサポートしています。イベント通知を設定することで、例えば、オブジェクトの作成や削除・更新などの、バケットやオブジェクトに対する操作があった場合に、Amazon SNS・Amazon SQS などのAWS のサービスや、HTTPエンドポイントなどに通知が送信されます。
● クロスリージョンレプリケーション
クロスリージョンレプリケーションを利用することで、オブジェクトのコピーを別のAWSリージョンに自動的に作成し、冗長性を確保することができます。
● ストレージクラス
Amazon S3 は、複数のストレージクラスを提供しています。例えば、標準ストレージクラス(S3標準)、低頻度アクセスストレージクラス(S3標準-IA)・アーカイブストレージクラス(S3 Glacier)などがあります。それぞれのストレージクラスは、データのアクセス頻度や保持期間に応じて、コスト効率の高いストレージを選択できます。