애플리케이션 업그레이드 롤백 - Managed Service for Apache Flink

Amazon Managed Service for Apache Flink(Amazon MSF)는 이전에 Amazon Kinesis Data Analytics for Apache Flink로 알려져 있었습니다.

애플리케이션 업그레이드 롤백

애플리케이션에 문제가 있거나 Flink 버전 간 애플리케이션 코드에서 불일치를 발견한 경우 AWS CLI, AWS CloudFormation, AWS SDK 또는 AWS Management 콘솔을 사용하여 롤백할 수 있습니다. 다음 예제는 다양한 장애 시나리오에서 롤백이 어떻게 이루어지는지 보여줍니다.

런타임 업그레이드에 성공했고 애플리케이션이 RUNNING 상태이지만 작업이 실패하여 계속 재시작되는 경우

TestApplication 상태 저장 애플리케이션을 미국 동부(버지니아 북부) 리전에서 Flink 1.15에서 Flink 1.18로 업그레이드한다고 가정합니다. 그러나 업그레이드된 Flink 1.18 애플리케이션은 RUNNING 상태임에도 불구하고 시작되지 않거나 지속적으로 재시작될 수 있습니다. 이는 일반적으로 발생하는 장애 시나리오입니다. 추가 가동 중지 시간을 방지하려면 애플리케이션을 이전 실행 버전(Flink 1.15)으로 즉시 롤백하고 문제는 이후에 진단할 것을 권장합니다.

애플리케이션을 이전 실행 버전으로 롤백하려면 rollback-application AWS CLI 명령 또는 RollbackApplication API 작업을 사용합니다. 이 API 작업은 최신 버전을 생성하게 된 변경 사항을 롤백합니다. 그런 다음 가장 마지막으로 성공한 스냅샷을 사용하여 애플리케이션을 다시 시작합니다.

업그레이드를 시도하기 전에 기존 앱으로 스냅샷을 생성할 것을 강력히 권장합니다. 이는 데이터 손실이나 데이터 재처리 상황을 방지하는 데 도움이 됩니다.

이 장애 시나리오에서는 CloudFormation이 애플리케이션을 자동으로 롤백하지 않습니다. CloudFormation이 애플리케이션을 업데이트하도록 강제하려면 CloudFormation 템플릿을 이전 런타임과 이전 코드를 가리키도록 수정해야 합니다. 그렇지 않으면 CloudFormation은 애플리케이션이 RUNNING 상태로 전환될 때 업데이트가 완료된 것으로 가정합니다.

UPDATING 상태에서 멈춰 있는 애플리케이션 롤백

업그레이드를 시도한 후 애플리케이션이 UPDATING 또는 AUTOSCALING 상태에서 멈춘 경우 Amazon Managed Service for Apache Flink는 rollback-applications AWS CLI 명령 또는 RollbackApplications API 작업을 제공하여 애플리케이션을 UPDATING 또는 AUTOSCALING 상태로 멈추기 이전 버전으로 롤백할 수 있도록 합니다. 이 API는 애플리케이션이 UPDATING 또는 AUTOSCALING 전이 상태에서 멈추게 한 변경 사항을 롤백합니다.