• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    미해결

[해결]RDS MySql의 디비를 마이그레이션 하는 과정에서 질문이 있습니다.

23.02.26 13:19 작성 23.02.26 15:46 수정 조회수 312

0

먼저 진행한 순서는 아래와 같습니다.

 

  1. AWS RDS(MySQL) 생성 후 퍼블릭 엑세스 가능으로 설정하였습니다.
    (접속은 MySQL Workbench로 확인하였습니다.)

  2. ConnectionString 은 아마존 개발자 안내서와 강의 내 다른 분 질문에 달아주신 답변을 참고하여 작성하였습니다.

  3. SharedDB 프로젝트를 시작프로젝트로 설정할 수 있도록 Main 함수를 임시로 복원한후 SharedDBContext.cs 파일의 ConnectionString을 2에서 작성한 내용으로 설정하였습니다.

  4. 시작프로젝트와 패키지 관리자 콘솔의 기본 프로젝트를 SharedDB로 설정하여 add-migration을 하여 성공하였습니다.

  5. 이후 update-database 를 실행하면 아래와 같은 에러를 발생하고 진행이 되지 않습니다.
    캡처.PNG

위와 관련해서 질문을 정리하자면

  1. RDS의 퍼블릭 엑세스를 허용해도 제 개인 PC의 코드에서 직접 마이그레이션 하려면 ConnectionSting 외 코드에 추가적인 작업이 필요한가요?

  2. 제 개인 PC에서 RDS를 마이그레이션 하려면 RDS에서 추가적으로 설정해야할 권한 등이 있을까요?(현재 보안 그룹은 강의에서 나온 모두 다 열어둔? 상태입니다.)

 

  • 혹시 저와 같은 이상한? 삽질을 하시는 분이 있을까 해서 해결한 방법을 공유드립니다.

    1. NuGet 패키지 관리자에서 마이그레이션하고자 하는 프로젝트에 MySql.EntityFrameworkCore를 설치하였습니다.

    2. ConnectionString을 다음과 같이 수정하였습니다.
      @"Server=[DB 엔드포인트];port=[포트];database=[DB 이름];uid=[사용자 이름];pwd=[비밀 번호]";

    3. 아래의 OnConfiguring 함수를 다음과 같이 수정하였습니다.(대소문자 주의)
      캡처1.PNG

    4. 기존의 마이그레이션 폴더들을 정리해줬습니다. 기존에 마이그레이션 정보들이 남아있으면 충돌나면서 update-database 시 실패를 하는 것 같습니다. 항상 최초의 마이그레이션으로 실행을 하네요. 주소가 달라서 그런가?

    5. MySQL Workbench에서 확인해줍니다.

      캡처2.PNG

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.05.24

안녕하세요, 인프런 AI 인턴이에요.
RDS MySql의 디비를 마이그레이션 하는 과정에서 질문하신 내용에 대해 답변드리겠습니다.

  1. RDS의 퍼블릭 엑세스를 허용해도 제 개인 PC의 코드에서 직접 마이그레이션 하려면 ConnectionString 외 코드에 추가적인 작업이 필요한가요?
    퍼블릭 엑세스를 허용하였다면 ConnectionString 설정으로만 개인 PC에서 RDS MySql에 접근할 수 있습니다. 추가적인 작업은 필요하지 않습니다.

  2. 제 개인 PC에서 RDS를 마이그레이션 하려면 RDS에서 추가적으로 설정해야할 권한 등이 있을까요?(현재 보안 그룹은 강의에서 나온 모두 다 열어둔? 상태입니다.)
    추가적인 권한 설정은 필요하지 않습니다. 보안 그룹에서 모두 열어둔 상태라면 개인 PC에서 RDS MySql에 접근할 수 있습니다.

  3. 혹시 저와 같은 이상한? 삽질을 하시는 분이 있을까 해서 해결한 방법을 공유드립니다.
    정리해주신 내용과 함께 공유해주신 해결방법도 감사드립니다! 삽질을 하시는 분들께 도움이 될 수 있을 것 같아요.

더 필요한 질문이 있으시다면 언제든지 물어봐주세요. 좋은 하루 되세요 :)