Amazon EFS: 仕組み - Amazon Elastic File System

「翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。」

Amazon EFS: 仕組み

Amazon EFS の動作方法、実装の詳細、およびセキュリティに関する考慮事項について説明します。

Overview

Amazon EFS は、シンプルでサーバーレスで設定不要の Elastic File System を提供します。Amazon EFS を使用すると、ファイルシステムを作成し、ファイルシステムを Amazon EC2 インスタンス、 にマウントし、ファイルシステムとの間でデータの読取りおよび書込みを行うことができます。Network File System バージョン 4.0 および 4.1 (NFSv4) プロトコルを使用して、 Amazon EFS ファイルシステムを Virtual Private Cloud (VPC) にマウントできます。最新の Amazon Linux、、Red Amazon Linux 2Hat、Ubuntu、macOS Big Sur AMIs にあるものなど、現行世代の Linux NFSv4.1 クライアントを Amazon EFS マウントヘルパーと組み合わせて使用することをお勧めします。手順については、「amazon-efs-utils ツールを使用する」を参照してください。

このプロトコルをサポートする Amazon EC2 Linux および macOS Amazon マシンイメージ (AMIs) のリストについてはNFS サポート、「」を参照してください。AMIsでは、NFS クライアントをインストールして、 Amazon EC2 インスタンスにファイルシステムをマウントする必要があります。手順については、「NFS クライアントのインストール」を参照してください。

複数の NFS クライアントから同時に Amazon EFS ファイルシステムにアクセスできるため、複数の接続に分散するアプリケーションからファイルシステムにアクセスできます。同じ Amazon EC2 リージョン内の複数のアベイラビリティーゾーンで実行されている AWS インスタンスからファイルシステムにアクセスできるため、多くのユーザーが共通のデータソースにアクセスして共有できます。

Amazon EFS のファイルシステムを作成できる AWS リージョンのリストについては、「アマゾン ウェブ サービス全般のリファレンス」を参照してください。

VPC 内の Amazon EFS ファイルシステムにアクセスするには、VPC に 1 つ以上のマウントターゲットを作成します。

  • 標準ストレージクラスを使用するファイルシステムの場合、AWSリージョン内の各アベイラビリティーゾーンにマウントターゲットを作成できます。

  • 1 ゾーンストレージクラスを使用するファイルシステムの場合、ファイルシステムと同じアベイラビリティーゾーンにある 1 つのマウントターゲットのみを作成します。

詳細については、「 」を参照してくださいEFS ストレージクラスの管理

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

注記

Amazon EFS ファイルシステムは、一度に 1 つの VPC にのみマウントターゲットを持つことができます。

マウントターゲットは高い可用性を実現できるように設計されています。高可用性と他のアベイラビリティーゾーンへのフェイルオーバーを設計する場合、各アベイラビリティーゾーンのマウントターゲットの IP アドレスと DNS は静的ですが、これらは複数のリソースでバックアップされた冗長コンポーネントであることに注意してください。

DNS 名を使用してファイルシステムをマウントしたら、このファイルシステムを他の POSIX 準拠のファイルシステムと同じように使用します。NFS レベルのアクセス権限と関連する考慮事項の詳細については、「ネットワークファイルシステム (NFS) レベルでのユーザー、グループ、アクセス許可の操作」を参照してください。

Amazon EFS Amazon VPC または を使用して に接続されている場合、 AWS Direct Connect ファイルシステムをオンプレミスのデータセンターサーバーにマウントできますAWS VPN。オンプレミスのサーバーに EFS ファイルシステムをマウントして、データセットを EFS に移行したり、クラウドでのバーストシナリオを有効にしたり、オンプレミスデータを にバックアップしたりできますAmazon EFS。

が Amazon EFS およびサポートされている他のコンピューティングインスタンスと連携Amazon EC2する方法

このセクションでは、標準および 1 ゾーンのストレージクラスを使用するAmazon EFSファイルシステムを の EC2 インスタンスにマウントする方法について説明しますAmazon VPC。

Amazon EFS 標準ストレージクラスを使用した

次の図は、 Amazon EFS リージョンの複数のアベイラビリティーゾーンからスタンダードストレージクラスで設定されている AWS ファイルシステムにアクセスする複数の EC2 インスタンスを示しています。


        EC2 インスタンスとマウントターゲット、およびマウントされた EFS ファイルシステムを含む、VPC 内の 3 つのアベイラビリティーゾーンを示す図。

