탕구리's 블로그

[AWS 파헤치기] #1 ALB(Application Load Balancer) 설정하기 본문

AWS

[AWS 파헤치기] #1 ALB(Application Load Balancer) 설정하기

탕구리당 2019. 3. 19. 18:48
반응형



시작하기 전에

업무를 진행하며 샆질의 샆집의 샆질을 하며 학습한 내용을 정리함을 목표로 합니다. 신입 개발자의 AWS 고군분투기를 통해 클라우드 서비스를 처음 사용해보시는 저같은 초보 개발자분들에게 많은 도움이 됐으면 좋겠습니다.



오늘의 주제

오늘의 주제는 ABL(Application Load Balancer)를 설정하는 방법에 대하여 알아보겠습니다. 부족한 부분은 많겠지만 재미있게 읽어주세요. 사진을 보면서 차근차근 하나씩 진행해 보도록 하겠습니다. 어쩌다 이 글을 들어오셨는데 아직 로드밸런서에 대해 잘 모르시는 분들은 로드밸런서에 대한 이전 게시물참고해주세요!



1. 생성화면 찾아가기



(1) 왼쪽 상단의 서비스 탭을 누르면 좌측 화면과 같이 메뉴창이 주르르르륵 뜹니다. EC2를 선택하여 들어가 줍니다.

(2) 좌측 새로운 메뉴들을 보면 LOAD BALANCING 그룹에 Load Balancers가 있습니다.



2. 로드밸런서 생성하기


총 세개의 Create 버튼이 보이나요?


가장 좌측에서 부터 L7, L4, Ec2 Instance를 이용한 로드밸런서, 이렇게 3가지 종류의 로드밸런서를 이용할 수 있습니다. 세번째 옵션은 EC2 Instance를 직접 띄워서 로드밸런서 작업을 할 수 있는 AMI을 제공하는 것 같습니다.(저도 잘 모르겠어요..)


저는 가장 좌측에 있는 L7 로드 밸런서를 이용하도록 하겠습니다. 네. 맞아요. 이것밖에 안해봤어요. 꾸욱-!



3. 로드밸런서 설정하기


이제부터는 뭔가 본격적으로 설정을 직접 입력하는 창이 나옵니다. 위에서 부터 차례대로 네모칸을 따라가 볼게요!


(1) 로드밸런서에 사용할 이름을 설정해 줍니다.

(2) 로드밸런서에 사용할 프로토콜과 포트번호를 설정해 줍니다.

(3) 여러개의 프로토콜과 포트를 설정하고 싶으시면 Add listener 버튼을 통해 추가로 설정이 가능합니다.

(4) 사용할 vpc 영역을 설정해 줍니다. vpc를 추가로 생성해주지 않는 경우엔 기본적으로 하나만 생성되어 있습니다.


* 추가사항 : 여기서 HTTPS에 대해선 리스너를 설정하게 되면 SSL인증서를 등록하는 화면이 추가로 발생합니다.

원래 본인이 사용하던 인증서가 있으면 인증서 업로드를 통해 등록하는 방법과 AWS 서비스 내의 ACM(Amazon Certificate Manager)를 이용하여 인증서를 발급 받아서 사용하는 방법이 있습니다. ACM을 이용하기 위해서는 Route53을 통해 도메인을 생성하여 발급 받아야 합니다. 그러면 클릭 몇번이면 인증서 등록이 가능합니다.

 


4. 보안그룹(Security Group) 설정하기


기존에 사용하던  Security Group이 있으면 사용하셔도 되고 새롭게 만드셔도 됩니다.

위에서 설정했었던 로드밸런서 설정과 헷갈릴 수 있는데, 보안 설정은 프로토콜과 포트범위 그리고 추가로 접근 가능한 IP에 대해서 까지 설정이 가능하고 들어오는 요청 자체에 대해서 제한합니다.



5. 타겟그룹 설정하기

로드밸런서의 요청을 받을 대상그룹에 대해서 설정하는 부분입니다.


(1) 기존에 생성해 둔 타겟그룹이 없기 때문에 New Target group을 선택해줍니다.


(2) 이름은 뭐 대~충 원하는 것으로 끄적끄적


(3) 세 종류의 타켓을 설정할 수 있습니다. (EC2 Instance 등록, IP를 통해 동록, Lambda Server 등록) 


(4) 여기서 설정하는 프로토콜과 포트번호는 ALB <-> Server 사이에 발생할 네트워크에 통신 대한 설정 입니다. 위에서 설정한 부분은 Client <-> ALB 사이에 발생하는 통신에 대해서 설정해준 거구요! 클라이언트가 서버에 아이피를 통해 직접 요청이 가능하긴 합니다. (Security Group이 개방되어 있다면) 하지만 직접 요청하면 로드밸런서를 이용하는 이유가 없겠죠.. 저 같은 경우는 이부분에 대해서  Unkown Port를 사용하였습니다.


(5) 그리고 마지막으로 헬스체크에 대한 설정입니다. ALB에서는 지속적으로 서버의 상태를 체크하기 위해 Health Check에 등록에 Url로 요청을 보내고 AWS Cloud Watch(모니터링 서비스)를 통해 로그를 기록하거나 알림을 받을 수 있습니다.  추가로 헬스체크 발생에 대해 인터벌이나 타임아웃 등을 설정하여 제어할 수 있습니다.




6. 타겟등록하기

생각보다 헷갈릴 만한 요소가 많아요. 저도 되게 많이 헷갈렸습니다. 위에서 타겟그룹을 생성하였으니 이 부분에서는 타겟그룹에 등록할 실제 타겟을 설정해 줍니다. 


Add to registed 버튼을 누르기 전에 보셔야 할것은 위에서 타겟 그룹이 어떤 포트로 ALB를 통해 요청을 받을지 설정 했습니다. 그 포트번호가 디폴트로 설정되어 있고 수정가능 합니다. 버튼을 선택하게 되면 Ec2 Instance(저는 위에서 Instance를 선택 했었습니다.) 리스트가 주루룩 나와있는 모달창이 뜨고 원하는 인스턴스에 대해서 선택 후 add 해주시면됩니다.


정리해 보면!


(1) 타겟을 설정하기 전 포트번호를 확인한다.

(2) 원하는 타겟을 설정한다.


그리고 나서 본인이 설정한 Configuration에 대해서 리뷰할 수 있는 창이 나오고 ALB에 대한 설정은 끝이 납니다. 네트워크에 대해서 어느정도 배경 지식이 있으시다면 큰 무리없이 따라하실 수 있을꺼라고 생각해요. 저는 정말 무지한 상태에서 일단 업무를 진행하다 보니 해당 작업을 할 때 이해도가 많이 부족했던 것 같습니다.


이렇게 AWS 중에서 로드밸런서를 설정하는 방법에 대해서 정리를 해 보았습니다. 물론 AWS 도큐자체도 정말 잘 되어 있지만 제가 작업했던 내용을 회기하면서 다시 한번 복습하는 의미로 작성해 보았고, AWS에 처음 접해보는 분들에게도 도움이 되길 바라면서 마치겠습니다. ( _ _ )




반응형
Comments