AWS에서 호스팅되는 무거운 응용 프로그램이 있습니다. 새로운 릴리스가 준비되면 CodeDeploy & 코드 파이프 라인 (github에서 업데이트)을 사용하여 서버를 업데이트합니다 (현재 프로덕션 환경에서 6 ec2 인스턴스를 실행 중입니다).CodeDeploy 사용 Python 응용 프로그램 ValidateService 후크
하나씩 작동하도록 codeeploy를 설정했으며로드 밸런서에서 300 초 연결 배출을 정의했습니다.
여전히 내 응용 프로그램은 무거 우므로 (디스크에서 메모리로 큰 사전 피클 파일을로드 함) 실행 프로세스가 약 60 초 걸립니다. 60 초 동안 CodeDeploy는 배포 프로세스를 인스턴스에 완료로 표시하여로드 균형 조정기에 정상적인 인스턴스로 다시 가입시킵니다. 이로 인해 응용 프로그램에 도달하려는 사용자에게 오류가 발생할 수 있습니다.
은 내가 ValidateService
후크를 사용하는 방법에 대한 생각,하지만 난 잘 모르겠어요 어떻게 내 경우에 ..
다음 인스턴스로 진행하기 전에 응용 프로그램의 전체 부하와 readyness 기다려야하는 방법에 대한 아이디어 ?
이 내 현재 AppSpec.yml version: 0.0 os: linux files: - source: /deployment destination: /deployment - source: /webserver/src destination: /vagrant/webserver/src permissions: - object: /deployment pattern: "**" owner: root mode: 644 type: - directory - object: /webserver/src owner: root mode: 644 except: [/webserver/src/dictionaries] type: - directory hooks: ApplicationStop: - location: /deployment/aws_application_stop.sh BeforeInstall: - location: /deployment/aws_before_install.sh AfterInstall: - location: /deployment/aws_after_install.sh ApplicationStart: - location: /deployment/aws_application_start.sh