애플리케이션을 새 Apache Flink 버전으로 업그레이드 - Managed Service for Apache Flink

Amazon Managed Service for Apache Flink는 이전에 Amazon Kinesis Data Analytics for Apache Flink로 알려졌습니다.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

애플리케이션을 새 Apache Flink 버전으로 업그레이드

UpdateApplication 작업을 사용하여 Flink 애플리케이션을 업그레이드할 수 있습니다.

여러 UpdateApplication API 가지 방법으로 를 호출할 수 있습니다.

  • 에서 기존 구성 워크플로를 사용합니다 AWS Management Console.

    • 의 앱 페이지로 이동합니다 AWS Management Console.

    • 구성을 선택합니다.

    • 복원 구성이라고도 하는 새 런타임과 시작하려는 스냅샷을 선택합니다. 최신 설정을 복원 구성으로 사용하여 최신 스냅샷에서 앱을 시작합니다. Amazon S3에서 새로 업그레이드된 애플리케이션JAR/zip을 가리킵니다.

  • AWS CLI update-application 작업을 사용합니다.

  • AWS CloudFormation ()를 사용합니다CFN.

    • RuntimeEnvironment 필드를 업데이트합니다. 이전에는 애플리케이션을 AWS CloudFormation 삭제하고 새 애플리케이션을 생성하여 스냅샷 및 기타 앱 기록을 잃었습니다. 이제 RuntimeEnvironment 가 제자리에 를 AWS CloudFormation 업데이트하고 애플리케이션을 삭제하지 않습니다.

  • 를 사용합니다 AWS SDK.

    • 원하는 프로그래밍 언어는 SDK 설명서를 참조하세요. 를 참조하세요UpdateApplication.

애플리케이션이 RUNNING 상태이거나 애플리케이션이 중지된 상태에서 업그레이드를 수행할 수 있습니다READY. Amazon Managed Service for Apache Flink는 원래 런타임 버전과 대상 런타임 버전 간의 호환성을 검증합니다. 이 호환성 검사는 RUNNING 상태UpdateApplication일 때 를 수행하거나 상태일 때 업그레이드할 StartApplication 때 실행됩니다READY.

다음 예제에서는 를 사용하여 미국 동부(버지니아 북부)의 UpgradeTest Flink 1.18로 라는 RUNNING 상태의 앱을 업그레이드 AWS CLI 하고 최신 스냅샷에서 업그레이드된 앱을 시작하는 방법을 보여줍니다.

aws --region us-east-1 kinesisanalyticsv2 update-application \ --application-name UpgradeTest --runtime-environment-update "FLINK-1_18" \ --application-configuration-update '{"ApplicationCodeConfigurationUpdate": '\ '{"CodeContentUpdate": {"S3ContentLocationUpdate": '\ '{"FileKeyUpdate": "flink_1_18_app.jar"}}}}' \ --run-configuration-update '{"ApplicationRestoreConfiguration": '\ '{"ApplicationRestoreType": "RESTORE_FROM_LATEST_SNAPSHOT"}}' \ --current-application-version-id ${current_application_version}
  • 서비스 스냅샷을 활성화하고 최신 스냅샷에서 애플리케이션을 계속하려는 경우 Amazon Managed Service for Apache Flink는 현재 RUNNING 애플리케이션의 런타임이 선택한 대상 런타임과 호환되는지 확인합니다.

  • 대상 런타임을 계속할 스냅샷을 지정한 경우 Amazon Managed Service for Apache Flink는 대상 런타임이 지정된 스냅샷과 호환되는지 확인합니다. 호환성 확인에 실패하면 업데이트 요청이 거부되고 애플리케이션이 RUNNING 상태에서 그대로 유지됩니다.

  • 스냅샷 없이 애플리케이션을 시작하도록 선택한 경우 Amazon Managed Service for Apache Flink는 호환성 검사를 실행하지 않습니다.

  • 업그레이드된 애플리케이션이 실패하거나 전이 UPDATING 상태에서 중단되는 경우 애플리케이션 업그레이드 롤백 섹션의 지침에 따라 정상 상태로 돌아갑니다.

실행 중인 상태 애플리케이션을 위한 프로세스 흐름

다음 다이어그램은 실행 중에 애플리케이션을 업그레이드하는 데 권장되는 워크플로를 나타냅니다. 애플리케이션이 상태 저장 상태이고 스냅샷을 활성화했다고 가정합니다. 이 워크플로의 경우 업데이트 시 Amazon Managed Service for Apache Flink에서 업데이트 전에 자동으로 가져온 최신 스냅샷에서 애플리케이션을 복원합니다.

다음 예제는 를 사용하여 미국 동부(버지니아 북부)의 UpgradeTest Flink 1.18로 라는 READY 상태의 앱을 업그레이드하는 것을 보여줍니다 AWS CLI. 애플리케이션이 실행 중이 아니기 때문에 앱을 시작할 지정된 스냅샷이 없습니다. 애플리케이션 시작 요청을 발급할 때 스냅샷을 지정할 수 있습니다.

aws --region us-east-1 kinesisanalyticsv2 update-application \ --application-name UpgradeTest --runtime-environment-update "FLINK-1_18" \ --application-configuration-update '{"ApplicationCodeConfigurationUpdate": '\ '{"CodeContentUpdate": {"S3ContentLocationUpdate": '\ '{"FileKeyUpdate": "flink_1_18_app.jar"}}}}' \ --current-application-version-id ${current_application_version}
  • READY 상태인 애플리케이션의 런타임을 모든 Flink 버전으로 업데이트할 수 있습니다. Amazon Managed Service for Apache Flink는 애플리케이션을 시작할 때까지 검사를 실행하지 않습니다.

  • Amazon Managed Service for Apache Flink는 앱을 시작하기 위해 선택한 스냅샷에 대해서만 호환성 검사를 실행합니다. 이는 Flink 호환성 표 에 따른 기본 호환성 검사입니다. 스냅샷이 수행된 Flink 버전과 대상인 Flink 버전만 확인합니다. 선택한 스냅샷의 Flink 런타임이 앱의 새 런타임과 호환되지 않는 경우 시작 요청이 거부될 수 있습니다.

준비 상태 애플리케이션의 프로세스 흐름

다음 다이어그램은 준비 상태일 때 애플리케이션을 업그레이드하는 권장 워크플로를 나타냅니다. 애플리케이션이 상태 저장 상태이고 스냅샷을 활성화했다고 가정합니다. 이 워크플로의 경우 업데이트 시 애플리케이션이 중지될 때 Amazon Managed Service for Apache Flink에서 자동으로 가져온 최신 스냅샷에서 애플리케이션을 복원합니다.