Go, Vantage point
가까운 곳을 걷지 않고 서는 먼 곳을 갈 수 없다.
Github | https://github.com/overnew/
Blog | https://everenew.tistory.com/
티스토리 뷰
aws의 ALB(애플리케이션 로드밸런서)를 생성하다보면 스키마(체계)를 선택할 때가 있다.
선택에 따라 internal load balancer 혹은 internet-facing load balancer로 생성이 되고, 생성 후에는 변경할 수 없다.
두 종류는 완전히 다르기 때문에, 원하는 방식에 따라 선택해 주어야 한다.
internet-facing
internet-facing Load Balancer는 (LB의 컴퓨팅 노드들이) public ip를 가지게 된다.
DNS 서버에는 이 IP들이 등록이되어, 외부 인터넷으로 부터 요청을 받을 수 있게 된다.이때의 DNS 서버는 AWS의 자원이 아니여도 가능하게 된다. public ip로 노출된 Load Balancer가 라우팅을 해주기 때문에 대상 그룹의 자원들은 private ip만을 가져도 된다.
Internal
internal load balancer는 (LB의 컴퓨팅 노드들이) private ip를 가지게 된다.
private IP이기 때문에 AWS 내부의 DNS 서버에만 등록이 가능하게 되고, 외부에는 아무것도 노출 된 것이 없기 때문에 외부에서 바로 트래픽을 받을 수 없고 전달 받아야 한다.
따라서 internal load balancer는 VPC 내부까지 들어온 client의 요청에 대해서만 라우팅이 가능해진다.
혼합 사용
그렇기 때문에 3 tier 설계에서는 두 load balancer를 함께 사용하는 방식이 이용될 수 있다.
web server라면, 외부로부터 요청을 바로 받을 수 있는 internet-facing Load Balancer를 생성해서 등록한다.
웹 서버는 주로 웹 브라우저에서의 하이퍼텍스트 전송 프로토콜(HTTP) 요청에 응답하여 정적 웹 컨텐츠(예: HTML 페이지, 파일, 이미지, 비디오)를 제공합니다.
출처 https://www.ibm.com/kr-ko/topics/web-server-application-server
app server라면, i nternal load balancer에 등록한다.
이후 web server들이 internal load balancer로 요청을 보내면, app server로 라우팅이 되어 처리한다.
일반적으로 애플리케이션 서버에서 웹 컨텐츠도 제공할 수 있으나, 이 서버의 주 기능은 최종 사용자 클라이언트와 서버 측 애플리케이션 코드(이른바 비즈니스 로직 을 표현하는 코드) 간의 상호 작용을 통해 동적 컨텐츠, 이를테면 트랜잭션 결과, 의사결정 지원, 실시간 분석 등을 생성하고 제공하는 것입니다.
출처 https://www.ibm.com/kr-ko/topics/web-server-application-server
참조
'Cloud > AWS' 카테고리의 다른 글
AWS VPC와 Public & Private Subnet의 차이점 (0) | 2024.03.20 |
---|---|
AWS IAM User Group (사용자 그룹) (0) | 2024.03.20 |
AWS Lambda에서 다른 Lambda 비동기 호출하기(python) (0) | 2023.10.22 |
AWS Lambda로 Slack에 메시지 전송하기 (SNS 트리거) (0) | 2023.10.12 |
AWS boto3로 SNS Topic에 메시지 전송하기 (python) (0) | 2023.10.10 |