Application Load Balancer에 대해 알아야 할 모든 것



이 블로그는 Application Load Balancer에 대한 심층적 인 지식을 제공합니다. 응용 프로그램의 이점에 대한 NLB의 생성 및 사용을 보여줍니다.

형사가 단서가 많을수록 사건을 더 쉽게 해결할 수 있습니다. 이것이 바로로드 밸런서가 작동하는 방식입니다. 로드 밸런서에 더 많은 정보가있을수록 더 잘 작동합니다. 이 블로그에서는 Application Load Balancer에 대해 설명하고 패킷 헤더, HTTPS 및 HTTPS 세부 정보에 대한 액세스 권한을 높여 수신 트래픽을 분산하는 방법에 대해 설명합니다.

연결 및 연결되지 않은 조회의 차이

항목은 다룹니다:





Application Load Balancer 란 무엇입니까?

여러분은 OSI 모델에 대해 들어 보셨을 것입니다. 각 계층이 전 세계로 데이터를 전송하는 데 특별한 작업을 수행하는 7 계층 아키텍처입니다. 이러한 계층에는 물리적 계층, 데이터 링크 계층, 네트워크 계층, 전송 계층, 세션 계층, 프레젠테이션 계층 및 애플리케이션 계층이 포함됩니다. Application Load Balancer는 이름에서 알 수 있듯이 OSI 모델의 7 번째 계층에서 작동합니다. 그것애플리케이션 수준 콘텐츠를 검사하고 수집 된 정보를 기반으로 트래픽을 라우팅 할 수 있습니다. 애플리케이션 수준 콘텐츠에는 패킷 세부 정보, HTTP 및 HTTPS 세부 정보가 포함됩니다. 이것은 라우팅을 더 쉽고 빠르며 훨씬 더 효율적으로 만듭니다. 가장 널리 사용되는 .

Application Load Balancer 작동

Application Load Balancer는 다음으로 구성됩니다. 청취자규칙 . 클라이언트가 요청을하면 리스너는이를 확인합니다. 규칙은 리스너가 듣고 나면 각 클라이언트 요청의 라우팅을 제어하는 ​​지침입니다. 규칙은 세 가지 구성 요소로 구성됩니다. 대상 그룹 , 우선 순위정황 . 대상 그룹은 등록 된 대상 (트래픽이 라우팅 될 서버). 각 대상 그룹은 지정한 프로토콜 및 포트 번호를 사용하여 EC2 인스턴스와 같은 하나 이상의 등록 된 대상으로 요청을 라우팅합니다. 따라서 기본적으로 리스너가 요청을 받으면 우선 순위를 거쳐 적용 할 규칙을 결정하고 규칙을 분석하고 조건에 따라 요청을받는 대상 그룹을 결정합니다.



ALB-Application Load Balancer-Edureka

애플리케이션에 대한 요청의 전체 흐름을 방해하지 않고 필요할 때 언제든지로드 밸런서에서 대상을 추가하거나 제거 할 수 있습니다. ELB는로드 밸런서를 동적으로 확장합니다. 즉, 애플리케이션의 트래픽이 시간이 지남에 따라 변함에 따라 애플리케이션이 다양한 상황에 대비할 수 있도록합니다.

Classic Load Balancer보다 더 나은 기능

콘텐츠 기반 라우팅 : Application Load Balancer는 HTTP 헤더에 액세스해야하므로이를 기반으로 트래픽을 라우팅해야합니다.



컨테이너 기반 애플리케이션 지원 : 컨테이너화라는 강력한 개념을 통해 대부분의 사용자는 마이크로 서비스를 컨테이너에 패킹하고이를 EC2 인스턴스에서 호스팅합니다. 이를 통해 단일 EC2 인스턴스가 여러 서비스를 실행할 수 있습니다. Application Load Balancer는 이러한 컨테이너 기반 애플리케이션을 지원합니다. 하나의 인스턴스는 여러 컨테이너를 호스팅하고 동일한 대상 그룹 뒤에있는 여러 포트에서 수신 할 수 있습니다. 또한 세분화 된 포트 수준 상태 확인을 수행합니다.

