

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

# チュートリアル: 永続的な状態で、Managed Service for Apache Flink アプリケーションとして Studio ノートブックをデプロイする
<a name="example-notebook-deploy"></a>

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

**Topics**
+ [前提条件を満たす](#example-notebook-durable-setup)
+ [を使用して永続的な状態のアプリケーションをデプロイする AWS マネジメントコンソール](#example-notebook-deploy-console)
+ [を使用して永続的な状態のアプリケーションをデプロイする AWS CLI](#example-notebook-deploy-cli)

## 前提条件を満たす
<a name="example-notebook-durable-setup"></a>

Kinesis Data Streams または Amazon MSK のいずれかを使用して、 [チュートリアル: Managed Service for Apache Flink で Studio ノートブックを作成](example-notebook.md) に従って新しい Studio ノートブックを作成します。Studio ノートブック `ExampleTestDeploy` に名前を付けます。

## を使用して永続的な状態のアプリケーションをデプロイする AWS マネジメントコンソール
<a name="example-notebook-deploy-console"></a>

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

1. アプリケーションの役割に必要な権限を追加して、Amazon S3 バケットの読み取りと書き込みに使用している役割を有効にし、 Apache Flink アプリケーションのホスティングサービスを起動します。
   + AmazonS3FullAccess
   + Amazonmanaged-flinkFullAccess
   + ソース、宛先、VPC へのアクセス (該当する場合)。詳細については、 [Studio ノートブックの IAM アクセス許可を確認する](how-zeppelin-iam.md) を参照してください。

1. 次のサンプルコードを使用してください。

   ```
   %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
   ```

1. この機能を有効にすると、ノートブック内の各ノートの右上隅に、ノートブックの名前が記載された新しいドロップダウンが表示されます。以下を行うことができます。
   + Studio ノートブックの設定は、 AWS マネジメントコンソールで確認できます。
   + Zeppelin Note を作成して、Amazon S3 にエクスポートします。この時点で、アプリケーションの名前を入力し、「**Build および Export**」を選択します。エクスポートが完了すると、通知が届きます。
   + 必要に応じて、Amazon S3 で実行可能ファイルの追加テストを表示して実行することができます。
   + 構築が完了すると、永続的な状態と自動スケーリング機能を備えた Kinesis ストリーミングアプリケーションとしてコードをデプロイできるようになります。
   + ドロップダウンを使用して、「**Zeppelin Note を Kinesis ストリーミングアプリケーションとしてデプロイ**」を選択します。アプリケーション名を確認し、** AWS コンソール経由でデプロイ**を選択します。
   + これにより、Managed Service for Apache Flink アプリケーションを作成するための AWS マネジメントコンソール ページが表示されます。アプリケーション名、並列処理、コードの場所、デフォルトの Glue DB、VPC (該当する場合)、IAM ロールが事前に入力されていることに注意してください。IAM ロールがソースと宛先に対して必要な権限を持っていることを確認します。永続的なアプリケーション状態管理のため、スナップショットはデフォルトで有効になっています。
   + [**Create application**] を選択します。
   + 「**コンフィグ**」を選択して任意の設定を変更し、「**Run**」を選択してストリーミング・アプリケーションを起動することができます。

## を使用して永続的な状態のアプリケーションをデプロイする AWS CLI
<a name="example-notebook-deploy-cli"></a>

を使用してアプリケーションをデプロイするには AWS CLI、ベータ 2 情報で提供されるサービスモデルを使用する AWS CLI ように を更新する必要があります。更新されたサービスモデルの使用方法については、 [の前提条件を満たす前提条件を満たす](example-notebook.md#example-notebook-setup) を参照してください。

次のコード例で、新規の 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
```