CNAME 스와핑과 함께 Elastic Beanstalk을 사용하여 가동 중지 시간이 전혀없는 경우 DNS 캐싱 (TTL을 준수하지 않는 클라이언트)은 일부 클라이언트가 이전 환경으로 트래픽을 계속 보내도록합니다 (최대 며칠 동안).탄성의 콩 줄기 + Route53 별칭 = 즉석 파랑 녹색 스왑?
지연 시간이없는 배포를 위해 Route53 별칭과 함께 Elastic Beanstalk를 사용하는 경우 DNS 캐싱이 여전히 문제가됩니까?
CNAME 스와핑과 함께 Elastic Beanstalk을 사용하여 가동 중지 시간이 전혀없는 경우 DNS 캐싱 (TTL을 준수하지 않는 클라이언트)은 일부 클라이언트가 이전 환경으로 트래픽을 계속 보내도록합니다 (최대 며칠 동안).탄성의 콩 줄기 + Route53 별칭 = 즉석 파랑 녹색 스왑?
지연 시간이없는 배포를 위해 Route53 별칭과 함께 Elastic Beanstalk를 사용하는 경우 DNS 캐싱이 여전히 문제가됩니까?
불행히도. 이제 롤링 업데이트를 사용하는 것이 좋습니다.
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.CNAMESwap.html 는 별도의 환경에 새로운 버전을 배포하고 즉시 새 버전으로 트래픽을 리디렉션하는 두 환경의 CNAME이 교체
을 말한다. 는 DNS 변경이 전파되었으며, 기존의 DNS 레코드가 만료 될 때까지
및 그러나
는, 기존 환경을 종료하지 않습니다. DNS 서버는 DNS 레코드에서 설정 한 TTL (Time To Live)을 기반으로 캐시에서 오래된 레코드를 반드시 지울 필요는 없습니다.
이 충돌하지 않습니까? DNS 캐싱은 여전히 문제라고 생각합니다.
이전 버전 클라이언트가있는 동안 DB를 새 버전으로 마이그레이션하는 방법은 무엇입니까? 두 버전 모두에서 작동하는 경우에만 db를 마이그레이션 할 수 있다고 생각합니다.
여기에 좋은 기사가 있습니다. http://fbrnc.net/blog/2016/05/green-blue-deployments-with-aws-lambda-and-cloudformation 하지만 Elastic Beanstalk이 아닌 Cloud Formation을 사용합니다.
롤링 업데이트에 대한 나의 이해는 AWS 인스턴스 구성을 업데이트하는 데만 사용할 수 있다는 것입니다. 하나의 인스턴스와 인스턴스의 풀, 인스턴스 크기 등. 롤링 업데이트를 사용하여 응용 프로그램 코드를 업데이트 할 수 있습니까? – max
예. Elastic Beanstalk을 사용할 때 응용 프로그램의 새 버전을 EB 응용 프로그램에 배포하면 기존 인스턴스에서 응용 프로그램의 전체 업데이트가 수행됩니다. 문제가 있으면 이전 버전을 다시 배포합니다. 그러나 이것은 청색/녹색 또는 적색/흑색 배치를 할 수 없다는 것을 의미합니다. –
@MattHouser는 롤링 업데이트/제로 다운 타임 업데이트와 동일한 위치 업데이트입니다. – max