EFSとは?
EFS (Elastic File System) は、フルマネージドなNFSサービスです。
- フルマネージド: AWSがEFSのインフラストラクチャを管理してくれるため、ユーザーはストレージの管理に時間を割く必要がありません。
- NFS (Network File System): Linuxなどで広く利用されているファイル共有システムです。EFSはNFSインターフェースを提供するため、Linuxインスタンスから簡単にマウントして利用できます。
特徴
- 容量無制限
- 複数のEC2インスタンスから同時アクセス可能
- 高い耐久性(イレブンナイン)と可用性(最大フォーナイン)
ユースケース
- ウェブサイトのコンテンツストレージ
- ビッグデータ分析
- メディア処理
- アプリケーションのコードリポジトリ
図解
%%{init: {"themeVariables": { "primaryColor": "#ffcccc", "secondaryColor": "#ccffcc", "tertiaryColor": "#ccccff", "mainBkg": "#fff0f0", "nodeBorder": "#ff9999", "clusterBkg": "#fffaf0", "clusterBorder": "#ffe4b5", "lineColor": "#ff9999", "fontFamily": "arial"}}}%%
graph LR
EFS(("EFS\n(Elastic File System)"))
EC2_1(("EC2"))
EC2_2(("EC2"))
EC2_3(("EC2"))
EC2_1 -->|NFS| EFS
EC2_2 -->|NFS| EFS
EC2_3 -->|NFS| EFS
subgraph "EC2 インスタンス"
EC2_1
EC2_2
EC2_3
end
EFSの構成要素
EFSは、「ファイルシステム」と「マウントターゲット」という2つの主要な構成要素から成り立ちます。
- ファイルシステム: ファイルを保存するための論理的なストレージ領域です。VPC内に作成され、複数のAZにまたがってデータを複製することで高可用性を実現します。
- マウントターゲット: ファイルシステムへのアクセスを提供するエンドポイントです。各AZにマウントターゲットが作成され、EC2インスタンスはそのマウントターゲットを介してファイルシステムにアクセスします。
図解
%%{init: {"themeVariables": { "primaryColor": "#ffcccc", "secondaryColor": "#ccffcc", "tertiaryColor": "#ccccff", "mainBkg": "#fff0f0", "nodeBorder": "#ff9999", "clusterBkg": "#fffaf0", "clusterBorder": "#ffe4b5", "lineColor": "#ff9999", "fontFamily": "arial"}}}%%
graph LR
subgraph "VPC"
subgraph "AZ 1"
MT1(("Mount Target"))
end
subgraph "AZ 2"
MT2(("Mount Target"))
end
subgraph "EFS"
FS(("File System"))
end
FS --- MT1
FS --- MT2
end
subgraph "EC2 インスタンス (AZ 1)"
EC2_1(("EC2"))
end
subgraph "EC2 インスタンス (AZ 2)"
EC2_2(("EC2"))
end
EC2_1 -->|NFS| MT1
EC2_2 -->|NFS| MT2
パフォーマンスモード
EFSには、以下の2種類のパフォーマンスモードがあります。
- 汎用パフォーマンスモード (General Purpose): ほとんどのワークロードに適したデフォルトのモードです。レイテンシとスループットのバランスが取れています。
- 最大I/Oパフォーマンスモード (Max I/O): 大量の小さなファイルを読み書きするワークロードに適しています。スループットを最大化しますが、レイテンシがわずかに増加します。
図解
%%{init: {"themeVariables": { "primaryColor": "#ffcccc", "secondaryColor": "#ccffcc", "tertiaryColor": "#ccccff", "mainBkg": "#fff0f0", "nodeBorder": "#ff9999", "clusterBkg": "#fffaf0", "clusterBorder": "#ffe4b5", "lineColor": "#ff9999", "fontFamily": "arial"}}}%%
graph LR
EFS(("EFS")) --> GP["汎用パフォーマンス\n(General Purpose)\n- デフォルト\n- バランス重視"]
EFS --> MI["最大I/Oパフォーマンス\n(Max I/O)\n- 高スループット\n- レイテンシ増加"]
スループットモード
EFSには、以下の2種類の スループットモードがあります。
- バーストスループットモード (Bursting Throughput): 使用中のストレージ容量に応じてスループットが自動的に拡張されます。ほとんどのワークロードに適したデフォルトのモードです。
- プロビジョニングスループットモード (Provisioned Throughput): 安定したスループットが必要なワークロードに適しています。スループットを事前に指定することで、必要なパフォーマンスを確保できます。
図解
%%{init: {"themeVariables": { "primaryColor": "#ffcccc", "secondaryColor": "#ccffcc", "tertiaryColor": "#ccccff", "mainBkg": "#fff0f0", "nodeBorder": "#ff9999", "clusterBkg": "#fffaf0", "clusterBorder": "#ffe4b5", "lineColor": "#ff9999", "fontFamily": "arial"}}}%%
graph LR
EFS(("EFS")) --> BT["バーストスループット\n(Bursting Throughput)\n- 容量に応じてスループット拡張\n- デフォルト"]
EFS --> PT["プロビジョニングスループット\n(Provisioned Throughput)\n- 安定したスループット\n- 事前定義"]
まとめ
EFSは、スケーラブルで高可用性なファイルストレージサービスであり、複数のEC2インスタンスから同時にアクセスできます。パフォーマンスモードとスループットモードを適切に選択することで、ワークロードに最適なパフォーマンスを実現できます。
コメント