私は Linux 管理者で、AWS には多少の知識があります。あるチームの Discourse の導入(t2.micro フリーティア対象インスタンス)を手伝うよう依頼されました。完了後、チームからコミュニティへの貢献として私の手法をここに投稿するよう求められました。
t2.micro はストレージが 8GB しかなく、少し工夫が必要でした。動作中の Discourse 環境を調べてみると、最終的には /var/discourse が最も大きくなるだろうと考えましたが、インストール中は /var/lib/docker が問題になることが分かりました。
インスタンスを起動した後(本投稿の範囲外です。詳細は https://docs.aws.amazon.com/quickstarts/latest/vmlaunch/step-1-launch-instance.html を参照)、ボリューム(Elastic Block Store、EBS ボリューム)を作成し、作成したインスタンスにアタッチする必要がありました。ここでは約 32GB の一般 EBS ボリュームを作成し、アタッチして /media/store にマウントしました(/opt など他のパスでも問題ありません)。
そこから、/media/store/discourse と /media/store/docker を作成し、ファイルシステム上の適切な場所に配置するのは簡単な作業でした。
/var/discourse に対しては /media/store/discourse をシンボリックリンクとして使用しましたが、インストーラーはそれで問題ありませんでした。一方、docker についてはバインドマウントを使用する必要がありました(/etc/fstab に追加し、/var/lib/docker を作成してマウントしました)。
/media/store/docker /var/lib/docker none bind 0 0
メール設定(AWS SES を使用する予定)は現在作業中ですが、t2.micro インスタンスでインストーラーを実行するにはこのようにしました。32GB の EBS ボリュームの費用は月額約 3 ドルです。