ファイルシステムの作成、マウントまで
紹介~わたしのEFSの使い方~
EFSはかなり好きなサービス。
3つのことで使っている。
①ALB+EFSでメール機能を冗長化
EFSはメールボックスを共有化するのに使っている。
マスタースレーブサーバのどちらが落ちてもメール送受信を継続できる。
②WordPress冗長化
ドキュメントルートを共有化するのに使っている。
ただし、普通に使っては遅すぎる。
CloudFrontやOPcacheで早くした。
③マスタースレーブサーバ間のデータやり取り
地味に役に立っている。
ファイルやディレクトリ置くだけで簡単に共有できるのでありがたい。
rsyncは苦手だし、ftpは面倒くさい。
使い方紹介ついでにファイルシステムを作成、使えるようにするまでの手順も紹介しておきます。
作業記録~ファイルシステムの作成~
ここではファイルシステムを作成し、マウントするところまでを記載しておく。
ファイルシステムへのアクセス
VPC:任意
アベイラビリティーゾーン | サブネット | IPアドレス | セキュリティグループ |
---|---|---|---|
ap-northeast-1a | public-a | 自動 | default |
ap-northeast-1c | public-c | 自動 | default |
ap-northeast-1d | public-d | 自動 | default |
オプション設定
項目 | 設定 | 解説 |
---|---|---|
タグ | 追加されたタグはありません | タグをつけるかは好みかと。 |
パフォーマンスモード | 汎用 | パフォーマンスモードは汎用でいいだろう。「汎用パフォーマンスモードは、1 秒あたり 7,000 回のファイルシステムオペレーションに制限されています。たいていの一般的なユースケースでは、この制限でも十分です。」とのことなので。 |
スループットモード | バースト | プロビジョニングで速度上げることできるようだがお金がかなりかかる。 |
暗号化 | なし | 暗号化に関してはまた後日調べよう。セキュリティ要件を満たす場合などは暗号化する必要あるようだ。 |
ライフサイクルポリシー | なし | 低頻度アクセスとみなす日数を指定して、その期間アクセスしなかったらEFS IAにファイルが移行する。料金が割安になるようだ。ただし、EFS IA に移行されたファイルへのアクセスは、別途、低頻度アクセスリクエスト料金がかかるとのこと。 |
アクセスポイントの数 | 0 | EFS ファイルシステム内の共有データセットへアプリケーションアクセスを提供する作業を簡素化する新しい EFS 機能。 |
ファイルシステムポリシー | なし | ファイルシステムへの API アクセスおよび NFS クライアントアクセスを制御できるようだ。デフォルトでルートアクセスを無効にする *デフォルトで読み取り専用アクセスを強制する *すべてのクライアントに対して転送時の暗号化を強制する の3つがチェックボックスで指定できるがどれも不要。JSONで更に複雑なポリシーも設定できるようだ。 |
https://aws.amazon.com/jp/getting-started/tutorials/create-network-file-system/AWS
AWSチュートリアルに従って作成しています。
作業記録~ファイルシステムのマウント~
https://docs.aws.amazon.com/ja_jp/efs/latest/ug/installing-other-distro.html
amazon-efs-utilsをCentOS7で使えるようにするコマンド。
AmazonLinux2とかだったらもっと簡単なのだが。
sudo yum -y install git git clone https://github.com/aws/efs-utils sudo yum -y install make sudo yum -y install rpm-build sudo make rpm sudo yum -y install ./build/amazon-efs-utils*rpm
手動マウント、自動マウント設定。
sudo mkdir /efs sudo mount -t efs fs-********:/ /efs df -h ----- Filesystem Size Used Avail Use% Mounted on devtmpfs 880M 0 880M 0% /dev tmpfs 903M 0 903M 0% /dev/shm tmpfs 903M 17M 887M 2% /run tmpfs 903M 0 903M 0% /sys/fs/cgroup /dev/nvme0n1p1 8.0G 1.1G 7.0G 13% / tmpfs 181M 0 181M 0% /run/user/1000 fs-********.efs.ap-northeast-1.amazonaws.com:/ 8.0E 122M 8.0E 1% /efs ----- vi /etc/fstab ----- : fs-********.efs.ap-northeast-1.amazonaws.com:/ /efs efs defaults,_netdev 0 0 : ----- sudo mount -a
これをマスタースレーブサーバで実施、EFSでのファイル共有が可能になりました。