まず、Apache、PHP、および Web アプリケーションをインストールできる仮想マシンを作成するには、EC2 サービスが必要です。
次に、メディア ファイル用のデータベース サーバーとデータ リポジトリも必要です。推奨される方法は、まさにあなたが提案したとおりです。RDS for MySQL と CloudFront をファイル リポジトリとして使用します。
当初、上記のサービス (RDS、CloudFront、さらには EBS) は利用できませんでした。開発者は、MySQL データベースを使用する方法がありません。EC2 インスタンスにインストールされたとしても、インスタンスが稼働し続けることが保証されておらず、インスタンスが失われるとデータも失われるためです。このため、EBS が導入されました。EC2 インスタンスからアクセスできる永続性が保証されたマウントされたストレージを作成しました。理論的には、そこに MySQL をインストールし、それを使用してフラッシュ ファイルを保存することができます。HTTP プロトコルを介してファイルを提供するだけの場合は、EBS を使用しても問題ありません。
ただし、CloudFront にはいくつかの利点があります。
- ユーザーは、最も近いエッジ ロケーションに自動的にルーティングされ、コンテンツを高パフォーマンスで配信します。
- また、RTMP プロトコルを介してコンテンツをストリーミングするためにも使用できます。
- ストレージのサイズを心配する必要はありません。EBS では、特定のサイズのストレージを作成します。これは、後でさらにストレージが必要であることがわかった場合に問題になる可能性があります。CloudFront を使用すると、ファイルは S3 にインストールされるため、ファイルのサイズを気にする必要はありません。
- Web サーバーの容量を無駄にしません。EBS を使用する場合、ファイルは EC2 のサーバーによって提供されます。
S3 を使用することもできますが、RTMP プロトコルを使用することはできず、ファイルへのリンクを手動で作成する必要があります。また、ファイルにドメイン名を使用することはできません。
RDS には、MySQL を EC2、EBS にインストールするよりもいくつかの利点があります。
- 自動データベース バックアップ
- Amazon CloudWatch (無料サービス) でデータベースを監視できます