この図では Amazon Virtual Private Cloud (VPC) には 3 つのアベイラビリティーゾーンがあります。ファイルシステムはスタンダードストレージクラスを使用するため、マウントターゲットが各アベイラビリティーゾーンに作成されます。パフォーマンスやコスト上の理由から、同じアベイラビリティーゾーン内のマウントターゲットからファイルシステムにアクセスすることをお勧めします。アベイラビリティーゾーンの 1 つには 2 つのサブネットがあります。ただし、マウントターゲットは 1 つのサブネットのみに作成されます。このセットアップは、次のように機能します。

  1. Amazon EC2 リソースを作成し、Amazon EC2 インスタンスを起動します。Amazon EC2 の詳細については、「Amazon EC2 - 仮想サーバーのホスティング」を参照してください。

  2. ファイルシステムを作成するときに、[RegionalAmazon EFS durability and availability (リージョンの耐久性と可用性)] を選択します。

  3. 各Amazon EC2インスタンスに接続し、Amazon EFSファイルシステムをマウントします。

詳細なステップについては、「Amazon Elastic File System の開始方法」を参照してください。

Amazon EFS 1 ゾーンのストレージクラスを使用する

次の図は、 Amazon EFS ファイルシステムにアクセスする複数の EC2 インスタンスを示しています。このファイルシステムは、 AWS リージョン内の複数のアベイラビリティーゾーンから 1 ゾーンのストレージを使用して設定されます。


          EC2 インスタンス、1 つのマウントターゲット、およびマウントされた EFS 1 ゾーンファイルシステムを含む、VPC 内の 2 つのアベイラビリティーゾーンを示す図。

この図では、VPC に 2 つのアベイラビリティーゾーンがあり、それぞれに 1 つのサブネットがあります。ファイルシステムは 1 ゾーンのストレージクラスを使用するため、マウントターゲットは 1 つに限られます。パフォーマンスとコストを向上させるには、マウントする EC2 インスタンスと同じアベイラビリティーゾーンのマウントターゲットからファイルシステムにアクセスすることをお勧めします。

この例ではus-west-2c アベイラビリティーゾーンの EC2 インスタンスは、別のアベイラビリティーゾーンのマウントターゲットにアクセスするための EC2 データアクセス料金を支払います。このセットアップは、次のように機能します。

  1. Amazon EC2 リソースを作成し、Amazon EC2 インスタンスを起動します。の詳細についてはAmazon EC2、「Amazon Amazon EC2 を参照してください。

  2. 1 ゾーンのストレージを持つAmazon EFSファイルシステムを作成します。

  3. 各Amazon EC2インスタンスに接続し、各インスタンスに同じマウントターゲットを使用してAmazon EFSファイルシステムをマウントします。

Amazon EFS と AWS Direct Connect AWS マネージド VPN との連携

オンプレミスサーバーにマウントされた Amazon EFS ファイルシステムを使用すると、オンプレミスのデータを Amazon EFS ファイルシステムにホストされている AWS クラウドに移行できます。バーストを活用することもできます。つまり、オンプレミスサーバーから Amazon EFS にデータを移動し、Amazon EC2 のフリートの Amazon VPC インスタンスのフリーとで分析することができます。その後、結果をファイルシステムに永続的に保存するか、結果をオンプレミスサーバーに戻すことができます。

オンプレミスサーバーで Amazon EFS を使用する場合は、次の点に注意してください。

  • オンプレミスサーバーには Linux ベースのオペレーティングシステムが必要です。Linux カーネルバージョン 4.0 以降をお勧めします。

  • わかりやすいように、DNS 名ではなくマウントターゲットの IP アドレスを使用して、Amazon EFS ファイルシステムをオンプレミスサーバーにマウントすることをお勧めします。

Amazon EFS ファイルシステムのオンプレミスアクセスに、追加料金は必要ありません。AWS Direct Connect に接続する Amazon VPC には料金が発生します。詳細については、「AWS Direct Connect 料金表」を参照してください。

次の図は、オンプレミスから Amazon EFS ファイルシステムにアクセスする方法 (オンプレミスサーバーにファイルシステムがマウントされている) の例を示しています。

Amazon EFS が と連携してオンプレミスサーバーに EFS ファイルシステムAWS Direct Connectをマウントする様子を示す図。

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

このようなセットアップを作成するには、以下の作業を行います。

  1. オンプレミスデータセンターと AWS Direct Connect の間に Amazon VPC 接続を確立します。AWS Direct Connect の詳細については、「AWS Direct Connect」を参照してください。

  2. Amazon EFS ファイルシステムを作成します。

  3. オンプレミスサーバーに Amazon EFS ファイルシステムをマウントします。

