◆ 로드밸런싱
이전내용 복습
ㄴ private에 AutoScaling 그룹을 제작한 후 public에 로드밸런싱을 만든 후 대상그룹으로 두 그룹을 연결하는 것
즉, IGW > 로드밸런싱 > 대상그룹 > 오토스케일링 그룹
: 외부에서 로드밸런싱으로 접속 시 외부접속이 불가능한 오토스케일링 그룹으로 접속 연결하는 것
ㄴ Code Deploy Agent 설치 > 원본 EC2 > 이미지 > 시작템플릿(2AH: S3 접근권한, code deploy 서비스)
오토스케일링 그룹 안의 EC2가 S3나 github로 가서 동일한 프로그램을 지닌 인스턴스 생성하는 데 권한이 필요한 데 그 부분을 Agent가 가지고 있으며 EC2가 Code Deploy Agent를 통해 프로그램에 접근하여 가지고 오는 것
먼저 AWS ( https://jinlabs.signin.aws.amazon.com/console )를 킨 후 시작 템플릿에서 생성을 클릭
ㄴ위 스샷의 내용처럼 등록하여 생성을 하여 준다
생성이 완료되면 이제 AutoScaling 그룹을 생성하여 준다
이렇게 생성을 완료한 후 (사진 없는 부분은 수정X) 인스턴스로 가면 정상적으로 생성이 되는 것을 볼 수 있다
ㄴ생성이 정상적인 것을 확인 후 오토스케일링 그룹에서 용량을 3 1 3 으로 변경하여 준다
완료된 후 교재로 넘어가서 p.152를 보면 Code Deploy가 소스코드의 위치와 배포방법에 대해 알려주어 설치하는 형식이기에 에플리케이션을 구성하여 준다
해당 내용으로 생성 후 배포그룹생성을 클릭하여 생성된 에플리케이션에 연결된 배포그룹을 생성하여 준다
ㄴ스샷따라 제작하다 보면 배포유형이라는 것이 있는 데 일단은 현재위치로 설정된 그대로 진행한다
ㄴ해당 로드밸런서에서 유형선택 시 jenkins-target은 내용이 없기에 새 탭으로 가서 EC2의 로드밸런서로 접속하여 리스너의 대상그룹을 app-target으로 변경하여 준 후 유형을 선택하여 준다
ㄴ만약 대상그룹 변경에 오류 발생시 리스너 삭제 후 재등록
☆블루/그린, 롤링, 카나리 배포의 차이점
ㄴ롤링 : 여러 개의 가동중인 서버를 구 버전에서 새 버전으로 트래픽을 점진적으로 전환하며, 구 버전의 인스턴스도 점차 삭제
ㄴ블루/그린 : 새로운 변경사항이 포함된 어플리게이션을 위한 새로운 환경을 구축하고 교체하는 방법
ㄴ카나리 : 가동 중인 서버들의 일부에만 새로운 앱을 배포하여, 일부 트래픽을 새 버전의 환경으로 분산하는 방법
이제 배포 생성을 클릭한 후 내용을 설정하여 준다
ㄴ설정 중 github에 저장하는 내용을 설정할 때 먼저 github로 가서 deopard/aws-exercise-a로 접속하여 master를 code-deploy로 변경하여 준 후 commit을 클릭하여 복사하여 입력하여 준다
입력완료한 후 배포 완료를 클릭하면 배포가 진행되는 것을 볼 수 있으며, 진행이 완료되면 로드밸런서의 DNS이름을 웹으로 접속 시 확인할 수 있다
이후 VirtualBox의 aws-client를 시작하여 주고 ~/.ssh/config에서 bastion의 ip와 target을 수정하여 준 후 target으로 접속하여 배포가 정상적으로 완료되었는 지 내용을 확인하여 준다 (group 3개의 ip중 아무거나 등록)
이렇게까지 진행된 것을 교재로 치면 p.164까지 이다
이후 한가지 더 배포해주기 위해서 배포 추가하여 준 후 github에서도 v2로 수정하여 등록한다
배포가 완료되면 동일한 웹페이지로 확인가능하다
이제 프로젝트를 위해서 Code Depoly와 로드밸런서, 대상그룹, 오토스케일링 그룹, 시작템플릿을 삭제하여 주며, bastion은 중지시켜 준다
※프로젝트 : 클라우드에서 프로젝트 내용을 보고 가이드의 내용을 복사하여 넣고 정해진 일정에 따라 내용을 수행하여 준다
ㄴ결과값을 스샷찍어 붙이되 소유자ID는 가려서 붙이기
https://naver.me/IDFf0Ecj 에서 비번:2580으로 접속하여 다운로드 받기
발송할 ppt 강사님 메일주소 : s4616@naver.com
※다음주 쿠버네티스를 제외한 작업 전부를 완료할 예정 / 다다음주 쿠버네티스
'AWS 교육 > Docker-AWS (월)' 카테고리의 다른 글
250120_AWS Jenkins, DockerHub, GitHub 연결 (0) | 2025.01.20 |
---|---|
250113_AWS Jenkins, Load Balancing, GitHub 연결 (0) | 2025.01.13 |
241230_AWS Jenkins-Docker, 로드 밸런스, 오토스케일링 그룹 (0) | 2024.12.30 |
241223_AWS Network, VPC(게이트웨이, 서브넷, 라우팅 테이블) (0) | 2024.12.23 |
241216_AWS Instance, Auto Scaling, Load Balancer (0) | 2024.12.16 |