EFS

#Amazon Elastic File System とは
> Amazon Elastic File System (Amazon EFS) は、AWS クラウドサービスおよびオンプレミスリソースで使用するための、シンプルでスケーラブル、かつ伸縮自在なフルマネージド型の NFS ファイルシステムを提供します。アプリケーションを停止させることなく、オンデマンドでペタバイト規模までスケールするよう設計されており、ファイルの追加や削除に応じて自動的に拡張/縮小されるため、拡張に対応するための容量のプロビジョニングや管理は不要になります。Amazon EFS には、ファイルシステムをすばやく簡単に作成および設定できるシンプルなウェブサービスインターフェイスがあります。このサービスでは、ユーザーに代わってすべてのファイルストレージインフラストラクチャを管理するため、複雑なデプロイ、パッチ適用、および複雑なファイルシステム設定の保守を行う必要がありません。

> Amazon EFS はネットワークファイルシステムバージョン 4 (NFSv4.1 および NFSv4.0) プロトコルをサポートするので、現在お使いのアプリケーションやツールも Amazon EFS とシームレスに動作します。複数の Amazon EC2 インスタンスが 1 つの Amazon EFS ファイルシステムに同時にアクセスすることができるため、複数のインスタンスまたはサーバーで実行されているワークロードとアプリケーションに共通のデータソースを提供できます。

##概要
> Amazon EFS は AWS クラウド内のファイルストレージを提供します。Amazon EFS を使用すると、ファイルシステムを作成し、ファイルシステムを Amazon EC2 インスタンス、 にマウントし、ファイルシステムとの間でデータの読取りおよび書込みを行うことができます。Network File System バージョン 4.0 および 4.1 (NFSv4) プロトコルを使用して、Amazon EFS ファイルシステムを自分の VPC にマウントできます。Amazon EFS マウントヘルパーと組み合わせて現行世代の Linux NFSv4.1 クライアントを使用することをお勧めします。

> VPC 内の Amazon EFS ファイルシステムにアクセスするには、VPC に 1 つ以上のマウントターゲットを作成します。マウントターゲットは、Amazon EFS ファイルシステムをマウントできる NFSv4 エンドポイントの IP アドレスを提供します。Domain Name Service (DNS) 名を使用してファイルシステムをマウントします。そうすると EC2 インスタンスと同じアベイラビリティーゾーンの EFS マウントターゲットの IP アドレスとして解決されます。AWS リージョンのアベイラビリティーゾーンごとに 1 つのマウントターゲットを作成できます。VPC のアベイラビリティーゾーンに複数のサブネットがある場合、サブネットの 1 つにマウントターゲットを作成します。次に、アベイラビリティーゾーンのすべての EC2 インスタンスがそのマウントターゲットを共有します。

##Amazon EFS と Amazon EC2 の連携
<img width="666" alt="スクリーンショット 2020-05-28 16.43.57.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/321923/72b20676-9f6e-1f5b-a51d-2d2696cac7f0.png">


###Amazon EFS が AWS Direct Connect と AWS マネージド VPN で動作する仕組み
> オンプレミスサーバーと VPC の間に AWS Direct Connect接続を使用してそのマウントターゲットのサブネットに到達できる場合は、VPC で任意のマウントターゲットを使用できます。オンプレミスサーバーから Amazon EFS にアクセスするには、オンプレミスサーバーから NFS ポート (2049) へのインバウンドトラフィックを許可するために、マウントターゲットセキュリティグループにルールを追加する必要があります。

<img width="690" alt="スクリーンショット 2020-05-28 16.45.52.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/321923/9641d338-ad75-02ab-bca3-2dcbeaa1aa06.png">

##Amazon EFS と AWS Backup の連携
> ファイルシステムの包括的なバックアップの実装では、Amazon EFS と AWS Backup を使用できます。AWS Backup は、クラウドおよびオンプレミスの AWS サービス間でのデータバックアップの集中化と自動化を容易にする完全マネージド型バックアップサービスです。AWS Backup を使用すると、バックアップポリシーを集中的に設定し、AWS リソースのバックアップアクティビティを監視できます。Amazon EFS は常にバックアップオペレーションよりもファイルシステムオペレーションを優先します。

