s3fsからEFSに切り替えを行いました
というところで、長期的な対応はどうするかなと思って調べていたら、『無理してs3fsとか使わなくてもEFSってAWSのサービスがあるからそっち使えば?』みたいな記事を発見しました。
なんと。。。
ということでこれが使えるか調査。
普通にマウントできますね。
しかも同じVPCからのアクセスに絞れたりするので安心な面も
デメリットとしては、s3より料金が高いことのようです。
2020/02/07時点 アジアパシフィック東京
標準ストレージクラス 0.36USD/GB 月額
低頻度アクセスストレージ 0.072USD/GB 月額
低頻度アクセスリクエスト 0.012USD 転送GB
プロビジョニングスループット 7.2USD MB/秒 月額
アクセス数と容量を加味した料金比較(ミニマム版)
S3は
最初の50TB 0.025USD/GB 月額
ファイル転送を考慮せずあくまでアクセスに絞るとGETのみとし
GET・SELECT、他の全てのリクエスト
1000リクエストあたり 0.00037USD
インターネット転送が 9.999TB以内程度と想定して 0.114USD/GB 月額
が計算するに、ストレージ料金は確かにS3の方が格段に安いですが、リクエスト数と転送量を加味するとEFSの方が安いのでは?っと思ってしまいました。
多分、参考にしたサイトがストレージ料金でしたみていなかったのかもしれませんし、私の扱っているシステムが要領の観点で少ないからだと思います。
それぞれの用途により金額は変わるのでシミュレーションをしてどちらをどのように使うかを決めればいいと思います。
EFSを作成していきます。
新規作成
まずはEFSのメニューから【ファイルシステムの作成】を選択します。
ネットワークアクセスを設定
次にネットワークアクセスを設定します。特に新規でお試しなどであれば初めから選択されているデフォルトでいいかと思います。
今回は既存システムで作成されたVPCでしたので、それを選択しました。(キャプチャはデフォルト選択ですが。)
マウントターゲットの作成は、デフォルトを選択していればそのままでいいと思います。
実際の作成時はVPCを切り替えたのでアベイラビリティーゾーンや自動でサブネットが切り替わります。セキュリティーグループは既存でマッチするグループがあればそれを、なければデフォルトで作成するのでそのままでいいと思います。
ファイルシステムの作成
次にファイルシステムの設定を行います。
タグについてはご自由にって感じです。私はプロジェクトと環境用途を基本的には設定しています。
ありにすると、一定期間アクセスのないファイルについて自動でて低頻度アクセスのストレージに移動するようになります。無しにするとスタンダードストレージクラスを使います。低頻度アクセスストレージクラス(IAストレージクラス)は何が違うかというと、先頭バイトのレイテンシーが長い点です。(レイテンシーとは要求に対するレスポンス)
まぁそんなにアクセスされないなら重要度の低いページや素材ということで私はありに設定しました。
IAストレージクラスの方がコストは安くなります。
バーストスループットとプロビジョニングスループットがあり、バーストスループットはスタンダードストレージクラス容量により上昇する。一定期間ないのスループットレベルのバーストが許可されている。一方プロビジョニングモードはバーストスループットで許容している以上の用件の場合に使用するらしいです。
とりあえず、バーストスループットモードを使って消費クレジットを確認して様子を見ればいいとお思います。
これは汎用を選択、最大I/Oは結構なアクセスのシステムに向いているみたいです。
これも汎用を選んで運用でチェックしながらですね。
その名の通り暗号化です。
ファイルシステムのデータを暗号化します。
今回はパブリックなデータでしたのでチェックはしませんでした。
クライアントアクセスを設定
次にクライアントアクセスを設定しますが、S3のバケットアクセスのようなコントロールができるらしいのですが、今回はノーチェックで進めます。
これで確認画面で【ファイルシステムの作成】を押せば完了ですが、これはEFSの作成までになりEC2のディレクトリにマウントするには一つやらなければいけないことがありました。
こちらが、今作成したファイルシステムを一覧からみて詳細のマウントターゲットですが、さっき作成したセキュリティーグループが紐づいてます。
このセキュリティーグループにマウントしたいEC2のインスタンスに設定しているセキュリティグループを設定する必要がありました。
EC2のメニューから、ネットワーク&セキュリティにあるセキュリティグループを選択します。
そして先ほどのマウントターゲットのセキュリティーグループIDで検索して、インバウンドにEC2に設定しているセキュリティグループを設定します。
下段のNFS TCP 2049 ソース(EC2のセキュリティグループ)
そうしたら、EC2インスタンスにログインしてからのディレクトリを作成。
あとは簡単です。EFSの対象ファイルシステムを選択して詳細にあるこちらからAmazon EC2のマウント手順(ローカルVPCから)をクリックします。
私はEFSマウントヘルパーをインストースしましたのでマウントは以下のコマンドでできました。
sudo mount -t efs fs-000000:/ mount_dir
これでマウントできました。
次はインスタンスリスタートでも自動でマウントされているように設定したいと思います。
コメント
コメントを投稿