-
[AWS] CodeDeploy 현재 위치 배포 방식이란 무엇일까?Cloud/AWS 2021. 4. 14. 14:42728x90반응형
현재 위치 배포 방식이란 무엇일까?
CodeDeploy
에 보면 위와 같이현재 위치
배포 방식과 블루/그린 배포 방식으로 나뉘어 집니다. (블루/그린 배포 방식은 저번에 알아보았는데 궁금하다면 링크에서 확인하시면 됩니다.)이번 글에서는
현재 위치 배포 방식
에 대해서 알아보겠습니다. 현재 위치 배포는무중단 배포
를 하기 위한 기법의 하나로 여러 대의 서버를 배포할 때 새로운 서버를 생성하거나 줄이지 않고 배포하는 방법을 말합니다.현재 클라이언트의 요청을 로드 밸런서를 통해서 4대의 서버에게 골고루 나눠주고 있습니다. 이미 v1.0.1 버전을 서버스 중에 v1.0.2 버전을 무중단으로 배포하려면 어떤 과정을 통해 이루어질까요?
새로운 버전을 업데이트 하기 위해서 위와 같이 잠시 4대 인스턴스 중 2대의 인스턴스를 로드 밸런서에 제외합니다. 로드 밸런서는 제외된 인스턴스에게 트래픽을 보내지 않게 됩니다.
그러면 위와 같이 로드밸런서에 연결되어 있지 않은 인스턴스들은
v1.0.2
버전으로 업데이트를 합니다.그리고 위와 같이 로드밸런서에 다시 4대의 인스턴스를 전부 연결을 합니다.
그리고 위와 같이 새로운 버전의 인스턴스 2대로 사용자 트래픽을 받고, 나머지 2대의 인스턴스는 로드밸런서에 잠시 연결을 끊습니다.
그러면 위와 같이 4대의 인스턴스가 새로운 버전으로 업데이트가 된 후에 로드밸런서에 연결이 됩니다. 이와 같이 현재 위치 배포는 무중단으로 배포할 수 있는 기법의 하나로 새로운 인스턴스를 생성할 필요가 없기 때문에 더 빨리 진행되고 간단하다는 장점이 있습니다.
하지만 배포 중에는 클라이언트 요청을 처리할 수 있는 인스턴스의 수가 준다는 점에 유의해야 합니다.
그리고 위에서 예시는
절반씩 배포
를 하는 것으로 설명했지만 CodeDeploy에 보면 위와 같이 어떻게 배포를 진행할 것인지 설정할 수 있습니다.CodeDeployDefault.OneAtTime
: 한번에 하나씩 배포하기CodeDeployDefault.HalfAtTime
: 절반씩 배포하기CodeDeployDefault.AllAtOne
: 한꺼번에 배포하기
한 번에 하나씩 배포를 진행하면 위에서 언급했던 나왔던 요청량의 처리 문제는 많이 줄어들겠지만, 배포를 진행하는 데 시간이 더 오래걸립니다. 그리고 현재 위치 배포는 배포한 버전에 문제가 있어 이전 버전으로 롤백해야 하는 경우 이전 버전으로 배포를 다시 진행해야 하므로 대응하는 데 시간이 오래걸린다는 단점이 있습니다.
반응형'Cloud > AWS' 카테고리의 다른 글
[AWS] Auto-Scaling, Load-Balancer, CodeDeploy 현재위치 자동화 배포하기 (0) 2021.04.20 [AWS] Auto-Scaling CodeDeploy Blue/Green 자동화 배포 (4) 2021.04.19 [AWS] Spring Boot, S3, Travis CI, Auto-Scaling, Load-Balacner, CodeDeploy로 자동화 배포하기 (0) 2021.04.14 [AWS] IAM 개념 및 용어 정리 (1) 2021.04.14 [AWS] 블루/그린(Blue/Green) 방식으로 무중단 배포하기 (0) 2021.04.13