##ストレージクラスとライフサイクル管理
> Amazon EFS ファイルシステムでは 2 つのストレージクラスを利用できます。

* 低頻度アクセス – 低頻度アクセス (IA) ストレージクラスは、低コストのストレージクラスで、アクセス頻度が低く長期間保存されるファイルをコスト効率よく格納するように設計されています。

* スタンダード – スタンダードストレージクラスは、頻繁にアクセスされるファイルを格納するために使用されます。

###EFS ライフサイクルの管理
> Amazon EFS のライフサイクル管理は、ファイルシステムの費用対効果の高いファイルストレージを自動的に管理します。有効にすると、ライフサイクル管理により、設定された期間アクセスされなかったファイルは、低頻度アクセス (IA) ストレージクラスに移行されます。その期間は、ライフサイクルポリシーを使用して定義します。

> Amazon EFS のライフサイクル管理は、ファイルシステムの費用対効果の高いファイルストレージを自動的に管理します。有効にすると、ライフサイクル管理により、設定された期間アクセスされなかったファイルは、低頻度アクセス (IA) ストレージクラスに移行されます。その期間は、ライフサイクルポリシーを使用して定義します。

ライフサイクル管理によってファイルが IA ストレージクラスに移動されると、ファイルは無期限に残ります。Amazon EFS ライフサイクル管理では、内部タイマーを使用して、ファイルが最後にアクセスされた時間が追跡されます。公開されている POSIX ファイルシステムの属性は使用されません。スタンダードストレージのファイルが読み書きされるたびに、ライフサイクル管理タイマーはリセットされます。

ディレクトリの内容を一覧表示するなどのメタデータオペレーションは、ファイルアクセスとしてカウントされません。ファイルの内容を IA ストレージに移行するプロセスの間、ファイルはスタンダードストレージクラスに格納され、スタンダードストレージ料金で請求されます。

ライフサイクル管理は、ファイルシステム内のすべてのファイルに適用されます。

####ライフサイクルポリシーの使用

> ライフサイクルポリシーを設定して、EFS がファイルをいつ IA ストレージクラスに移行するか定義します。ファイルシステムには、ファイルシステム全体に適用される 1 つのライフサイクルポリシーがあります。選択したライフサイクルポリシーによって定義された期間内にファイルがアクセスされなかった場合、Amazon EFS はファイルを IA ストレージクラスに移行します。次のように、4 つのライフサイクルポリシーのうち 1 つを Amazon EFS ファイルシステム用に指定できます。

* AFTER_7_DAYS
* AFTER_14_DAYS
* AFTER_30_DAYS
* AFTER_60_DAYS
* AFTER_90_DAYS


##AWS Budgets による Amazon EFS ファイルシステムのコストの管理
> AWS Budgets を使用して、Amazon EFS ファイルシステムのコストを計画および管理できます。

AWS Budgets は AWS Billing and Cost Management コンソールから使用できます。AWS Budgets を使用するには、EFS ファイルシステムの月次コスト予算を作成します。コストが予算額を超えると予測される場合に通知されるように予算を設定し、必要に応じて予算を維持するための調整を行うことができます。

AWS Budgets の使用時には、コストが関連付けられます。通常の AWS アカウントの場合、最初の 2 つの予算は無料です。コストなど、AWS Budgets の詳細については、AWS Billing and Cost Management ユーザーガイド の「Budgets によるコスト管理」を参照してください。

予算のパラメータを使用して、アカウント、AWS リージョン、サービス、またはタグレベルで EFS のコストと使用量を管理するためのカスタム予算を設定できます。以下のセクションでは、AWS Budgets により EFS ファイルシステムのコスト予算を設定する方法について概説しています。コスト予算の作成には、コスト配分タグを使用します。