
마이크로소프트에서 만든 클라우드 컴퓨팅 플랫폼 및 인프라스트럭처 서비스 Azure를 이용해 배포를 하는 과정에서 위와 같은 오류가 발생했다.
배포하기 전에는 이런 오류가 발생하지 않았는데 글을 읽어보니 자세한건 ASPNETCORE_ENVIRONMENT 환경변수를 Development로 바꿔주라고한다.

ASPNETCORE_ENVIRONMENT 환경변수는 따로 설정하지 않으면 디폴트값이 Production이라고 한다. 그래서 Azure에 들어가 ASPNETCORE_ENVIRONMENT 환경변수를 Development로 설정해주었다.
그리고 다시 게시를 한 결과

SQL Server와의 연결에 문제가 있다고한다.
이 오류를 해결하기 위해선
SQL Server Express가 올바르게 설치되어 있는가?
로컬 데이터베이스 런타임 기능이 활성화되어 있는가?
SQL Server가 원격 연결을 허용하도록 구성되어있는가? 를 확인해야한다고한다.
나같은 경우는 단순히 데이터베이스를 연결하지 않아 문제가 발생하였다.
따라서 이 문제를 해결하기 위해선

서비스 종속성에 있는 데이터베이스를 연결해주어야한다. 나같은 경우에는 온-프레미스 방식대신 클라우드 방식을 선택하여 Azrue sql database로 데이터베이스를 연결해주었다.
데이터베이스를 연결하고 다시 게시를 한 결과

역시 IaaS 방식으로 배포하는것은 쉽지 않다.
이 오류는 Azure SQL Database에 대한 공개 네트워크 액세스가 거부되어 있기 때문에 발생한다. 이는 일반적으로 보안을 강화하기 위해 설정되는 것이다. 오류 해결을 위해서는 가상 네트워크 내부에서 Private Endpoint를 사용하여 서버에 연결해야하거나 공용 네트워크 엑세스 설정을 변경해야한다.
그래서


공용 네트워크 엑세스 규칙을 IPv4의 모든 IP주소가 접근 가능하도록 설정하고 다시 게시를 했다.
그 결과..

하..
이번엔 APODModel을 찾을 수 없다고한다.,
내 추측상 Azrue SQL Database 내에서 데이터베이스가 마이그레이션되지 않아 발생한 문제인것 같다.
그래서 appsettings.json 파일의 APODContext를

로 바꾸고 Add-Migration Azure 명령어를 입력하고 Update-database를 입력한 후 다시 게시를 한 결과

으어어ㅏㅇ어ㅓㅏ어어ㅏ아아어ㅏㅇ아ㅓㅇ어어ㅏ어ㅏ어ㅏㅇ
드디어 드디어 모든 오류를 잡아내고 배포를 성공시켰다. 후ㅜ....
장장 12시간에 걸쳐 드디어 오류를 해결해낸 것이다.
역시 광기의 매드프로그래머 김동현이다.