LoginSignup
3
2

More than 5 years have passed since last update.

Amazon EFSをElastic Beanstalkからお手軽にマウントする

Last updated at Posted at 2018-08-26

はじめに

Amazon EFSでElastic Beanstalkを利用する方法は公式ドキュメントにも書いてあります。
https://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/services-efs.html

ですが、ファイルシステムを作るところからEBでやろうとしているので、無駄に複雑な感じになっています(複雑になっているのは、amazon-efs-utilsを使っていないというのも一因ですが)。

わざわざEFSを使おうとしているということは、基本的には複数のインスタンスからマウントすることを想定しているので、まずはEFSの管理画面からファイルシステムを作ってからEC2インスタンスを立ち上げようとするのが普通じゃないのかなぁと思うのです。

設定ファイル

ということで、ここでは既にEFSのファイルシステムが作成されていて、そのファイルシステムIDが環境変数(EFS_ID)にセットされていることを前提としたconfigを書いてみました。EFSを /mount/nfs にマウントしています。

こんな感じで、とりあえずうまくいきました。

.ebextensions/00_nfs.config
packages:
    yum:
        amazon-efs-utils: []

container_commands:
    mount_nfs:
        command: |
            mountpoint -q /mnt/efs
            if [ $? -ne 0 ]; then
                mkdir -p /mnt/efs
                mount -t efs "$EFS_ID":/ /mnt/efs
            fi

commandsの実行タイミングでは環境変数が取得出来ないので、container_commandsで設定しています。

3
2
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2