더 나은 메트릭 : Application Load Balancer는 포트별로 상태 확인을 수행하고 보고서도 생성합니다. 상태 확인은 허용 가능한 HTTP 응답의 범위를 지정합니다. 이러한 상태 확인에는 자세한 오류 코드도 함께 제공됩니다.

경로 기반 라우팅 : Application Load Balancer는 Classic Load Balancer의 경우가 아닌 경로 기반 및 호스트 기반 라우팅을 지원합니다. 와이단일로드 밸런서를 사용하여 요청을 여러 도메인으로 라우팅 할 수 있습니다.

IP 주소 및 Lambda 함수 등록 : EC2 인스턴스를 등록하는 것 외에도 IP 주소 및 Lambda 함수를 대상에 등록 할 수 있습니다. 따라서VPC 외부에있는 대상을 등록 할 수도 있습니다.

추가 프로토콜 및 워크로드 제공 :

Application Load Balancer는 HTTP / 2 및 WebSocket의 두 가지 추가 프로토콜을 제공합니다.

HTTPS / 2 : 이 프로토콜은 단일 연결에서 다중 요청을 지원합니다. 이렇게하면 네트워크 트래픽이 줄어 듭니다.

WebSocket : 이 프로토콜을 사용하면 클라이언트와 서버간에 오래 지속되는 TCP 연결을 설정할 수 있습니다. 이 프로토콜은 이전 방법에 비해 훨씬 효율적입니다.

데모 : Application Load Balancer 생성 및 작동 시연

Application Load Balancer를 만들고 사용하여 이해해 보겠습니다. 이 데모에서는 두 개의 EC2 인스턴스를 생성하고, 서로 다른 HTML 출력 (구분하기 쉬움)을 사용하여 두 인스턴스 모두에 Nginx 웹 서버를 배포하고, 애플리케이션로드 밸런서를 생성하고,이 두 인스턴스를 해당로드 밸런서에 등록하고 확인합니다. 로드 밸런서 DNS에서 인스턴스에 배포 된 웹 서버에 액세스 할 수있는 경우 시작하자.

1 단계: 인스턴스를 Putty 또는 cmder에 연결합니다.

2 단계: 두 인스턴스 모두에 Nginx 웹 서버를 설치합니다. Nginx를 설치하려면 다음 명령을 실행하십시오.

$ sudo apt-get update $ sudo apt install nginx $ sudo ufw app list $ sudo ufw allow 'Nginx HTTP'$ sudo ufw status

인스턴스의 공인 IP를 복사하여 URL과 같은 브라우저에 붙여 넣어 Nginx가 성공적으로 설치되었는지 확인합니다.

3 단계 : Nginx 웹 서버의 HTML 출력을 변경하여 두 인스턴스의 배포 간의 혼동을 방지합니다.

$ cd / var / www / html $ sudo vi index.nginx-debian.html

H1 태그의 내용을“Welcome to Nginx! – 서버 1”. 다른 인스턴스에서도 동일하게 수행합니다. 단, 'Nginx에 오신 것을 환영합니다! – 서버 2”.

4 단계 : Application Load Balancer를 생성합니다. 탐색 창의 로드 밸런싱 , 선택 로드 밸런서 그리고 클릭 창조하다 Application Load Balancer 아래에 있습니다.

다른 페이지로 이동합니다. 로드 밸런서 생성 그곳에.

로드 밸런서를 구성 해 보겠습니다. 이름에로드 밸런서가 가질 이름을 입력합니다. 체계에 대해 인터넷 연결 또는 내부를 선택합니다. 이 경우에는 인터넷 연결을 선택했습니다. 인터넷 연결은 기본적으로 인터넷을 통해 클라이언트의 요청을 대상으로 라우팅합니다.

