[AI 서비스 개발] AWS에 DB 생성하기 - Docker volumes, AWS RDS
1. AWS EC2에 백엔드+DB 함께 생성하기
- docker-compose 재 실행시, db의 데이터가 모두 사라지지 않을까? => docker의 volumes을 사용하면 된다.
- volumes 설정시, db 컨테이너가 종료되더라도, 데이터는 볼륨에 저장되어 그대로 유지된다.
- `docker-compose up --force-recreate`를 실행하면 기존 컨테이너를 강제 삭제하고 다시 생성하므로, DB가 초기화 될 가능성이 있지만, 아래 명령어를 사용하면 DB 컨테이너는 유지된 채 백엔드만 갱신할 수 있다.
docker-compose up -d --build backend
2. AWS RDS에 DB 생성하기
- AWS에서 자동 백업, 복원 기능을 제공해 DB가 삭제되거나 장애가 발생해도 복구 가능
- EC2에서 DB 생성시, 서버 리소스를 직접 모니터링하고 조절해야함
- RDS는 자동으로 읽기/쓰기 부하를 최적화하고 필요시 확장 가능
- EC2에서 DB 생성시, 네트워크 방화벽, SSH 보안, IAM 설정을 직접 해야 함
https://ap-northeast-2.console.aws.amazon.com/rds/home?region=ap-northeast-2#launch-dbinstance:
https://ap-northeast-2.console.aws.amazon.com/rds/home?region=ap-northeast-2#launch-dbinstance:
ap-northeast-2.console.aws.amazon.com
- AWS 콘솔에서 RDS 검색 > 데이터베이스 생성 > MySQL 선택 > MySQL 8.4.3 > 프리티어 선택 (1년 무료, 일정 용량 이하) > DB 이름 생성 > 마스터 사용자 id, pw 설정 > 인스턴스 구성(db.t4g.micro) > 스토리지 (범용 SSD(gp3) > 퍼블릭 액세스 (예) > 보안그룹 생성 > 데이터 베이스 생성
* 위에 세부 설정들은 DB 생성 후 수정도 가능!