가입 후 첫 글이 질문글이 되었네요 ㅠ ELB를 통한 API…

가입 후 첫 글이 질문글이 되었네요 ㅠ

ELB를 통한 API 호출 테스트를 하고 있습니다.

EC2에 Elastic IP를 부여하고 호출을 하면(RDS(mysql)) DB커넥션이 정상적으로 처리되서 결과가 나오는데
EC2에서 Elastic IP를 뺀 후 그 위에 ELB를 붙이고 호출을 하면 아래와 같이
java.net.ConnectException: Connection timed out
이런 예외가 떨어집니다. ELB에 연결된 EC2에 어떤 조치가 필요할까요?

13 thoughts on “가입 후 첫 글이 질문글이 되었네요 ㅠ ELB를 통한 API…

  1. client-ELB 사이에서 연결이 안되는 건가요? 혹시 EC2의 security group에서 ELB로부터의 접속이 가능하도록 열려 있나요? client가 AWS 외부에 있는 경우, ELB는 외부에서의 연결이 가능하도록 security group 설정이 되어 있나요?

  2. ELB port forwad는 ELB설정에서 listeners 탭에서 설정합니다. 지금 상황이 어떤 상황인지 잘 모르겠지만 java.net.Connection 로 미루어봐서 tomcat 을 쓰신다고 가정하고 tomcat default port 인 8080 port 라고 가정한다면 elb 는 80 으로 받고 tomcat 이 listening 하고 있는 port 인 default 8080 으로 설정하시면 될 듯 합니다.

  3. elb를 거쳐야 되는 이유가 있나요? rds 면 종점간 자체 프로토콜을 쓸텐데 이게 elb에서도 지원하는 protocol인지 잘 모르겠습니다. 일단 elb에서 지원하는 프로토콜인지 확인하셔야 될 듯

  4. 잘 되는 구성은, local -> ec2(eip) -> RDS 인데, 위 구성으로 안되신다면, local -> elb 구간의 security group과, elb -> ec2의 health check (port forward, security group)를 확인해 보심이 좋을 듯 싶습니다. 위 자바 exception은 local(client)에서 발생하는 것이죠?

  5. 올리신 글의 정보가 너무 없어서.. local -> elb -> ec2 API호출 -> RDS 에서, 익셉션이 local이 아니고 ec2 에서 난다는거죠? ec2에 eip가 있을땐 rds 접속이 되는데, eip를 빼면 안된다고 했으니, ec2를 구축하신 환경이 vpc인 것 같고, rds는 다른 vpc에 있거나, 서브넷이 뭐가 안 맞거나, vpc안의 rds가 아닌 일반 rds인것 같네요.
    위에서 ec2가 vpc인지 아닌지가 없어서, vpc로 가정하고 말씀드리면, vpc에선 ec2에 기본적으로 private ip만 있고 외부 라우팅이 없어서 ec2에서 vpc 외부로 커넥션이 원래 안됩니다. 그걸 막으려고 vpc를 쓰는거니깐요. 다만, eip를 달면 ec2에 public ip를 다는것 자체가 외부와 직접 연결하려는 의도이기 때문에 외부 라우팅이 됩니다. eip를 연결하는것 말고도 vpc에서 외부로 연결하기 위한 방법이 몇가지 있습니다. http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-ip-addressing.html
    보통은, ec2가 vpc에 있을땐, RDS도 ec2랑 같은 vpc에 만듭니다. 그럼 security group과 Network ACL만 신경쓰면, 그 ec2와 rds 사이에는 접속에 문제가 없습니다. 그리고 그 RDS는 외부에선 바로 접속이 안되고 ec2를 통해서만 접속이 가능하기 때문에 좀 더 안전하다고 볼 수 있습니다. 원하는 답변인지 모르겠네요.

  6. 제가 봐도 SG 문제 같습니다 저도 같은 환경에서 이용 중입니다. AWS 에서의 SG에 대한 이해가 없다면 정말 어렵습니다, 생각했던대로 되지않구요.. 저도 LOCAL > ELB > EC2 2개 > RDS 이렇게 구성하고 있습니다. 여기서 EC2는 서로 다른 서브넷에 있구요.. (도쿄AZ A, B) VPC 환경이고 별 문제 없이 잘 되고 있습니다. RDS의 SG 인바운드를 Custom 으로 하시고 EC2에 적용한 SG로 설정하시면 됩니다

  7. 확인해보니까 EC2는 vpc안에 있는데 RDS가 vpc안에 없었네요. 다시 해보고 있습니다. 막히면 다시 질문 올릴께요. 감사합니다~

Comments are closed.