詳細なステップについては、「ウォークスルー: AWS Direct Connect と VPN を使用してオンプレミスでファイルシステムを作成してマウントする」を参照してください。

Amazon EFS と AWS Backup の連携

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

実装の概要

Amazon EFS では、ファイルシステムがプライマリリソースです。各ファイルシステムには、プロパティとして ID、作成トークン、作成時刻、バイト単位でのファイルシステムサイズ、ファイルシステム用に作成されたマウントターゲットの数、ファイルシステムのライフサイクル状態などがあります。詳細については、「 」を参照してくださいCreateFileSystem

Amazon EFS は、プライマリリソースの設定のための他のリソースもサポートします。これには、マウントターゲットやアクセスポイントが含まれます。

  • マウントターゲット – ファイルシステムにアクセスするには、VPC にマウントターゲットを作成する必要があります。各マウントターゲットには、プロパティとしてマウントターゲット ID、マウントターゲットが作成されたサブネットの ID、マウントターゲットが作成されたファイルシステムの ID、ファイルシステムのマウント先の IP アドレス、VPC セキュリティグループ、マウントターゲット状態などがあります。mount コマンドで DNS 名または IP アドレスが使用できます。

    各ファイルシステムの DNS 名は次の形式になります。

    file-system-id.efs.aws-region.amazonaws.com

    この DNS 名を mount コマンドで指定して、Amazon EFS ファイルシステムをマウントできます。EC2 インスタンスまたはオンプレミスサーバーに efs-mount-point サブディレクトリを作成するとします。次に、mount コマンドを使用してファイルシステムをマウントできます。たとえば、Amazon Linux AMI では、以下の mount コマンドを使用できます。

    $ sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport file-system-DNS-name:/ ~/efs-mount-point

    詳細については、「 」を参照してくださいマウントターゲットの作成と管理 最初に、EC2 インスタンスに NFS クライアントをインストールする必要があります。「開始方法」演習には、手順が説明されています。

  • アクセスポイント – アクセスポイントは、アクセスポイントを介したすべてのファイルシステム要求に対して、オペレーティングシステムのユーザー、グループ、およびファイルシステムのパスを適用します。アクセスポイントのオペレーティングシステムのユーザーおよびグループは、NFS クライアントから提供されるすべての ID 情報を上書きします。ファイルシステムのパスは、アクセスポイントのルートディレクトリとしてクライアントに公開されます。これにより、各アプリケーションは共有ファイルベースのデータセットにアクセスするときに、常に正しいオペレーティングシステム ID と正しいディレクトリを使用できます。アクセスポイントを使用するアプリケーションは、それ自体のディレクトリ以下のデータにのみアクセスできます。詳細については、「 」を参照してくださいAmazon EFS アクセスポイントの使用

マウントターゲットとタグは、ファイルシステムに関連付けられたサブリソースです。これらは、既存のファイルシステムのコンテキスト内でのみ作成できます。

Amazon EFS では、API オペレーションでこれらのリソースの作成および管理ができます。各リソースの作成および削除オペレーションに加えて、Amazon EFS はリソース情報を取得する Describe オペレーションもサポートしています。これらのリソースの作成および管理には、以下のオプションがあります。

  • Amazon EFS コンソールの使用 – 例については、「開始方法」を参照してください。

  • Amazon EFS ココマンドラインインターフェイス (CLI) の使用 – 例については、「チュートリアル: Amazon EFS ファイルシステムを作成し、Amazon EC2 を使用して AWS CLI インスタンスにマウントする」を参照してください。

  • 以下のように、これらのリソースをプログラムで管理することもできます。

    • AWS SDK を使用する– AWS SDK は、基礎となる Amazon EFS API をラップして、プログラミング作業を簡素化します。SDK クライアントは、アクセスキーを使用してリクエストの認証も行います。詳細については、「サンプルコードとライブラリ」を参照してください。

    • アプリケーションから直接 Amazon EFS API を呼び出す – 何らかの理由で SDK を使用できない場合、Amazon EFS API コールをアプリケーションから直接呼び出せます。ただし、このオプションを使用する場合、リクエストを認証するために必要なコードを記述する必要があります。Amazon EFS API の詳細については、「Amazon EFS API」を参照してください。

認証とアクセスコントロール

