자습서: 지속 가능한 상태의 애플리케이션으로 배포 - Managed Service for Apache Flink

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

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

자습서: 지속 가능한 상태의 애플리케이션으로 배포

다음 자습서에서는 지속 가능한 상태의 Apache Flink 애플리케이션용 관리 서비스로 Studio 노트북을 배포하는 방법을 보여줍니다.

설치

Kinesis Data Streams 또는 Amazon MSK를 사용하여 스튜디오 노트북 만들기 튜토리얼에 따라 새 Studio 노트북을 생성하세요. Studio 노트북의 이름을 ExampleTestDeploy(으)로 지정하세요.

AWS Management Console를 사용하여 지속 가능한 상태의 애플리케이션을 배포하세요.

  1. 콘솔의 애플리케이션 코드 위치(선택 사항)에 패키지 코드를 저장할 S3 버킷 위치를 추가합니다. 이렇게 하면 단계를 통해 노트북에서 직접 애플리케이션을 배포하고 실행할 수 있습니다.

  2. Amazon S3 버킷을 읽고 쓰는 데 사용하는 역할을 활성화하고 Managed Service for Apache Flink 애플리케이션을 시작하는 데 필요한 권한을 애플리케이션 역할에 추가합니다.

    • 아마존 S3 FullAccess

    • 아마존 매니지드- flinkFullAccess

    • 해당하는 경우 소스, 대상 및 VPC에 액세스할 수 있습니다. 자세한 설명은 Studio 노트북의 IAM 권한 섹션을 참조하세요.

  3. 다음 예제 코드를 사용하세요.

    %flink.ssql(type=update) CREATE TABLE exampleoutput ( 'ticket' VARCHAR, 'price' DOUBLE ) WITH ( 'connector' = 'kinesis', 'stream' = 'ExampleOutputStream', 'aws.region' = 'us-east-1', 'scan.stream.initpos' = 'LATEST', 'format' = 'json' ); INSERT INTO exampleoutput SELECT ticker, price FROM exampleinputstream
  4. 이번 기능 출시와 함께 노트북의 각 노트 오른쪽 상단 모서리에 노트북 이름과 함께 새로운 드롭다운이 표시됩니다. 다음을 수행할 수 있습니다.

    • AWS Management Console에서 Studio 노트북 설정을 볼 수 있습니다.

    • Zeppelin Note를 빌드하고 Amazon S3로 내보내세요. 이때 애플리케이션 이름을 입력하고 빌드 및 내보내기를 선택합니다. 내보내기가 완료되면 알림을 받게 됩니다.

    • 필요한 경우 Amazon S3의 실행 파일에서 추가 테스트를 보고 실행할 수 있습니다.

    • 빌드가 완료되면 지속 가능한 상태 및 자동 크기 조정 기능을 갖춘 Kinesis 스트리밍 애플리케이션으로 코드를 배포할 수 있습니다.

    • 드롭다운을 사용하여 Zeppelin Note를 Kinesis 스트리밍 애플리케이션으로 배포를 선택합니다. 애플리케이션 이름을 검토하고 콘솔을 통한 배포를 AWS 선택합니다.

    • 그러면 Apache Flink용 관리 서비스 애플리케이션을 만드는 AWS Management Console 페이지로 이동합니다. 참고로 애플리케이션 이름, 병렬 처리, 코드 위치, 기본 Glue DB, VPC (해당하는 경우) 및 IAM 역할이 미리 입력되어 있습니다. IAM 역할에 소스 및 대상에 필요한 권한이 있는지 확인하세요. 안정적인 애플리케이션 상태 관리를 위해 스냅샷은 기본적으로 활성화됩니다.

    • 애플리케이션 생성을 선택합니다.

    • 설정 구성 및 수정을 선택한 다음 Run을 선택하여 스트리밍 애플리케이션을 시작할 수 있습니다.

AWS CLI를 사용하여 지속 가능한 상태의 애플리케이션을 배포하세요.

를 사용하여 애플리케이션을 배포하려면 베타 2 정보와 함께 제공된 서비스 모델을 사용하도록 업데이트해야 합니다. AWS CLI AWS CLI 업데이트된 서비스 모델을 사용하는 방법에 대한 자세한 내용은 설치 섹션을 참조하세요.

다음 예제 코드에서는 새 Studio 노트북을 생성합니다.

aws kinesisanalyticsv2 create-application \ --application-name <app-name> \ --runtime-environment ZEPPELIN-FLINK-3_0 \ --application-mode INTERACTIVE \ --service-execution-role <iam-role> --application-configuration '{ "ZeppelinApplicationConfiguration": { "CatalogConfiguration": { "GlueDataCatalogConfiguration": { "DatabaseARN": "arn:aws:glue:us-east-1:<account>:database/<glue-database-name>" } } }, "FlinkApplicationConfiguration": { "ParallelismConfiguration": { "ConfigurationType": "CUSTOM", "Parallelism": 4, "ParallelismPerKPU": 4 } }, "DeployAsApplicationConfiguration": { "S3ContentLocation": { "BucketARN": "arn:aws:s3:::<s3bucket>", "BasePath": "/something/" } }, "VpcConfigurations": [ { "SecurityGroupIds": [ "<security-group>" ], "SubnetIds": [ "<subnet-1>", "<subnet-2>" ] } ] }' \ --region us-east-1

다음 코드 예제에서는 Studio 노트북을 시작합니다.

aws kinesisanalyticsv2 start-application \ --application-name <app-name> \ --region us-east-1 \ --no-verify-ssl

다음 코드는 애플리케이션의 Apache Zeppelin 노트북 페이지의 URL을 반환합니다.

aws kinesisanalyticsv2 create-application-presigned-url \ --application-name <app-name> \ --url-type ZEPPELIN_UI_URL \ --region us-east-1 \ --no-verify-ssl