dms 2

[2/2] AWS DMS 마이그레이션 후, PostgreSQL 버전 차이로 인한 primary key constraint 버그 (DB 마이그레이션)

문제 상황 데이터가 정상적으로 마이그레이션됐는데 예약이 안 되는 버그가 발생했다. > eb logs --debug eb cli인 위 커맨드로 로그를 확인했다. 그리고 다음과 같은 SQL failed 에러를 발견했다. id가 default로 생성되지 않아서 생긴 500번 에러였다. 좀 이상했다 users.id는 원래 아래 TypeORM 데코레이터에 의해 Auto generated 돼야 하는데 말이다. @Entity({ name: 'users' }) export class User { @PrimaryGeneratedColumn('uuid') id: string; } 그래서 postico로 DDL을 찾아보기 시작했다. 그리고 머지않아 정답을 발견했다. Table DDL 관찰 원본 RDS의 Reservation..

AWS 2021.11.26

[1/2] AWS DMS를 사용하여 Heroku adds-on DB를 Beanstalk RDS로 migration하기 (DB 마이그레이션)

사용 동기 지난 2주 동안 Heroku 기반으로 돌아가는 서버를 AWS 인프라로 완전히 migration하기 위해 열심히 삽질을 하였다. 어떤 AWS 인프라를 사용하여 배포할지 자료도 많이 찾아봤는데, 그 중 고민됐던 서비스들은 ECS Fargate과 Elastic Beanstalk이었다. 최종적으로는 Elastic Beanstalk Node.js 플랫폼을 사용하여 배포하기로 하였다. 그 이유는 ECS Fargate와 Beanstalk(docker 플랫폼) 서비스들은 로컬에서는 분명 실행이되는데, Production 환경에서만 실행하면 컨테이너들끼리 depends_on이 잘 되지 않아 항상 Node.js 프로세스가 죽었다. 그래서 Docker를 프로덕션에서 사용하는 것은 조금 미루기로했다. 무튼 그래서 ..

AWS 2021.11.26