ファイルシステムの作成などの Amazon EFS API リクエストには、有効な認証情報が必要です。さらに、リソースの作成またはアクセスのための権限も必要です。デフォルトでは、AWS アカウントのルートアカウントの認証情報を使用すると、そのアカウントが所有するリソースの作成やアクセスができます。ただし、ルートアカウントの認証情報は使用しないことをお勧めします。また、アカウントで作成した AWS Identity and Access Management (IAM) ユーザーおよびロールには、リソースの作成またはアクセスの許可が付与されている必要があります。権限の詳細については、Amazon EFS の Identity and Access Managementを参照してください。

NFS クライアントの IAM 認証は、Amazon EFS の追加のセキュリティオプションであり、IAM を使用して、大規模なネットワークファイルシステム (NFS) クライアントのアクセス管理がシンプルになります。NFS クライアントの IAM 認証では、IAM を使用して、もとからのスケーラブルな方法で EFS ファイルシステムへのアクセスを管理できます。NFS クライアントの IAM 認証は、クラウド環境向けにも最適化されています。NFS クライアントの IAM 認証を使用する方法の詳細については、「IAM を使用したファイルシステムデータアクセスの制御」を参照してください。

でのデータの整合性 Amazon EFS

Amazon EFS は、アプリケーションが NFS に求める close-to-open 整合性セマンティクスを提供します。

ではAmazon EFS、書き込みオペレーションは、以下の状況で標準ストレージクラスを使用するファイルシステムのアベイラビリティーゾーン間で永続的に保存されます。

  • アプリケーションは、同期書き込みオペレーションを実行します (たとえば、open フラグで O_DIRECT Linux コマンドを使用するか、または fsync Linux コマンドを使用します)。

  • アプリケーションがファイルを閉じます。

Amazon EFS は、アクセスパターンによっては、close-to-open セマンティクスよりも強力な整合性をもたらします。同期データアクセスを実行し、非追加書き込みを実行するアプリケーションには、データアクセスのための書き込み後の読み取り整合性があります。

ストレージクラスとライフサイクル管理

ではAmazon EFS、さまざまなユースケース向けに設計されたさまざまなストレージクラスから選択できます。

  • EFS 標準– 頻繁にアクセスされるデータ用のリージョンのストレージクラス。AWS リージョン内の複数のアベイラビリティーゾーンにわたってファイルシステムデータを冗長的に格納することで、最高レベルの可用性と耐久性を提供します。

  • EFS 標準低頻度アクセス (IA) アクセスが頻繁ではないデータ用の–リージョン別ストレージクラス。AWS リージョン内の複数のアベイラビリティーゾーンにわたってファイルシステムデータを冗長的に格納することで、最高レベルの可用性と耐久性を提供します。

  • EFS 1 ゾーン – リージョンの 1 つのアベイラビリティーゾーン内に冗長的に保存される、アクセスが頻繁なファイルAWS用。

  • EFS 1 ゾーン – IA– AWS リージョン内の単一のアベイラビリティーゾーン内に冗長的に保存される、アクセス頻度の低いファイル用の低コストのストレージクラス。

EFS 標準ストレージクラスは、 AWS リージョン内の複数の地理的に分離されたアベイラビリティーゾーンにまたがってファイルシステムデータとメタデータを冗長的に保存するリージョン別ストレージクラスです。これらは、最高レベルの可用性と耐久性を提供し、リージョン内の 1 つ以上のアベイラビリティーゾーンが利用できない場合でも、データに対して継続的な可用性を提供します。

EFS 1 ゾーンストレージクラスは、低コストで単一アベイラビリティーゾーンのストレージクラスです。ファイルシステムデータとメタデータは、 AWS リージョン内の単一のアベイラビリティーゾーンに冗長的に保存されます。

どちらの IA ストレージクラスも、毎日アクセスされないファイルのストレージコストを削減します。完全なデータセットにすぐにアクセスできるようにし、アクセス頻度の低いファイルのストレージコストを自動的に削減する場合は、IA ストレージを使用することをお勧めします。例として、監査要件を満たすためにファイルをアクセス可能にしておくこと、履歴分析を実行すること、またはバックアップと回復を実行することなどがあります。Amazon EFS ストレージクラスの詳細については、「」EFS ストレージクラスの管理を参照してください。

Amazon EFS のライフサイクル管理では、ファイルシステムの費用対効果の高いファイルストレージが自動的に管理されます。有効にすると、ライフサイクル管理は、設定された期間アクセスされなかったファイルを低頻度のアクセスストレージクラス、標準 – IA、または 1 ゾーン – IA に移行します。その期間は、ライフサイクルポリシーを使用して定義します。ライフサイクル管理の詳細については、「」Amazon EFS ライフサイクル管理を参照してください。