Didacticiel : déploiement en tant qu’application à état durable - Service géré pour Apache Flink

Le service géré Amazon pour Apache Flink était auparavant connu sous le nom d’Amazon Kinesis Data Analytics pour Apache Flink.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Didacticiel : déploiement en tant qu’application à état durable

Le didacticiel suivant explique comment déployer un bloc-notes Studio en tant qu’application état durable de service géré pour Apache Flink.

Configuration

Créez un nouveau bloc-notes Studio en suivant Tutoriel de création d'un bloc-notes Studio, à l’aide de Kinesis Data Streams ou d’Amazon MSK. Nommez le bloc-notes Studio ExampleTestDeploy.

Déployer une application à état durable à l’aide de la AWS Management Console

  1. Ajoutez un emplacement de compartiment S3 là où vous souhaitez que le code empaqueté soit stocké sous Emplacement du code d’application (facultatif) dans la console. Cela permet de suivre les étapes de déploiement et d’exécution de votre application directement depuis le bloc-notes.

  2. Ajoutez les autorisations requises au rôle d’application pour activer le rôle que vous utilisez pour lire et écrire dans un compartiment Amazon S3 et pour lancer une application de service géré pour Apache Flink :

  3. Utilisez l’exemple de code suivant :

    %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. Avec le lancement de cette fonctionnalité, vous verrez une nouvelle liste déroulante dans le coin supérieur droit de chaque note de votre bloc-notes avec le nom du bloc-notes. Vous pouvez effectuer les actions suivantes :

    • Consultez les paramètres du bloc-notes Studio dans la AWS Management Console.

    • Créez votre note Zeppelin et exportez-la sur Amazon S3. À ce stade, donnez un nom à votre application et choisissez Générer et exporter. Vous recevrez une notification lorsque l’exportation sera terminée.

    • Si nécessaire, vous pouvez consulter et exécuter des tests supplémentaires sur l’exécutable dans Amazon S3.

    • Une fois la compilation terminée, vous pourrez déployer votre code sous la forme d’une application de streaming Kinesis dotée d’un état durable et de l’autoscaling.

    • Utilisez le menu déroulant et choisissez Déployer la note Zeppelin en tant qu’application de streaming Kinesis. Vérifiez le nom de l'application et choisissez Déployer via AWS la console.

    • Cela vous mènera à la AWS Management Console page de création d'un service géré pour l'application Apache Flink. Notez que le nom de l’application, le parallélisme, l’emplacement du code, Glue DB par défaut, le VPC (le cas échéant) et les rôles IAM ont été préremplis. Vérifiez que les rôles IAM disposent des autorisations requises pour accéder à vos sources et destinations. Les instantanés sont activés par défaut pour la gestion des applications à état durable.

    • Choisissez Créer une application.

    • Vous pouvez choisir de configurer et de modifier tous les paramètres, puis choisir Exécuter pour démarrer votre application de streaming.

Déployer une application à état durable à l’aide de la AWS CLI

Pour déployer une application à l'aide de AWS CLI, vous devez mettre à jour votre modèle de service AWS CLI afin d'utiliser le modèle de service fourni avec vos informations sur la version bêta 2. Pour obtenir des informations sur l’utilisation du modèle de service mis à jour, consultez Configuration.

L’exemple suivant permet de créer un nouveau bloc-notes 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

L’exemple suivant permet de lancer un bloc-notes Studio :

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

Le code suivant renvoie l’URL de la page du bloc-notes Apache Zeppelin d’une application :

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