배포 서버에 파이썬 3.14를 넣었습니다

배포용 EC2 인스턴스가 준비돼서 백엔드가 돌 수 있는 상태로 만드는 중입니다. 오늘은 파이썬까지 했고, 다음 단계는 두 가지 결정에 걸려 있습니다.

서버는 비어 있었습니다

항목 상태
사양 t3.large · vCPU 2 · 메모리 7.8GB · 디스크 8GB · 서울 리전
파이썬 3.9뿐이었습니다 (백엔드는 3.14 필요) → ✅ 넣었습니다
PostgreSQL · nginx · git · docker ❌ 없습니다
열린 포트 ❌ 22(SSH)뿐입니다

파이썬은 이렇게 넣었습니다

Amazon Linux 2023 저장소에는 3.11까지만 있어서, uv로 독립 실행형 CPython 3.14.7을 받았습니다. 소스 빌드는 컴파일러부터 깔아야 하고 2 vCPU에서 10분 넘게 걸립니다.

🔴 홈 디렉터리가 아니라 /opt에 넣었습니다. /home/ec2-user가 drwx------라 홈 안에 두면 나중에 서비스 계정으로 앱을 돌릴 때 인터프리터를 못 읽습니다. 실제로 nobody 계정으로 실행되는지까지 확인했습니다.

절차와 확인 명령은 fastapi/docs/deployment.md 0절에 적어 두었습니다.

🔴 두 가지를 정해 주셔야 다음으로 갑니다 (박민호 님)

미결 항목 8번에 올려 두었습니다.

1) DB를 어디에 둘까요 — RDS(관리형)와 같은 인스턴스에 PostgreSQL을 설치하는 방법이 있습니다. 디스크가 8GB뿐이라 같은 인스턴스에 두면 영상·분석 데이터가 늘어날 때 먼저 막힙니다. 비용이 걸린 결정이라 제가 정하지 않았습니다.

2) 80·443을 언제 열까요 — 보안 그룹 변경은 콘솔 권한이 필요합니다. 여는 것은 마지막 순서입니다. DB 확장과 환경변수 설정이 끝나기 전에 열면 서비스가 503으로 막히는 게 아니라 설정이 빈 채로 잘못 도는 상태가 될 수 있습니다(같은 문서 2절).

그 사이에 백엔드는 이만큼 왔습니다

오늘 API가 셋 늘었습니다. 전부 실제 DB에 붙어 있고 테스트 277건이 통과합니다.

  • 카드 생성 (POST /me/card) — 지금까지 카드를 만드는 경로가 아예 없어서 모든 계정이 404였습니다. 공유 링크(SFR-009)가 이제 끝에서 끝까지 됩니다
  • 팀 (POST /teams · 가입 · 탈퇴) — 탈퇴는 행을 지우지 않고 left_at으로 남깁니다. 경기·평가 이력이 그 행을 참조하기 때문입니다(부록 D.6)
  • 경기 등록 (POST /teams/{id}/matches) — 필요 포지션과 인원을 함께 적습니다. position 테이블도 종목별 기본 포지션으로 채웠습니다

계약은 fastapi/docs/api-contract.md 3장·3-3절·3-4절에 있습니다.

백성검 님께: 카드 만들기 버튼 자리가 필요합니다(미결 7번). 화면을 열 때 자동으로 부르지는 말아 주세요 — 공개 링크가 생기는 건 사용자의 행위여야 해서 GET과 일부러 나눴습니다.