Amazon EFS: 仕組み - Amazon Elastic File System

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

Amazon EFS: 仕組み

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

Overview

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

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

Amazon EFS ファイルシステムには、複数の NFS クライアントから同時にアクセスできます。これにより、単一接続を越えてスケールされているアプリケーションがファイルシステムにアクセスできます。Amazon EC2 および他の EC2 および他のAWS同じ内の複数のアベイラビリティーゾーンで実行されるコンピューティングインスタンス AWS リージョン がファイルシステムにアクセスできるため、多くのユーザーが共通のデータソースにアクセスして共有できます。

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

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

  • Standard ストレージクラスを使用するファイルシステムでは、各アベイラビリティーゾーンにマウントターゲットを AWS リージョン 。

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

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

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

注記

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

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

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

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

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

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

Amazon EFS とスタンダードストレージクラス

次の図は、複数の EC2 インスタンスが Amazon EFS ファイルシステムにアクセスしていることを示しています。このファイルシステムには、 AWS リージョン 。


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

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

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

  2. 選択リージョン別Amazon EFS ファイルシステムを作成するときの耐久性と可用性。

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

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

1 つのゾーンストレージクラスの Amazon EFS

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


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

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

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

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

  2. One Zone ストレージで Amazon EFS ファイルシステムを作成します。

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

Amazon EFS との連携方法 AWS Direct Connect およびAWSマネージドVPN

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

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

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

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

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

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

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

オンプレミスサーバーと 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 VPN VPN」を参照してください。

Amazon EFS との連携方法AWS Backup

ファイルシステムの包括的なバックアップを実装するには、Amazon EFS をAWS Backup。AWS Backupはフルマネージド型のバックアップサービスであり、全体にわたるデータバックアップを簡単に一元化および自動化できます。AWSサービスをクラウドとオンプレミスで利用できます。を使用するAWS Backupでは、バックアップポリシーを集中的に設定し、AWSリソースの使用料金を見積もることができます。Amazon EFS では、常にバックアップ操作よりもファイルシステム操作の優先順位が優先されます。AWS Backup を使用して EFS ファイルシステムをバックアップする方法の詳細については、「を使用するAWS BackupAmazon 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 名は、mountAmazon 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 ファイルシステムを作成し、AWS CLI

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

    • を使用するAWSSDK —AWSSDK は、基盤となる 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 を使用して Network File System (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 One Zone-IA (One Zone-IA)— アクセス頻度の低いファイルを、1 つのアベイラビリティーゾーン内に冗長的に格納する、低コストのストレージクラスです。 AWS リージョン 。

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

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

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

EFS ライフサイクル管理

Amazon EFS ライフサイクル管理は、ファイルシステムの費用対効果の高いファイルストレージを自動的に管理します。有効にすると、ライフサイクル管理により、設定された期間アクセスされていないファイルは、低頻度アクセスストレージクラス (Standard-IA) または One Zone-IA に移行されます。その期間は、使用して、ライフサイクルポリシー。詳細については、「Amazon EFS ライフサイクル管理」を参照してください。

EFS インテリジェント階層化

Amazon EFS Intelligent-Tiering は、ライフサイクル管理を使用してワークロードのアクセスパターンを監視し、対応する低頻度アクセス (IA) ストレージクラスとの間でファイルを自動的に移行するように設計されています。インテリジェントな階層化では、標準記憶域クラス (EFS Standard または EFS One Zone) 内のファイルが一定期間アクセスされない場合 (30 日など) は、対応する低頻度アクセス (IA) 記憶域クラスに移行されます。さらに、アクセスパターンが変更されると、EFS インテリジェント階層化によって、自動的に EFS 標準または EFS One ゾーンの記憶域クラスにファイルが戻されます。これにより、無制限のアクセス料金のリスクを排除しながら、一貫した低レイテンシーを提供できます。詳細については、「Amazon EFS Intelligent-Tiering」を参照してください。