Amazon Managed Service for Apache Flink는 이전에 Amazon Kinesis Data Analytics for Apache Flink로 알려졌습니다.
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Managed Service for Apache Flink에서 내결함성 구현
체크포인트는 Amazon Managed Service for Apache Flink.에서 내결함성을 구현하는 데 사용하는 방법입니다. 체크포인트는 up-to-date 예기치 않은 애플리케이션 중단 또는 장애 조치로부터 즉시 복구하는 데 사용되는 실행 중인 애플리케이션의 백업입니다.
Apache Flink 애플리케이션의 체크포인트에 대한 자세한 내용은 Apache Flink 설명서의 체크포인트
스냅샷은 수동으로 생성하고 관리되는 애플리케이션 상태 백업입니다. 스냅샷으로 UpdateApplication
호출을 통해 애플리케이션을 이전 상태로 복원할 수 있습니다. 자세한 내용은 스냅샷을 사용한 애플리케이션 백업 관리 단원을 참조하십시오.
애플리케이션에 체크포인트가 활성화되어 있는 경우 서비스는 예상치 못한 애플리케이션 재시작 시 애플리케이션 데이터의 백업을 생성하고 로드하여 내결함성을 제공합니다. 이러한 예기치 않은 애플리케이션 재시작은 예상치 못한 작업 재시작, 인스턴스 장애 등으로 인해 발생할 수 있습니다. 이렇게 하면 애플리케이션을 다시 시작하는 동안 장애 없이 실행하는 것과 동일한 의미 체계를 갖게 됩니다.
애플리케이션에 스냅샷이 활성화되고 애플리케이션의 를 사용하여 구성된 경우 ApplicationRestoreConfiguration애플리케이션 업데이트 중 또는 서비스 관련 규모 조정 또는 유지 관리 중에 서비스는 정확히 한 번 처리 의미 체계를 제공합니다.
Managed Service for Apache Flink에서 체크포인트 구성
애플리케이션의 체크포인트 동작을 구성할 수 있습니다. 체크포인트 상태를 유지할지 여부, 상태를 체크포인트에 저장하는 빈도, 한 체크포인트 작업의 종료와 다른 체크포인트 작업의 시작 사이의 최소 간격을 정의할 수 있습니다.
CreateApplication
또는 UpdateApplication
API 작업을 사용하여 다음 설정을 구성합니다.
-
CheckpointingEnabled
— 애플리케이션에서 체크포인트가 활성화되었는지 여부를 나타냅니다. -
CheckpointInterval
— 체크포인트(지속성) 작업 사이의 시간(밀리초)을 포함합니다. -
ConfigurationType
— 기본 체크포인트 동작을 사용하려면 이 값을DEFAULT
으로 설정합니다. 다른 값을 구성하려면 이 값을CUSTOM
으로 설정하세요.참고
기본 체크포인트 동작은 다음과 같습니다.
CheckpointingEnabled: true
CheckpointInterval: 60000
MinPauseBetweenCheckpoints: 5000
ConfigurationType 가 로 설정된 경우
DEFAULT
를 사용하거나 애플리케이션 코드의 값을 설정 AWS Command Line Interface하여 다른 값으로 설정된 경우에도 이전 값이 사용됩니다.참고
Flink 1.15 이후 버전에서는 Managed Service for Apache Flink가 자동 스냅샷 생성, 즉 애플리케이션 업데이트, 크기 조정 또는 중지하는 동안
stop-with-savepoint
를 사용합니다. -
MinPauseBetweenCheckpoints
— 한 체크포인트 작업 종료와 다른 체크포인트 작업 시작 사이의 최소 시간(밀리초) 이 값을 설정하면 체크포인트 작업이CheckpointInterval
보다 오래 걸리는 경우에 애플리케이션이 연속으로 체크포인트를 수행하는 것을 방지합니다.
체크포인트 API 예제 검토
이 섹션에는 애플리케이션에 대한 체크포인트를 구성하기 위한 API 작업에 대한 예제 요청이 포함되어 있습니다. API 작업에 대한 입력에 JSON 파일을 사용하는 방법에 대한 자세한 내용은 섹션을 참조하세요Managed Service for Apache Flink API 예제 코드.
새 애플리케이션에 대한 체크포인트 구성
CreateApplication
작업을 위한 다음 예 요청은 애플리케이션을 생성할 때 체크포인트 수행을 구성합니다.
{ "ApplicationName": "MyApplication", "RuntimeEnvironment":"FLINK-1_19", "ServiceExecutionRole":"arn:aws:iam::123456789123:role/myrole", "ApplicationConfiguration": { "ApplicationCodeConfiguration":{ "CodeContent":{ "S3ContentLocation":{ "BucketARN":"arn:aws:s3:::amzn-s3-demo-bucket", "FileKey":"myflink.jar", "ObjectVersion":"AbCdEfGhIjKlMnOpQrStUvWxYz12345" } }, "FlinkApplicationConfiguration": { "CheckpointConfiguration": { "CheckpointingEnabled": "true", "CheckpointInterval": 20000, "ConfigurationType": "CUSTOM", "MinPauseBetweenCheckpoints": 10000 } } }
새 애플리케이션에 대한 체크포인트 비활성화
CreateApplication
작업을 위한 다음 예 요청은 애플리케이션을 생성할 때 체크포인트 수행을 비활성화합니다.
{ "ApplicationName": "MyApplication", "RuntimeEnvironment":"FLINK-1_19", "ServiceExecutionRole":"arn:aws:iam::123456789123:role/myrole", "ApplicationConfiguration": { "ApplicationCodeConfiguration":{ "CodeContent":{ "S3ContentLocation":{ "BucketARN":"arn:aws:s3:::amzn-s3-demo-bucket", "FileKey":"myflink.jar", "ObjectVersion":"AbCdEfGhIjKlMnOpQrStUvWxYz12345" } }, "FlinkApplicationConfiguration": { "CheckpointConfiguration": { "CheckpointingEnabled": "false" } } }
기존 애플리케이션에 대한 체크포인트 구성
UpdateApplication
작업을 위한 다음 예 요청은 기존 애플리케이션의 체크포인트 수행을 구성합니다.
{ "ApplicationName": "MyApplication", "ApplicationConfigurationUpdate": { "FlinkApplicationConfigurationUpdate": { "CheckpointConfigurationUpdate": { "CheckpointingEnabledUpdate": true, "CheckpointIntervalUpdate": 20000, "ConfigurationTypeUpdate": "CUSTOM", "MinPauseBetweenCheckpointsUpdate": 10000 } } } }
기존 애플리케이션에 대한 체크포인트 비활성화
UpdateApplication
작업을 위한 다음 예 요청은 기존 애플리케이션에 대한 체크포인트 수행을 비활성화합니다.
{ "ApplicationName": "MyApplication", "ApplicationConfigurationUpdate": { "FlinkApplicationConfigurationUpdate": { "CheckpointConfigurationUpdate": { "CheckpointingEnabledUpdate": false, "CheckpointIntervalUpdate": 20000, "ConfigurationTypeUpdate": "CUSTOM", "MinPauseBetweenCheckpointsUpdate": 10000 } } } }