2017-12-07 6 views
1

데이터베이스에 연결할 수없는 Elastic Beanstalk 응용 프로그램을 가지고 있지만 실행중인 서버에서 데이터베이스에 연결할 수 있습니다.탄성 Beanstalk 응용 프로그램은 데이터베이스에 연결할 수 있지만 서버에 연결할 수 없음

탄력적 인 beanstalk 응용 프로그램을 배포하려고하면 데이터베이스 오류 Access Denied이 발생합니다 (배포 프로세스는 마이그레이션을 실행하기 위해 데이터베이스에 연결해야합니다.) 데이터베이스가 RDS에 있습니다. 데이터베이스를 환경에 구성 할 수 있습니다. 환경 서버가 RDS에 연결할 수 있도록 보안 그룹을 설정했습니다. 서버로 ssh 연결할 때 데이터베이스 터미널을 통해 데이터베이스에 데이터베이스 연결을 열 수 있습니다. 무엇이 잘못 되었습니까?

답변

1

문제는 데이터베이스 암호에 영숫자가 아닌 문자입니다.이 경우 특정 범인은 "$"입니다. 데이터베이스 암호를 영숫자로 변경하면 해결됩니다.

탄성 beanstalk 환경 변수는 생성하는 쉘 스크립트를 통해 응용 프로그램에 전달됩니다. 암호에 달러 기호가 있으면 Linux는이 암호를 암호에 포함 된 쉘 변수로 해석하고 암호의 달러 기호 뒤에 아무 것도 무시합니다.