とあるWebアプリケーションのスクラッチ開発で、インフラを全面的に任せて頂く機会がありました。
開発環境の構築手順書を兼ねて執筆します。
ボリュームが大きくなるので、複数記事に分けて執筆します。
プロジェクト名やIPアドレスなど、所々ブラックアウトさせている箇所があります。
適宜ご自身のプロジェクトの内容に読み替えてください。
本番環境の構成図
- 現状、アクセス数が多くなることを想定していない&費用を抑えるためにEC2は1台
- 将来的なEC2の追加可能性と、SSL/TLSサーバー証明書の必要性からELB(ALB)を採用
- 開発環境ではDBのレプリカを作成しない
環境
-
フロントエンド
Node 18.20.2
React 18.3.1 -
バックエンド
Python 3.12.3
Django 5.0.4 -
DB
PostgreSQL 16.3 -
Webサーバー
Nginx 1.24.0 -
OS
Amazon Linux 2023
※DB以外はこのインスタンス上に構築
前提
ローカル環境が既に存在していたので、EC2インスタンスの構築はDockerfileに極力合わせ、かつPythonとReactのソースコードがgitに存在している前提で構築を進めています。
あくまでインフラ作業を担当しているので、プログラミングに関する内容はノータッチです。