2013-07-31 2 views
1

AppHarbor에 Amazon의 RDS에서 호스팅되는 MySql 데이터베이스에 연결하는 두 명의 작업자 (웹 및 백그라운드)가있는 앱이 있습니다.AppHarbor 및 AWS RDS 얻기 좋은 결과를 얻으려는 MySQL

"지정된 MySQL 호스트에 연결할 수 없습니다." 예외.

미국 - 동부 지역의 RDS 인스턴스와 보안 그룹에 다음 AppHarbor CIDR을 추가했습니다. 50.17.211.192/28

  • 54.235.159.192/27
  • 나는 보안 그룹에 내 자신의 CIDR을 추가 한 내가 잘 인스턴스에 연결

    • . 그러나 앱이 AppHarbor에서 실행될 때 실패합니다.

      내 연결 문자열 (검열)입니다 :

      서버 = myinstanceXXXX.cykjvptrw5xs.us-east-1.rds.amazonaws.com; 데이터베이스 =하여 MyDatabase; UID = XXXXXX; PWD = XXXXX;

      서버 종단점에 포트 3306을 포함 시키려고했지만 아무런 차이가 없었습니다.

      두 사람이 서로 즐겁게 놀기 위해 뭔가가 빠졌습니까?

    답변

    1

    기본적으로 AppHarbor은 Amazon의 내부 DNS 서비스를 사용하여 호스트 이름을 확인합니다. AppHarbor과 같은 지역에있는 Amazon RDS 인스턴스는 기술 자료 문서에 나열된 공용 IP 주소가 아닌 개인 IP 주소를 확인하므로 공개 IP를 기반으로 규칙을 설정하는 것이 대부분의 경우 작동하지 않습니다.

    아마존의 DNS 서비스를 사용할 수 없게 된 경우 우리는 외부 DNS 서비스로 장애 조치합니다. 즉, 외부 DNS 서비스가 공개 IP를 해결할 때 여전히 높은 가용성을 위해 외부 IP를 구성해야합니다. 이 방법을 사용하면 응용 프로그램이 DNS 오류에 대해 복원력이 있는지 확인할 수 있습니다.

    RDS 보안 그룹에 대한 보안 그룹 기반 액세스 규칙을 설정할 수 있습니다. this knowledge base article은 Amazon RDS 전용 섹션으로 업데이트되었으며이를 설정하는 데 필요한 정보를 찾을 수 있습니다.

    관련 문제