使用しているAmazon EC2インスタンスにはEBSでバックアップされたルート デバイス ストレージがありますが、すべてのEC2 インスタンス タイプには、使用可能なEC2 インスタンス ストレージ(エフェメラル ストアとも呼ばれます) と、より小さなインスタンス タイプ (例: m1.small およびc1.medium) もデフォルトで取り付けられ、マウントされ/mnt
ています (大きいものはそうではありません!)。
注意すべきこのストレージ タイプの最も重要な特徴は、インスタンス ストア ボリューム上のデータは、関連付けられた Amazon EC2 インスタンスの存続期間中のみ保持されるということです。
このステートメントは、最近では少し誤解を招く可能性があります。これは、EBS でバックアップされたインスタンスの停止にも適用される (再起動ではありません) 場合に限られます。つまり、そのインスタンスを停止すると、マウントされた一時ボリューム/mnt
が切り離されて削除され、そこに保存されているすべてのデータが失われます。もちろん、スワップファイルを含みます。インスタンスを再起動すると、新しいエフェメラル ボリュームがアタッチされ、 にマウントされ/mnt
ます。
解決
何をしているかを正確に把握している場合は、 EC2インスタンス ストレージ (豊富で無料) を引き続き使用できます (以下の「背景」セクションを参照)。たとえば、キャッシュなどの需要。
もちろん、スワップ ファイルもこの要件に一致するため、質問で概説したコマンドを使用してスクリプトを作成し、インスタンスの開始時にそれを実行して、スワップ ファイルを再作成するだけです。ただし、インスタンスストレージは再起動後も存続するため、ガードを配置する必要があります。つまり、実際の停止/開始サイクルだけで、再起動時にスワップファイルを再作成する必要はなく、再作成する必要もありません。
バックグラウンド
Amazon EC2 が最初に導入されたときは、インスタンス ストレージが唯一のストレージ オプションでしたが、幸いなことに、日常的な使用に対する厳しい制限は、使用しているAmazon Elastic Block Store (EBS)によって改善されました。Eric Hammond は最近、Amazon EC2 で EBS ブート インスタンスを使用する必要がある理由について、まさにこのトピックに対処する優れた要約を提供しました。
Amazon EC2 を使い始めたばかりの場合は、EBS ブート インスタンスを使用して、この記事を読むのをやめてください。instance-store について聞いたことがあるということは忘れて、先ほど言及したことをお詫びします。EC2 での EBS ブート インスタンスの使用に完全に慣れたら、ここに戻って、適切な決定を下した理由を読みたいと思うかもしれません (またはしたくないかもしれません)。