【ITニュース解説】Story of AWS Storage - Understanding by asking and answering!
2025年10月04日に「Dev.to」が公開したITニュース「Story of AWS Storage - Understanding by asking and answering!」について初心者にもわかりやすく解説しています。
ITニュース概要
AWSにはブロック、オブジェクト、ファイルといった多様なストレージがある。ブロックは部分更新が容易で、オブジェクトは単一データとして扱われ静的データ向き、ファイルは階層構造で管理される。用途に合わせ使い分けるのが重要だ。
ITニュース解説
AWSのストレージサービスは、クラウド上でデータを効率的に保存、管理、アクセスするための多様な選択肢を提供している。システムエンジニアを目指す上で、これらのサービスを理解し、適切なものを選び出す能力は非常に重要となる。どのストレージサービスを選ぶかは、保存したいデータの種類、アクセス頻度、更新の仕方によって決まる。
AWSのストレージサービスは大きく三つのカテゴリーに分類できる。ファイルストレージ、ブロックストレージ、そしてオブジェクトストレージである。それぞれのタイプには独自の特性があり、データの取り扱い方が異なる。
ブロックストレージは、データを固定サイズのブロックに分割して保存する。この方式は、コンピューターのハードディスクドライブに近い概念で、データの特定の部分を素早く変更したり読み書きしたりするのに適している。例えば、1GBのファイルの一部である1文字だけを変更する場合、その文字が含まれるブロックだけを書き換えればよく、ファイル全体を更新する必要がない。Amazon Elastic Block Store(EBS)がこのタイプの代表的なサービスであり、Amazon EC2インスタンスにアタッチして利用する。EBSは、データベースやOSのファイルなど、頻繁に更新され、低レイテンシーでのアクセスが求められるワークロードに適している。EBSは単一のEC2インスタンスからデータにアクセスする際に高いパフォーマンスを発揮する。
一方、オブジェクトストレージは、データを単一の「オブジェクト」として扱う。各オブジェクトは、データそのものと、そのオブジェクトを識別するためのキー(名前)、そしてメタデータ(データの属性情報)で構成される。オブジェクトは「バケット」と呼ばれる平坦な(階層構造を持たない)コンテナに保存される。オブジェクトストレージでは、ファイルの一部だけを更新することは難しく、通常はファイル全体を更新する必要がある。Amazon Simple Storage Service(S3)がオブジェクトストレージの代表である。S3は、従業員の写真のような静的でアクセス頻度は高いが更新頻度が低いデータ、ウェブサイトのコンテンツ、バックアップ、アーカイブなどに適している。S3はEC2インスタンスとは独立して機能し、インターネットAPIを通じてどこからでもデータにアクセスできる。
ファイルストレージであるAmazon Elastic File System(EFS)は、従来のファイルサーバーのようにデータを階層的に管理する。EFSはフルマネージドなサーバーレスサービスで、ファイルを増減するとストレージ容量とパフォーマンスが自動的に伸縮する。容量や性能を事前にプロビジョニングしたり管理したりする手間がかからない。EFSは複数のAmazon EC2インスタンスやオンプレミスサーバーから同時にアクセスできるため、共有ファイルシステムが必要な環境、例えばウェブサーバー群や開発環境で有用である。EFSは厳密な整合性やファイルロック機能を提供し、マルチアベイラビリティーゾーンに対応して高い可用性を提供する。EFSアクセスポイントを利用すると、特定のファイルやフォルダに対するPOSIX権限をIAMポリシーに基づいて詳細に制御できる。
S3は99.999999999%という非常に高い耐久性と99.99%の可用性を提供し、そのスケーラビリティ、低コスト、セキュリティ機能、簡単なデータ転送から非常に人気のある選択肢となっている。S3の料金は、保存容量、データ転送量、リクエスト数、データ取得量に基づいて発生する。特に最初の100GBのインターネットへのデータ転送や、S3バケット間、またはS3から同一リージョン内のAWSサービスへのデータ転送は無料となる場合が多い。
S3にはデータのアクセスパターンに応じてコストを最適化するための複数のストレージクラスがある。頻繁にアクセスされるデータには「S3 Standard」、アクセスパターンが不明または変化するデータには「S3 Intelligent-Tiering」、長期間保存されアクセス頻度が低いデータには「S3 Standard-Infrequent Access」や「S3 One Zone-Infrequent Access」、アーカイブ目的で即時性が求められる場合は「S3 Glacier Instant Retrieval」、非同期取得でコストを抑える場合は「S3 Glacier Flexible Retrieval」、最も低コストで長期アーカイブを行う場合は「S3 Glacier Deep Archive」といった選択肢がある。S3ライフサイクルポリシーを設定することで、オブジェクトを自動的にこれらのストレージクラス間で移行させ、ストレージコストを管理できる。
S3へのデータ転送を高速化する「S3 Transfer Acceleration」は、Amazon CloudFrontのグローバルエッジロケーションを利用して、クライアントからS3バケットへの長距離データ転送を最適化する。また、容量の大きなオブジェクト(5GBを超える場合や、最大5TBのオブジェクト)をアップロードする際には、「S3 Multipart Upload」が有効である。これはオブジェクトを複数のパートに分割して並行してアップロードすることで、スループットを向上させ、ネットワークの問題発生時にも再開しやすくする。
AWSは、Windows環境向けのファイルシステムとして「Amazon FSx」を提供している。FSxはMicrosoft Windows File Server、Lustre、NetApp ONTAP、OpenZFSといった多様なファイルシステムをフルマネージドで提供し、オンプレミスからクラウドへの移行や特定のワークロード要件に対応できる。
オンプレミス環境とAWSクラウドストレージの連携を強化するサービスとして「AWS Storage Gateway」がある。これはS3ファイルゲートウェイ、FSxファイルゲートウェイ、ボリュームゲートウェイ、テープゲートウェイなどのタイプがあり、オンプレミスからクラウドへのデータ移行やハイブリッドストレージの実現を支援する。
Amazon EC2インスタンスストアは、EC2インスタンスに物理的に接続された一時的なブロックレベルストレージである。これはインスタンスのライフサイクルと紐付いており、インスタンスが停止または終了するとデータも失われる。そのため、一時的なデータやキャッシュに利用され、永続的なデータ保存にはEBSが推奨される。EBSはシステムのハードディスク、インスタンスストアはRAMのような関係と考えると良い。
大量のデータをAWS内外で効率的に移動させるサービスが「AWS DataSync」である。これはオンプレミス環境や他のクラウドサービスからAWSへ、またはAWS内の異なるストレージサービス間でデータを転送する。NFS、SMB、HDFS、S3 APIなどをサポートし、ファイル権限やメタデータを保持しながらデータ転送を自動化、スケジュール設定できる。
ネットワーク接続が限定的または存在しない環境での大規模データ転送やエッジコンピューティングには「AWS Snow Family」(Snowcone、Snowball、Snowmobile)が利用される。これらは物理デバイスとして提供され、ネットワーク帯域の制約を克服するデータ転送ソリューションとなる。
最後に、ストレージにおける重要な概念として「耐久性」はデータが失われることに対する安全性、「可用性」は保存されたデータにアクセスできる頻度を指す。S3はこれら両方において高い水準を誇る。また、「AWS Global Accelerator」と「Amazon CloudFront」はどちらもエッジロケーションを利用するが、CloudFrontはHTTPプロトコルに特化しコンテンツキャッシュによる高速配信を行うのに対し、Global AcceleratorはHTTP以外のTCPやUDPプロトコルもサポートし、複数のリージョン間でアプリケーションのパフォーマンスと可用性を向上させる。S3 Transfer AccelerationはS3へのオブジェクト転送に特化している。
このように、AWSのストレージサービスは多岐にわたり、それぞれの特性を理解し、自身の要件に最適なサービスを選択することが、効率的で堅牢なシステム構築の鍵となる。