Amazon Elastic File System で Elastic Beanstalk を使用する - AWS Elastic Beanstalk

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

Amazon Elastic File System で Elastic Beanstalk を使用する

Amazon Elastic File System (Amazon EFS) では、複数のアベイラビリティーゾーンのインスタンスにマウントできるネットワークファイルシステムを作成できます。Amazon EFS ファイルシステムは、セキュリティグループを使用してデフォルトまたはカスタム VPC にあるネットワーク経由でアクセスを制御する AWS リソースです。

Elastic Beanstalk 環境では、Amazon EFS を使用して、ユーザーがアップロードまたは変更したアプリケーションのファイルを保存する共有ディレクトリを作成できます。アプリケーションは、ローカルストレージなど、マウントされた Amazon EFS ボリュームを処理できます。そうすれば、アプリケーションコードを変更して複数のインスタンスにスケールアップする必要がなくなります。

Amazon EFS の詳細については、Amazon Elastic File System ユーザーガイドを参照してください。

注記

Elastic Beanstalk は、Amazon EC2 インスタンスのアプリケーションディレクトリの所有者として設定できるwebappユーザーを作成します。詳細については、このガイドの設計上の考慮事項トピックの永続的ストレージを参照してください。

設定ファイル

Elastic Beanstalk は、Amazon EFS ファイルシステムを作成およびマウントするために使用できる設定ファイルを提供します。環境の一部としてAmazon EFS ボリュームを作成することも、作成したAmazon EF ボリュームを Elastic Beanstalk とは関係なくマウントすることもできます。

  • storage-efs-createfilesystem.configResources キーを使用して、Amazon EFS で新しいファイルシステムとマウントポイントを作成します。環境のすべてのインスタンスは、共有されたスケーラブルなストレージのため、同じファイルシステムに接続できます。storage-efs-mountfilesystem.config を使用して、各インスタンスでファイルシステムをマウントできます。

    内部リソース

    設定ファイルで作成するリソースは、環境のライフサイクルに関連付けられます。環境を終了するか、構成ファイルを削除すると、これらのリソースは失われます。

  • storage-efs-mountfilesystem.config – 環境のインスタンスのローカルパスに、Amazon EFS ファイルシステムをマウントします。ボリュームは、storage-efs-createfilesystem.config を使用して環境の一部として作成することができます。または、Amazon EFS コンソール、AWS CLI、または AWS SDKを使用して環境にマウントすることもできます。

設定ファイルを使用するには、最初に storage-efs-createfilesystem.config を使用して Amazon EFS ファイルシステムを作成します。設定ファイルの指示に従って、ソースコードの .ebextensions ディレクトリにファイルを追加し、VPC でファイルシステムを作成します。

更新されたソースコードを Elastic Beanstalk 環境にデプロイします。これは、ファイルシステムが正常に作成されることを確認するためです。次に、storage-efs-mountfilesystem.config を追加し、環境のインスタンスにファイルシステムをマウントします。2 つの別のデプロイでこの操作を行うことで、マウントオペレーションに失敗した場合でも、ファイルシステムはそのまま残ります。同じデプロイで両方の操作を行った場合、デプロイが失敗すると、いずれかのステップの問題によりファイルシステムは終了します。

暗号化されたファイルシステム

Amazon EFS は暗号化されたファイルシステムをサポートします。このトピックで説明されている storage-efs-createfilesystem.config 設定ファイルは、2 つのカスタムオプションを定義します。これらのオプションを使用して、Amazon EFS の暗号化ファイルシステムを作成できます。詳細については、設定ファイルの手順を参照してください。

サンプルアプリケーション

Elastic Beanstalk では、共有ストレージ用に Amazon EFS を使用するサンプルアプリケーションも提供しています。2 つのプロジェクトには、標準の WordPress または Drupal インストーラーとともに使用して、ロードバランシングされた環境でブログまたは他のコンテンツ管理システムを実行できる設定ファイルがあります。ユーザーが写真またはその他のメディアをアップロードすると、ファイルは Amazon EFS ファイルシステムに保存されます。これにより、Amazon S3 にアップロードされたファイルを保存するためにプラグインを使用する代替手段を使用する必要がなくなります。

  • ロードバランシングされた WordPress – これには、WordPress を安全にインストールし、ロードバランシングされた Elastic Beanstalk 環境で実行するための設定ファイルが含まれます。

  • ロードバランシングされた Drupal – これには、Drupal を安全にインストールし、ロードバランシングされた Elastic Beanstalk 環境で実行するための設定ファイルと手順が含まれます。

ファイルシステムのクリーンアップ

Elastic Beanstalk 環境の一部として構成ファイルを使用する Amazon EFS ファイルシステムを作成した場合、Elastic Beanstalk は、環境を終了するときにファイルシステムを削除します。実行中のアプリケーションのストレージコストを最小限に抑えるには、アプリケーションが必要としないファイルを定期的に削除します。または、アプリケーションコードがファイルのライフサイクルを正しく維持していることを確認します。

重要

Elastic Beanstalk 環境外で Amazon EFS ファイルシステムを作成し、環境のインスタンスにマウントした場合、環境を終了するときに Elastic Beanstalk はファイルシステムを削除しません。個人情報が保持されないようにし、ストレージコストを回避するためには、アプリケーションが保存したファイルが不要になった場合削除します。または、ファイルシステム全体を削除することもできます。