롤링 업데이트에서 Amazon ECS 블루/그린으로 배포 전략 업데이트 - Amazon Elastic Container Service

롤링 업데이트에서 Amazon ECS 블루/그린으로 배포 전략 업데이트

프로덕션 환경에서 구현하기 전에 서비스를 변경하고 해당 변경 내용을 테스트하려는 경우 롤링 업데이트 배포에서 Amazon ECS 블루/그린 배포로 마이그레이션할 수 있습니다.

사전 조건

서비스를 롤링에서 블루/그린 배포로 마이그레이션하기 전에 다음 사항을 갖추어야 합니다.

  • 현재 배포가 완료될 때까지 기다립니다.

  • 롤링 배포 전략을 사용하는 기존 Amazon ECS 서비스.

  • 트래픽을 지원하는 서비스 개정이 여러 개 있는 경우 Amazon ECS는 마이그레이션 중에 트래픽을 단일 개정으로 통합하려고 시도합니다. 실패하면 마이그레이션하기 전에 단일 개정을 사용하도록 서비스를 수동으로 업데이트해야 할 수 있습니다.

  • 적절한 권한을 구성하세요.

  • 구성에 따라 다음 중 하나를 수행해야 합니다.

    • 서비스가 Elastic Load Balancing을 사용하는 경우 새 'advancedConfiguration'으로 서비스를 업데이트하고 롤링 배포를 시작합니다.

    • 서비스가 Service Connect를 사용하는 경우 서비스를 업데이트하고 롤링 배포를 시작합니다.

    • 서비스가 Elastic Load Balancing 및 Service Connect를 모두 사용하는 경우 위의 두 단계를 모두 수행합니다(단일 UpdateService 요청 사용 가능).

    • 서비스가 위의 항목을 사용하지 않는 경우 추가 작업이 필요하지 않습니다.

  • Amazon ECS 블루/그린 배포에서는 서비스가 다음 기능 중 하나를 사용해야 합니다. 적절한 리소스를 구성합니다.

절차

  1. https://console.aws.amazon.com/ecs/v2에서 Amazon ECS 콘솔을 여세요.

  2. 탐색 창에서 클러스터를 선택합니다.

  3. 클러스터 페이지에서 마이그레이션하려는 서비스가 포함된 클러스터를 선택하세요.

    클러스터 세부 정보 페이지가 표시됩니다.

  4. 클러스터 세부 정보 페이지에서 서비스 탭을 선택하세요.

  5. 서비스를 선택하고 업데이트를 선택하세요.

    서비스 업데이트 페이지가 표시됨

  6. 배포 옵션을 확장한 후 다음을 수행하세요.

  7. 배포 전략에서 블루/그린을 선택하세요.

  8. 다음과 같이 블루/그린 배포 설정을 구성하세요.

    1. 베이크 소요 시간에 블루 개정이 종료되기 전에 블루 및 그린 서비스 개정이 동시에 실행되는 시간(분)을 입력하세요.

      이를 통해 확인 및 테스트 시간을 확보할 수 있습니다.

    2. (선택 사항) 배포의 특정 단계에서 실행할 Lambda 함수를 구성하세요. 배포 수명 주기 후크에서 다음 단계에 맞게 Lambda 함수를 구성하세요.

      • 사전 스케일 업: 그린 서비스 개정을 스케일 업하기 전에 실행

      • 사후 스케일 업: 그린 서비스 개정을 스케일 업한 후 실행

      • 테스트 트래픽 전환: 그린 서비스 개정으로 트래픽 라우팅을 테스트하는 동안 실행

      • 사후 테스트 트래픽 전환: 테스트 트래픽이 그린 서비스 개정으로 라우팅된 후 실행

      • 프로덕션 트래픽 전환: 그린 서비스 개정으로 프로덕션 트래픽을 라우팅하는 동안 실행

      • 사후 프로덕션 트래픽 전환: 프로덕션 트래픽이 그린 서비스 개정으로 라우팅된 후 실행

      수명 주기 후크를 추가하는 방법:

      1. 추가를 선택합니다.

      2. Lambda 함수에서 함수 이름 또는 ARN을 입력하세요.

      3. 역할에서 Lambda 함수를 간접 호출할 권한이 있는 IAM 역할을 선택하세요.

      4. 수명 주기 단계에서 Lambda 함수를 실행해야 하는 단계를 선택하세요.

      5. 선택 사항: 후크 세부 정보에 후크에 대한 추가 정보를 제공하도록 키-값 페어를 입력하세요.

  9. 다음과 같이 로드 밸런서를 구성하세요.

    1. 로드 밸런싱에서 서비스가 로드 밸런서를 사용하도록 구성되어 있는지 확인하세요.

    2. 대상 그룹에서 프로덕션(블루) 환경의 기본 대상 그룹을 선택하세요.

    3. 대체 대상 그룹에서 테스트(그린) 환경의 대상 그룹을 선택하세요.

    4. 프로덕션 리스너 규칙에서 프로덕션 트래픽을 라우팅하기 위한 리스너 규칙을 선택하세요.

    5. 선택 사항: 테스트 리스너 규칙에서 테스트 트래픽을 그린 환경으로 라우팅하기 위한 리스너 규칙을 선택하세요.

    6. 역할에서 Amazon ECS가 로드 밸런서를 관리하도록 허용하는 IAM 역할을 선택하세요.

  10. 변경 내용을 검토한 다음 업데이트를 선택하세요.

다음 단계

  • 배포를 시작하도록 서비스를 업데이트합니다. 자세한 내용은 Amazon ECS 서비스 업데이트 섹션을 참조하세요.

  • 배포 프로세스를 모니터링하여 블루/그린 패턴을 따르는지 확인합니다.

    • 그린 서비스 개정이 생성되고 스케일 업됨

    • 테스트 트래픽이 그린 개정으로 라우팅됨(구성된 경우)

    • 프로덕션 트래픽이 그린 개정으로 전환됨

    • 베이크 소요 시간이 지나면 블루 개정이 종료됨