본문 바로가기
개발/졸업과제

Private Docker Registry 구조 변경하기

by 컴쏘 2023. 8. 15.
728x90

기존의 Private Docker Registry에서 HA를 고려하여 Private Docker Registry의 구조를 변경해보자.

 

변경된 내용

Auto Scaling과 Load Balancing을 이용해서 HA를 구현해보자.

 

1) LB 수정하기

전에 생성한 EC2에 연동된 로드밸런서 설정을 확인하자

우선, lb가 EC2와 VPC안에 있는지 확인해보자.

 

VPC 영역을 보면 같은지를 확인할 수 있다. (확인해보니 같음)

[EC2] - [로드 밸런서] - [해당 로드밸런서] - [네트워크 매핑]

 

다음으로는 ec2의 보안그룹과 같은지 확인해보자.

[보안] 탭에서 확인을 해보니 다른 보안 그룹이다.

[편집]을 클릭해 변경해주자.

다른 보안 그룹이기 때문에, [편집]을 클릭해 변경
맞는 보안 그룹을 선택하고 [변경 내용 저장] 클릭

 

2) Auto Scaling Group 생성하기 

 

[시작 템플릿 만들기] 

우선, ASG에 적용할 시작 템플릿을 만들자

[EC2] - [시작 템플릿] - [시작 템플릿 생성]
OS와 Instance 선택
키 페어 및 네트워크 설정
고급 세부 정보에서 IAM 인스턴스 프로파일 설정 (역할 부여)

 

나머지 설정은 그대로 두었다.

 

[ASG 생성]

 

참고 링크

[AWS] 📚 Auto Scaling 개념 원리 & 사용 세팅 💯 정리

 

ECS에 연동할 ASG를 생성하도록 하자.

[EC2] - [Auto Scaling 그룹] - [Auto Scaling 그룹 생성]
ASG 이름과 시작 템플릿을 선택
서브넷 선택
기존 로드밸런서에 연결하기
HA를 위해 상태 확인 클릭

 

그룹 크기 선택

  • 최소 용량 : 필요한 최소한의 인스턴스 용량
    • 0을 주게 되면 잘못하면, 그룹 내의 모든 인스턴스를 종료시켜버림 (삭제됨)
  • 최대 용량 : 최대로 생성하고 싶은 용량

크기 조정 정책
EC2의 cpu가 80% 이상 사용될 때, 인스턴스를 추가해주는 것으로 설정해둠
알람 추가하기 (메일로 알람이 오게 함)

 

검토를 완료하고 [Auto Scaling 생성하기]를 클릭하면 자동으로 생성된다.

생성된 모습

 

Auto Scaling이 적용된 모습


[문제 발생]

이렇게 만들면, 문제가 생긴다......! 

  • 내가 원하는 Private Docker Registry가 생성되지 않고, 기본 인스턴스가 생성

내가 원하는 Private Docker Registry가 생성될 수 있도록, 변경해주자.

+) EC2를 가상 이미지로 만드는 방법 (AMI) 을 참고해서 변경해줌 - 다음 글로 포스팅 될 예정이다. 

 

수정 후 test 해보기

Auto Scaling에 의해 생성된 인스턴스

인스턴스 생성
접속된 모습

 

 

Auto Scaling과 관련해서는 다듬어야 할 부분이 조금 있는 것 같다. (Auto Scaling 되었을 때, 부하 분산되는 로직) 

여유 있을 때 수정해보기! 

728x90