約 70 GB の EBS gp3 SSD がマウントされた AWS EC2 インスタンスがあります。時々、この EBS に新しいファイルをコピーするために scp 命令を実行しますが、それ以外の時間は、インスタンスは EBS で読み取り操作のみを実行します。
このインスタンスはインターネットからリクエストを受け取り、リクエストごとに 2000 個のファイル (約 60 KB の 1000 個と約 414 KB の 1000 個) を読み取る必要があります。ここで、このインスタンスを自動スケーリング グループに含めることにします。この EBS で何をすればよいでしょうか? 私が読んだ限りでは、次のことができます。
- 作成されるたびに元の EBS をコピーする新しい EBS を使用して新しいインスタンスを作成します -> GB をコピーして IOPS を実行するため、最終的には EBS のコピーに $ + 時間がかかります。
- マルチアタッチ EBS を使用する -> ストレージのコストが高くなります (プロビジョニングされた GB であり、一般的なものではありません)
- EFS を使用します。速度は遅く、レイテンシは高くなります。EBS よりも価格は高くなりますが、複数作成すると安くなります。
- 障害を回避するために、min:1、max:1 の自動スケーリング グループを持つマイクロ インスタンスで NFS を使用し、EBS が作成されるたびにそれをアタッチします。
- GlusterFS を使用します。AWS では非常に高価だと思います。本当にそうでしょうか?
長期的には 100 GB を超える容量を共有することはないと思います。このシナリオでは、どのようなアプローチが最善だとお考えですか? 私は 5) を検討していましたが、コストを考慮して 4) を検討していました。
答え1
このシナリオでは通常、共有ネットワーク ストレージとして使用される EFS が使用されます。EFS のコストやパフォーマンスが問題になる場合は、マルチアタッチ EBS を使用することもできます。
1 / 4 / 5 は、私の意見では良い選択肢ではありません。サーバーではなくサービスを使用してください。