そのため、複数のEC2インスタンスが同じファイルで動作できるようにDropboxのようなシステムを作成しようとしています。私は実際にファイルを自分で変更するプログラムを書いていますが、それを回避するように設計しているので、同時変更エラーの問題については心配していません。今、私がこのようなことをするために見つけることができた最も近いものは、天からの太陽の光のように見えるNFSを使用することでした。 (そして、それもそれほど複雑に見えませんでした!)さて、私はほとんどすべてをセットアップしました、そしてそれから私はレンガの壁の中で真っ先に走りました。私は次のチュートリアルに従っています: http://hunterford.me/Amazon-ec2-and-nfs/
私が違うことをした唯一のことは、この行を置き換えることでした:
/var/www/test ec2-180-71-131-129.compute-1.amazonaws.com(rw,async)
この行で:
/home/ec2-user/Players *(rw,async)
最初に変更したのは、共有したいファイルをそこに置きたかったからです。そこに何を入れるべきかわからなかったので、2番目の部分を変更しました。彼はワイルドカードを入れることができると言っていました。 (私はあなた方全員が今しがみついていることを知っています、私もそうでした)私はエラーを受け取らなかったので、私はそれで行きました。他のすべては順調に進み、リストされているすべてのポートを開いた状態でセキュリティグループを設定しました。
他のマシンにファイルをマウントしようとしたとき:
mount -t nfs {MY_FIRST_MACHINES_DNS_HERE}:/home/ec2-user/Players /home-ec2-user/Players
さて、最初はしばらくそこに座って、私をまばたきしました。最終的にはタイムアウトになりました。誰かが私が間違ったことを見ますか?率直に言って、NFSに関しては自分が何をしているのかわからないので、何でもかまいません。 t1.microインスタンスで、16GBの汎用SSDストレージを備えた標準(無料利用枠)のAmazon LinuxAMIを使用しています。
2017年の時点で、これを行う最も簡単な方法は AWS Elastic File System(EFS) であり、これはNFSv4.1と互換性があります。あなた pay 保存されたGBあたり$ 0.30から$ 0.36で、ディスクの事前割り当てはありません。したがって、ファイルを削除すると、すぐに支払う金額が少なくなります。すべての地域で利用できるわけではありません。
レイテンシーは明らかにEBSよりも高いため、Webホスティングなどの一部のユースケースで測定可能なレイテンシーを追加できます。スループットは非常に優れていることを意味します。 AWSは改善に取り組んでいると思います。パフォーマンステストは、ニーズを満たしていることを確認するために提案されています。
Mountコマンドのnfsをnfs4に変更してみてください。 NFS v3以前は、正しく機能するために多くのデーモンとポートマッピングに依存しています。 NFSv4には、nfsdとポート2049/tcpが必要です。
*については、クライアントインスタンスのIPアドレスに置き換えるだけです。 1つ以上ある場合は、次のように追加します。
/ mount/point ip1(options1)ip2(options2).。
EFSを使用する場合、スループットはEFSボリュームの全体的なサイズに基づいており、バーストクレジットが割り当てられていることに注意してください。それらで使用しているのと同じリソース割り当てモデルであると考えてくださいt1
またはt2
EC2インスタンス-インスタンスの支払いが少なくなり、バースト使用量の割り当てが得られます。これらのクレジットが不足すると、リソースの優先度が低くなります。 t2インスタンスの「感じ」が遅くなり、EFSファイル転送の開始と終了に時間がかかります。
これがEC2で発生した場合、インスタンスフレーバーを基本的に文字t
で始まらないものに上げることができます。
EFSでは、この記事の執筆時点では、ファイルシステムのサイズを大きくすることが唯一の選択肢のようです。
パフォーマンスが可用性や冗長性ほど重要ではない場合でも、EFSが適している可能性があります。疑問がある場合は、いくつかのテストを実行してください。
この記事の執筆時点では、EFSはファイルシステムあたりTB(または端数)あたり50MB /秒で、クレジットがある限り100MB /秒にバーストします。スループットはそのEFSファイルシステムにアクセスするすべてのインスタンス。1TBのファイルシステムにアクセスする10個のインスタンス?それぞれ5〜10MB /秒。
参照:
Amazon EFS FAQ (「各ファイルシステムがサポートできるスループットはどれくらいですか?」に関する質問を参照): EFSでリポジトリをホストすることに関するGitLabのアドバイス (tl; dr- "しないでください。 ")