ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [AWS] CodeDeploy 현재 위치 배포 방식이란 무엇일까?
    Cloud/AWS 2021. 4. 14. 14:42
    728x90
    반응형

    현재 위치 배포 방식이란 무엇일까?

    스크린샷 2021-04-14 오후 2 21 34

     

    CodeDeploy에 보면 위와 같이 현재 위치 배포 방식과 블루/그린 배포 방식으로 나뉘어 집니다. (블루/그린 배포 방식은 저번에 알아보았는데 궁금하다면 링크에서 확인하시면 됩니다.)

     

    이번 글에서는 현재 위치 배포 방식에 대해서 알아보겠습니다. 현재 위치 배포는 무중단 배포를 하기 위한 기법의 하나로 여러 대의 서버를 배포할 때 새로운 서버를 생성하거나 줄이지 않고 배포하는 방법을 말합니다.

     

     

    111

     

    현재 클라이언트의 요청을 로드 밸런서를 통해서 4대의 서버에게 골고루 나눠주고 있습니다. 이미 v1.0.1 버전을 서버스 중에 v1.0.2 버전을 무중단으로 배포하려면 어떤 과정을 통해 이루어질까요?

     

     

    111

    새로운 버전을 업데이트 하기 위해서 위와 같이 잠시 4대 인스턴스 중 2대의 인스턴스를 로드 밸런서에 제외합니다. 로드 밸런서는 제외된 인스턴스에게 트래픽을 보내지 않게 됩니다.

    111

     

    그러면 위와 같이 로드밸런서에 연결되어 있지 않은 인스턴스들은 v1.0.2 버전으로 업데이트를 합니다.

     

     

    111

     

    그리고 위와 같이 로드밸런서에 다시 4대의 인스턴스를 전부 연결을 합니다.

     

     

    111

     

    그리고 위와 같이 새로운 버전의 인스턴스 2대로 사용자 트래픽을 받고, 나머지 2대의 인스턴스는 로드밸런서에 잠시 연결을 끊습니다.

     

     

    111

     

    그러면 위와 같이 4대의 인스턴스가 새로운 버전으로 업데이트가 된 후에 로드밸런서에 연결이 됩니다. 이와 같이 현재 위치 배포는 무중단으로 배포할 수 있는 기법의 하나로 새로운 인스턴스를 생성할 필요가 없기 때문에 더 빨리 진행되고 간단하다는 장점이 있습니다.
    하지만 배포 중에는 클라이언트 요청을 처리할 수 있는 인스턴스의 수가 준다는 점에 유의해야 합니다.

     

     

    스크린샷 2021-04-14 오후 2 37 07

     

    그리고 위에서 예시는 절반씩 배포를 하는 것으로 설명했지만 CodeDeploy에 보면 위와 같이 어떻게 배포를 진행할 것인지 설정할 수 있습니다.

    • CodeDeployDefault.OneAtTime: 한번에 하나씩 배포하기
    • CodeDeployDefault.HalfAtTime: 절반씩 배포하기
    • CodeDeployDefault.AllAtOne: 한꺼번에 배포하기

     

    한 번에 하나씩 배포를 진행하면 위에서 언급했던 나왔던 요청량의 처리 문제는 많이 줄어들겠지만, 배포를 진행하는 데 시간이 더 오래걸립니다. 그리고 현재 위치 배포는 배포한 버전에 문제가 있어 이전 버전으로 롤백해야 하는 경우 이전 버전으로 배포를 다시 진행해야 하므로 대응하는 데 시간이 오래걸린다는 단점이 있습니다.

    반응형

    댓글

Designed by Tistory.