Amazon Elastic Block Store 略してEBSについて説明を受けることがあったのですが、 思うところがあり、まとめてみました。
ざっくり簡単に言うと、EC2用追加ディスクです。
ちょっとだけ細かいことをいうと、ブロックストレージ(ブロックデバイス)を提供するものです。1
ブロックストレージとはブロックデバイスの1つです。ブロックデバイスというのはブロックという単位で読み書きをするデバイスのことです。 ブロックデバイスには他にもランダムアクセス可能、バッファの利用可能という特徴があって 極論を言うとファイルシステムを利用できるデバイスと考えて頂ければと思います。2。
ここまで来れば、EBSって言葉は「EC2向けに用意された追加ディスク」を格好よく表現した感じだってわかってきます。恐れることはないです。
(別にEBSは必須ではありません。というのは置くとして)EC2 は AMI から生成されます。OS が動作するために必要なブロックデバイスはこの段階で用意されています。
このブロックデバイスは EC2 のライフサイクルと同じで、EC2の終了/削除=ディスクの終了/削除となります。EC2上にデータを保存しないシステムであればよいのですが 既存のシステムはそんなこともないのでデータの保存場所に困るわけです。そこでEBSという話の筋書きになります。
EC2上にデータを残したいと考えているなら、Amazon EFS とどちらか、用途・性能・コストを考えてを選択するのがお手軽な解決方法になるみたいですね。
Linuxで多く使用されているEXT4ファイルシステムの場合はブロックのサイズはデフォルトで4096KBになっています。 EXT系ファイルシステムでブロックサイズを確認する方法は以下の通りです。XFSの場合はxfs_infoを実行するとよいです。
tune2fs /dev/sda1 -l
tune2fs 1.46.2 (28-Feb-2021)
(略)
Block size: 4096
「Amazon」とついているサービスなので独立したサービスという位置付けですが、EBS は EC2 にしかアタッチできないですよね。 ベトベトに依存しているサービスにも見えます。なんでAWS EBSではないんだろう。謎。
内容をまとめるために手を動かそうとして、gatsby develop したら唐突のエラー。大して js を理解していないので cache と node_modules 消して再インストールすれば何とかなると思ってましたが大苦戦。 同じタイミングで plugin の実装が変わってパラメータにnullが許されない制約がついたみたいで、 原因と対処がとっちらかった模様。