2

CNAME 스와핑과 함께 Elastic Beanstalk을 사용하여 가동 중지 시간이 전혀없는 경우 DNS 캐싱 (TTL을 준수하지 않는 클라이언트)은 일부 클라이언트가 이전 환경으로 트래픽을 계속 보내도록합니다 (최대 며칠 동안).탄성의 콩 줄기 + Route53 별칭 = 즉석 파랑 녹색 스왑?

지연 시간이없는 배포를 위해 Route53 별칭과 함께 Elastic Beanstalk를 사용하는 경우 DNS 캐싱이 여전히 문제가됩니까?

답변

0

불행히도. 이제 롤링 업데이트를 사용하는 것이 좋습니다.

+0

롤링 업데이트에 대한 나의 이해는 AWS 인스턴스 구성을 업데이트하는 데만 사용할 수 있다는 것입니다. 하나의 인스턴스와 인스턴스의 풀, 인스턴스 크기 등. 롤링 업데이트를 사용하여 응용 프로그램 코드를 업데이트 할 수 있습니까? – max

+0

예. Elastic Beanstalk을 사용할 때 응용 프로그램의 새 버전을 EB 응용 프로그램에 배포하면 기존 인스턴스에서 응용 프로그램의 전체 업데이트가 수행됩니다. 문제가 있으면 이전 버전을 다시 배포합니다. 그러나 이것은 청색/녹색 또는 적색/흑색 배치를 할 수 없다는 것을 의미합니다. –

+0

@MattHouser는 롤링 업데이트/제로 다운 타임 업데이트와 동일한 위치 업데이트입니다. – max

0

나는 이것을 아직 테스트했지만 이것이 라우트 53에서 "스왑 환경 URL"작업을 구현 한 이유라고 생각했습니다.

Reference

+0

불행하게도 환경 URL 스왑은 TTL/DNS 캐시 문제가있는 "바깥 쪽"도메인의 DNS CNAME 값을 변경하여 작동합니다. – max

0

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을 사용합니다.