目的
可用性の高いジョブフロー管理システムを作成する際、各サーバでジョブフローの進捗状況をどのように共有するかが問題になる。
この共有方法に EFS が使えないかを検討するために、 EFS の特徴を知る。
EFS とは?
Amazon Elastic File System の略で、 EC2 で利用するスケーラブルなネットワークファイルシステムを提供する。
2018年5月から東京リージョンでも使用可能となった。
S3, EBS との違いは?
aws EFS の公式ページにも説明がある通り、下記のような違いがある。
EFS | S3 | EBS | |
---|---|---|---|
レイテンシ | 低 | 低 | 最低 |
スループット | 数GB単位/sec | 数GB単位/sec | 1GB単位/sec |
可用性 | MultiAZ | MultiAZ | SingleAZ |
アクセス | 複数EC2・オンプレサーバ | ウェブ | 1つのEC2 |
メリット・デメリット
メリット
- マネージドサービスなので管理が楽
- 高いレベルの可用性・耐久性がある
- 容量制限がなく、使用量に応じで容量が拡張される
- 利用方法が簡単
デメリット
- コストが高い。1GB を保存すると、 s3 は約2円、EBSは約10円、EFS は約30円
使用方法
- EFS は AWS マネジメントコンソールから簡単に作成できる
- 使用する EC2 に nfs4 を入れる必要がある
- VPC が違う場合は ClassicLink を使ってマウントすれば良い
- amazon-efs-utils を使えば EC2 から簡単に利用できそう
さいごに
やっぱり複数 EC2 でファイル共有するためには EFS が使いやすそう。
次は実際に EFS を使って高可用性なワークフローシステムを作成してみる予定。