AWSの主要サービス紹介第3回目の今回は、ストレージサービスについて紹介します。データの保存場所として使用するほか、EC2のボリュームとして使用することもあるサービスです。コンピューティングサービスと同様に、多くのユーザーが使用するサービスですので概要を確認しておきましょう。
目次
はじめに
前回に引き続き、ストレージサービスについてご紹介します。今回はS3とEBS、EFSについてそれぞれのストレージの種類を合わせてご説明します。ストレージの種類とサービスの対応
まず、ストレージの種類とサービスについて以下の表にまとめます。
注意点としてブロックストレージは、元々のデータの形成しているシステムに依存せず分割して保存します。
実際、PCのHDやSSDはファイルシステムを構築していますが、それぞれのデータをブロックにしてしまえば関係なくアドレスによってアクセスできます。ファイルシステムは存在しますが、ファイルストレージではなくブロックストレージですので注意してください。
ブロックストレージはブロック単位でアクセスでき、並列に処理をすることが可能なので高速なデータアクセスが可能です。一方で、ファイルストレージは構造が階層的なので複数のサーバによってデータを共有するのによく使用されます。オブジェクトストレージはオブジェクトという明確な単位があるので、データ複製やストレージ容量の増設が容易です。
S3 (Simple Storage Service)
概要 S3はAWSのストレージの中で最も安価なストレージサービスで、容量無制限かつスケールを自動で調節することの可能なオブジェクトストレージを提供するサービスです。S3はユーザーが指定した操作を行わなくとも、複数のAZに対して自動で複製が行われ、高い可用性を持ちます。この結果、S3はVPCやAZ単位ではなくリージョンごとに定義されるサービスの1つです。 S3はバケットという単位の中に、複数のオブジェクトとそのメタデータが含まれているほか、ディレクトリを作成することが可能であり、階層構造をとっています。それぞれのオブジェクトのURIは、https://(バケット名).s3.amazonaws.com/(バケット内のオブジェクトへのpath)の形で階層構造を直接使用してアクセスするため、同じ名前のバケットやバケット内の同じ「階層」に同じ名称のファイルを作成することはできませんし、全世界中で同じ名前のバケットも定義できません。
ストレージクラス
ここで全てを挙げることはしませんが、アクセス頻度の低いアーカイブのようなデータを保存する用のS3 Glacierや、複数のAZへの複製をせず1つのAZのみの利用にすることで、可用性を下げる代わりにコストを下げるS3 One Zone-Infrequent Access (S3 One Zone-IA)など、さまざまな種類があるので状況に応じて使い分けましょう。
アクセス制御
それぞれのバケットごとにアクセス制御を行うことが可能です。この制御はACLとバケットポリシー、パブリックアクセスブロックという3つで行います。デフォルトではパブリックアクセスブロックが有効になっているため、他のAWSアカウントのアクセスが必要な際には、ACLとバケットポリシーを設定した上でパブリックアクセスブロックを無効化します。
ACLはアクセス許可のみしか行うことができず、パブリックアクセスを有効化した上でのアクセスブロックはバケットポリシーでしかできないことに注意しましょう。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadGetObject",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::YOUR-BUCKET-NAME/*"
}
]
}
- ・
Version: ポリシー言語のバージョン。”2012-10-17″は2024年4月現在推奨されているバージョンです。 - ・
Statement: ポリシーの実際の文です。 - ・
Sid: ステートメントのIDで、ポリシー内で一意である必要があります。 - ・
Effect: “Allow”(許可)または”Deny”(拒否)のいずれかを指定します。 - ・
Principal: ポリシーが適用される主体を指定します。"*"はすべてのユーザーを意味します。 - ・
Action: 実行許可または拒否の対象となるアクション。この例ではs3:GetObjectはオブジェクトの読み取りを意味します。 - ・
Resource: ポリシーが適用されるリソース。YOUR-BUCKET-NAMEはバケット名に置き換えてください。

