導入
EC2インスタンスには、OSやアプリのデータを置くディスクが必要です。AWSには、1台専用のEBSと、複数台で共有できるEFSという2つの選択肢があります。
説明
EBS(Elastic Block Store)は、EC2インスタンスに取り付ける仮想ディスク(ブロックストレージ)です。
- 基本的に1つのAZ(アベイラビリティゾーン)内でのみ使え、原則として同時に1台のインスタンスにのみアタッチする。
- OSの起動ディスク(ルートボリューム)や、データベースのデータ領域として使うのが典型的な用途。
- スナップショットを取ることで、ある時点の状態をS3にバックアップでき、そこから新しいボリュームを作り直すこともできる。
EFS(Elastic File System)は、複数のEC2インスタンスから同時にマウントできる共有ファイルシステム(ファイルストレージ)です。
- 複数のAZにまたがって利用でき、多数のインスタンスから同時に同じファイルへアクセスできる。
- 容量は自動的に拡張・縮小される(あらかじめサイズを決めておく必要がない)。
- 複数のWebサーバーで同じアップロードファイルを共有する、といった用途に向く。
graph TD
subgraph ebs["EBS(1台専用)"]
e1["EC2 #1"] --- v1["EBSボリューム"]
end
subgraph efs["EFS(複数台で共有)"]
e2["EC2 #2"] --- fs["EFSファイルシステム"]
e3["EC2 #3"] --- fs
e4["EC2 #4(別AZ)"] --- fs
end
読んでみよう
「1台に紐づくディスク=EBS」「複数台で同時に共有するファイルシステム=EFS」という対比で覚えましょう。「複数のEC2から同じファイルを読み書きしたい」という要件が出てきたら、答えはEFSです。