리스너의 경우 기본값은 포트 80에서 TCP 트래픽을 허용하는 것이며 동일한 기본 리스너 구성을 계속 사용합니다. 다른 리스너를 추가하려면 다음을 선택할 수 있습니다. 리스너 추가 .

가용 영역에서 EC2 인스턴스를 생성하는 데 사용한 VPC를 선택합니다. EC2 인스턴스를 생성하는 데 사용되는 각 가용 영역에 대해 가용 영역과 해당 가용 영역의 서브넷을 선택합니다.

필요에 따라로드 밸런서에 태그를 추가합니다. 태그는로드 밸런서가 여러 개인 경우 특히 유용합니다.

클릭 다음 : 보안 설정 구성 . 경고가 표시 될 수 있지만 무시할 수 있습니다.

php mysql_fetch_

이 단계에서는로드 밸런서의 보안을 구성 할 수 있습니다. 새 보안 그룹 생성 또는 기존 보안 그룹 선택 . 이 경우 기존 보안 그룹을 선택했습니다.

보안 구성이 완료되면 다음 : 라우팅 구성 . 선택 새 대상 그룹. 추가 이름 당신은 당신의 대상 그룹 . 선택 타겟 유형 인스턴스를 연결하므로 인스턴스로. Application Load Balancer를 사용하면 IP 주소와 Lambda 함수를 연결할 수도 있습니다. 하자 실험 계획안포트 기본값입니다.

나는 아무것도 변경하지 않았습니다 건강 검진고급 상태 검사 어느 한 쪽. 기본 설정은 우리에게 충분합니다.

자바에서 대기하고 알림

클릭 다음 : 대상 등록 로드 밸런서에 대상 (이 경우 인스턴스)을 추가합니다.

대상으로 추가 할 인스턴스를 선택한 다음 등록에 추가하십시오.

이제 대상 (인스턴스)이 Load Balancer에 등록되었습니다.

클릭 다음 : 검토 . Load Balancer를 검토 한 다음 마지막으로 창조하다 .

이제로드 밸런서가 생성되었으며 상태를 확인할 수 있습니다.

Yayyy !! Application Load Balancer를 성공적으로 만들었습니다. 이제 실제로 작동하는지 확인해 보겠습니다.

5 단계 : 로드 밸런서의 DNS 이름을 복사하여 URL과 같은 브라우저에 붙여 넣습니다. 첫 번째 인스턴스의 출력이 표시되어야합니다.

이제 다른 브라우저로 이동하여 동일한 DNS 이름을 붙여 넣으면 두 번째 인스턴스의 출력이 표시됩니다.

그리고 이는로드 밸런서가 두 인스턴스의로드 균형을 조정하고 있음을 보여줍니다. 두 EC2 인스턴스의로드는이로드 밸런서에서 처리됩니다. Load Balancer의 작동을 테스트하는 또 다른 방법은 하나의 인스턴스를 종료하고 해당 배포가 Load Balancer의 DNS에 배포되었는지 확인하는 것입니다.

이것으로이 Application Load Balancer 블로그의 끝으로 이동합니다. Amazon에서 제공하는이 놀라운 서비스의 개념을 이해 하셨기를 바랍니다. 이러한 블로그를 더 보려면“ '.

클라우드 컴퓨팅에 대해 자세히 알아보고 클라우드 컴퓨팅에서 경력을 쌓으려면 다음을 확인하십시오. 강사 주도의 라이브 교육 및 실제 프로젝트 경험과 함께 제공됩니다. 이 교육은 클라우드 컴퓨팅을 심층적으로 이해하고 주제에 대한 숙달을 달성하는 데 도움이됩니다.

질문이 있으십니까? 댓글 섹션에 언급 해 주시면 답변을 드리거나 다음 주소에 질문을 게시하겠습니다. . Edureka Community에는 1,00,000 명 이상의 기술 광이 도와 드릴 준비가되어 있습니다.