connection timed out

꾸준히 공부·2023년 3월 13일

특정 api를 이용해서 만든 이미지를 업로드해서 서비스를 운영하다가
갑자기 이미지가 생성안된다는 연락을 받고 로그를 보니
connection timed out이 발생하는걸 보았다.

httpUrlConnection으로 특정 api url에 접근하여 그 이미지를
s3에 올려서 사용하고 방식이었는데 잘 사용하다가
갑자기 에러가 발생하니 살짝 당황하였지만

로컬에서는 잘 되고, 개발이랑 운영 서버에서만 connection timed out이
발생하는걸 보고 로직상의 문제는 아닌걸로 판단,
AWS ec2 서버 아웃바운드 규칙은 딱히 막아놓은게 없는걸로 파악하고
있어서 이용중인 api쪽에서 혹시 우리 ec2 서버 ip를 차단한걸로 의심이
가서 ec2 서버 아이피를 확인해서 api에 문의를 한 결과
ip차단이 되었다고 답변이 와서 원인을 찾게 되었다.

이런 과정에서 ec2 서버 private ip와 public ip에 대해서
좀 더 자세히 공부하게 되었다.

private ip : 내부에서만 이용가능
public ip : 네트워크 외부와 통신하는데 사용되는 IP 주소

EC2 인스턴스가 private ip를 가지고 있지만 public ip가 없으면
private 서버가 외부와 통신할때는 NAT Gateway ip 주소를 사용하며
private subnet의 ec2에 public ip또는 elastic ip가 없으면
인터넷을 통해서 통신을 할 수 없음

즉 해당 api업체에 public ip를 알려줘야 한다는 것이며, aws에 대해서 좀 더 공부할 필요성을 느껴 조만간 유데미 aws 강의 하나 수강해야겠다.

profile
안녕하세요

0개의 댓글