チュートリアル:永続的な状態を持つアプリケーションとしてデプロイする - Managed Service for Apache Flink

Amazon Managed Service for Apache Flink は、以前は Amazon Kinesis Data Analytics for Apache Flink と呼ばれていました。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

チュートリアル:永続的な状態を持つアプリケーションとしてデプロイする

以下のチュートリアルでは、Apache Flink アプリケーション用 Managed Service として、 Studio ノートブックを永続的な状態でデプロイする方法を示します。

セットアップ

Kinesis Data Streams または Amazon MSK のいずれかを使用して、 Studio ノートブックチュートリアルの作成 に従って新しい Studio ノートブックを作成します。Studio ノートブック ExampleTestDeploy に名前を付けます。

AWS Management Consoleを使用して永続的な状態のアプリケーションをデプロイします。

  1. パッケージ化されたコードを保存する S3 バケットの場所を、コンソールの「アプリケーションコードの場所 - オプショナル」に追加します。これにより、ノートブックから直接アプリケーションをデプロイして実行できるようになります。

  2. アプリケーションの役割に必要な権限を追加して、Amazon S3 バケットの読み取りと書き込みに使用している役割を有効にし、 Apache Flink アプリケーションのホスティングサービスを起動します。

  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. この機能を有効にすると、ノートブック内の各ノートの右上隅に、ノートブックの名前が記載された新しいドロップダウンが表示されます。以下の操作を行うことができます。

    • Studio ノートブックの設定は、 AWS Management Consoleで確認できます。

    • Zeppelin Note を作成して、Amazon S3 にエクスポートします。この時点で、アプリケーションの名前を入力し、「Build および Export」を選択します。エクスポートが完了すると、通知が届きます。

    • 必要に応じて、Amazon S3 で実行可能ファイルの追加テストを表示して実行することができます。

    • 構築が完了すると、永続的な状態と自動スケーリング機能を備えた Kinesis ストリーミングアプリケーションとしてコードをデプロイできるようになります。

    • ドロップダウンを使用して、「Zeppelin Note を Kinesis ストリーミングアプリケーションとしてデプロイ」を選択します。アプリケーション名を確認し、[ AWS コンソール経由でデプロイ] を選択します。

    • Apache Flink AWS Management Console アプリケーション用マネージドサービスを作成するページが表示されます。アプリケーション名、並列処理、コードの場所、デフォルトの Glue DB、VPC (該当する場合)、IAM ロールが事前に入力されていることに注意してください。IAM ロールがソースと宛先に対して必要な権限を持っていることを確認します。永続的なアプリケーション状態管理のため、スナップショットはデフォルトで有効になっています。

    • [Create application] を選択します。

    • コンフィグ」を選択して任意の設定を変更し、「Run」を選択してストリーミング・アプリケーションを起動することができます。

AWS CLIを使用して永続的な状態のアプリケーションをデプロイします。

を使用してアプリケーションをデプロイするには AWS CLI、Beta 2 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