翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
QLDB でのストリームの作成と管理
重要
サポート終了通知: 既存のお客様は、07/31/2025 のサポート終了QLDBまで Amazon を使用できます。詳細については、「Amazon QLDB 台帳を Amazon Aurora Postgre に移行するSQL
Amazon QLDBは、台帳から Amazon Kinesis Data Streams へのジャーナルデータのストリームを作成および管理するためのAPIオペレーションを提供します。QLDB ストリームは、ジャーナルにコミットされたすべてのドキュメントリビジョンをキャプチャし、Kinesis データストリームに送信します。
AWS Management Console、 AWS SDK、または AWS Command Line Interface (AWS CLI) を使用してジャーナルストリームを作成できます。また、AWS CloudFormation
ストリームパラメータ
QLDB ジャーナルストリームを作成するには、次の設定パラメータを指定する必要があります。
- 台帳名
-
Kinesis Data Streams にストリーミングするジャーナルデータがあるQLDB台帳。
- ストリーム名
-
QLDB ジャーナルストリームに割り当てる名前。ユーザー定義の名前は、ストリームの目的を識別して示すのに役立ちます。
ストリーム名は、特定の台帳の他のアクティブなストリーム間で一意である必要があります。ストリーム名には、「Amazon のクォータと制限 QLDB」で定義されている台帳名と同じ命名制約があります。
ストリーム名に加えて、 は作成する各ストリームにストリーム ID QLDB をQLDB割り当てます。ストリーム ID は、そのステータスに関係なく、特定の台帳のすべてのストリーム間で一意です。
- 開始日時
-
ジャーナルデータのストリーミングを開始する日時。この値には、過去の任意の日付と時刻を指定できますが、将来の日付を指定することはできません。
- 終了日時
-
(任意) ストリームの終了を指定する日時。
終了時刻のない無期限のストリームを作成する場合、ストリームを終了するには手動でキャンセルする必要があります。また、指定された終了日時に達していないアクティブな有限ストリームをキャンセルすることもできます。
- ストリーミング先の Kinesis データストリーム
-
ストリーミングがデータレコードを書き込む Kinesis Data Streams ターゲットリソース。Kinesis データストリームの作成方法については、「Amazon Kinesis Data Streams デベロッパーガイド」の「データストリームの作成および更新」を参照してください。
重要
-
クロスリージョンおよびクロスアカウントストリームはサポートされていません。指定する Kinesis データストリームは、台帳と同じ AWS リージョン およびアカウントに存在する必要があります。
-
Kinesis Data Streams のレコード集約は、デフォルトで有効になっています。このオプションを使用すると、1 QLDB つの Kinesis Data Streams レコードに複数のデータレコードを発行できるため、API呼び出しごとに送信されるレコードの数が増えます。
レコード集約は、レコードの処理に重要な意味を持ち、ストリーミングコンシューマーで集約を解除する必要があります。詳細については、Amazon Kinesis Data Streams デベロッパーガイド」のKPL「主要な概念」と「コンシューマーのデアグリゲーション」を参照してください。
-
- IAM ロール
-
QLDB が Kinesis データストリームへの書き込み許可を引き受けるIAMロール。QLDB コンソールを使用して、このロールを自動的に作成することも、 で手動で作成することもできますIAM。手動で作成する方法については、「ストリームアクセス許可」を参照してください。
ジャーナルストリームをリクエストQLDBするときにロールを に渡すには、IAMロールリソースに対して
iam:PassRole
アクションを実行するアクセス許可が必要です。
ストリーム ARN
すべてのQLDBジャーナルストリームは台帳のサブリソースであり、Amazon リソースネーム () によって一意に識別されますARN。以下は、 QLDB という名前ARNの台帳IiPT4brpZCqCq3f4MTHbYy
のストリーム ID が のストリームの例ですexampleLedger
。
arn:aws:qldb:us-east-1:123456789012:stream/exampleLedger/IiPT4brpZCqCq3f4MTHbYy
次のセクションでは、 を使用してQLDBストリームを作成およびキャンセルする方法について説明します AWS Management Console。
AWS Management Console
QLDB コンソールを使用してQLDBストリームを作成またはキャンセルするには、次の手順に従います。
ストリームを作成するには (コンソール)
にサインインし AWS Management Console、https://console.aws.amazon.com/qldb
で Amazon QLDBコンソールを開きます。 -
ナビゲーションペインで、[ストリーム] を選択します。
-
[QLDB ストリームの作成] を選択します。
-
QLDB ストリームの作成ページで、次の設定を入力します。
-
ストリーム名 – QLDBストリームに割り当てる名前。
-
[Ledger] (台帳) - ストリーミングするジャーナルデータがある台帳。
-
開始日時 – ジャーナルデータのストリーミングを開始する協定世界時 (UTC) の包括的なタイムスタンプ。このタイムスタンプのデフォルトは、現在の日時です。これを将来の日時にすることはできません。また、[終了日時] より前の日付にする必要があります。
-
終了日時 – (オプション) ストリームの終了時刻を指定する排他的タイムスタンプ (UTC)。このパラメータを空白のままにすると、ストリームはキャンセルするまで無期限に実行されます。
-
[Destination stream] (送信先ストリーム) - ストリーミングがデータレコードを書き込む Kinesis Data Streams ターゲットリソース。次のARN形式を使用します。
arn:aws:kinesis:
aws-region
:account-id
:stream/kinesis-stream-name
次に例を示します。
arn:aws:kinesis:us-east-1:123456789012:stream/stream-for-qldb
クロスリージョンおよびクロスアカウントストリームはサポートされていません。指定された Kinesis データストリームは、台帳と同じ AWS リージョン アカウントにある必要があります。
-
Kinesis Data Streams でレコード集約を有効にする – (デフォルトで有効) 1 つの Kinesis Data Streams レコードに複数のデータレコードQLDBを発行し、API呼び出しごとに送信されるレコードの数を増やします。
-
サービスアクセス — Kinesis データストリームにQLDB書き込みアクセス許可を付与するIAMロール。
ジャーナルストリームをリクエストQLDBするときにロールを に渡すには、IAMロールリソースに対して
iam:PassRole
アクションを実行するアクセス許可が必要です。-
[Create and use a new service role] (新しいサービスロールを作成して使用する) - 指定された Kinesis データストリームに必要な許可を持つ新しいロールをコンソールで作成できます。
-
既存のサービスロールを使用する — でこのロールを手動で作成する方法についてはIAM、「」を参照してくださいストリームアクセス許可。
-
-
[Tags] (タグ) - (オプション) タグをキーと値の組み合わせとしてアタッチすることで、メタデータをストリーミングに追加します。ストリームにタグを追加すると、台帳の整理と識別がしやすくなります。詳細については、「Amazon QLDBリソースのタグ付け」を参照してください。
[Add tag (タグの追加)] を選択し、必要に応じて、任意のキーと値の組み合わせを入力します。
-
-
設定が目的どおりになったら、QLDB「ストリームの作成」を選択します。
リクエストの送信が成功すると、コンソールはメインストリームページに戻り、QLDBストリームを現在のステータスで一覧表示します。
-
ストリーミングがアクティブになったら、Kinesis を使用して、コンシューマーアプリケーションでストリーミングデータを処理します。
で Kinesis Data Streams コンソールを開きますhttps://console.aws.amazon.com/kinesis/
。
ストリームデータレコード形式の詳細については、「QLDB Kinesis でのストリームレコード」を参照してください。
エラーの原因となるストリームの処理方法については、「障害のあるストリームの処理」を参照してください。
ストリームをキャンセルするには (コンソール)
QLDB ストリームをキャンセルした後は、ストリームを再起動することはできません。Kinesis Data Streams へのデータの配信を再開するには、新しいQLDBストリームを作成できます。
https://console.aws.amazon.com/qldb
で Amazon QLDBコンソールを開きます。 -
ナビゲーションペインで、[ストリーム] を選択します。
-
QLDB ストリームのリストで、キャンセルするアクティブなストリームを選択します。
-
[Cancel stream (ストリームをキャンセル)] を選択します。表示されたボックスに「
cancel stream
」と入力して、削除を確定します。
または QLDBAPIで AWS SDK を使用してジャーナルストリームを作成および管理 AWS CLI する方法の詳細については、「」を参照してくださいQLDB でのストリームを使用した開発。
ストリームの状態
QLDB ストリームのステータスは、次のいずれかになります。
-
ACTIVE
- 現在、データのストリーミング中またはストリーミングを待機 (終了時刻が指定されていない無期限ストリーミングの場合) しています。 -
COMPLETED
- 指定された時間範囲内のすべてのジャーナルブロックのストリーミングが正常に完了しました。これは終了状態です。 -
CANCELED
- 指定された終了時刻より前にユーザーのリクエストによって終了し、データのストリーミングはアクティブではありません。これは終了状態です。 -
IMPAIRED
- アクションが必要なエラーが発生したため、レコードを Kinesis に書き込めません。これは、回復可能な非終端状態です。1 時間以内にエラーを解決すると、ストリームは自動的に
ACTIVE
状態に移行します。1 時間経過してもエラーが未解決のままである場合、ストリームは自動的にFAILED
状態に移行します。 -
FAILED
- エラーのため、レコードを Kinesis に書き込めず、回復不能な終了状態です。
次の図は、QLDBストリームリソースが状態間で移行する方法を示しています。
端末ストリームの有効期限
端末状態 (CANCELED
、COMPLETED
、および FAILED
) のストリームリソースには、7 日間の保持期間が適用されます。この制限の有効期限が切れると、自動的にハード削除されます。
ターミナルストリームが削除されると、QLDBコンソールまたは を使用してストリームリソースをQLDBAPI記述または一覧表示できなくなります。
障害のあるストリームの処理
ストリーミングでエラーが発生した場合は、IMPAIRED
状態にまず移行します。QLDB は最大 IMPAIRED
1 時間ストリームを再試行します。
1 時間以内にエラーを解決すると、ストリームは自動的に ACTIVE
状態に移行します。1 時間経過してもエラーが未解決のままである場合、ストリームは自動的に FAILED
状態に移行します。
障害のあるストリームまたは失敗したストリームには、次のいずれかのエラー原因があります。
-
KINESIS_STREAM_NOT_FOUND
- ストリーミング先の Kinesis Data Streams リソースは存在しません。ストリームリクエストで指定した Kinesis データQLDBストリームが正しいことを確認します。次に、Kinesis に移動し、指定したデータストリームを作成します。 -
IAM_PERMISSION_REVOKED
– QLDB には、指定された Kinesis データストリームにデータレコードを書き込むのに十分なアクセス許可がありません。次のアクションに対するQLDBサービス (qldb.amazonaws.com
) アクセス許可を付与する、指定された Kinesis データストリームのポリシーを定義していることを確認します。-
kinesis:PutRecord
-
kinesis:PutRecords
-
kinesis:DescribeStream
-
kinesis:ListShards
-
障害のあるストリームのモニタリング
ストリームが障害されると、QLDBコンソールにストリームの詳細と発生したエラーを示すバナーが表示されます。DescribeJournalKinesisStream
API オペレーションを使用して、ストリームのステータスと根本的なエラーの原因を取得することもできます。
さらに、Amazon を使用して、ストリームのIsImpaired
メトリクスを監視するアラーム CloudWatch を作成できます。でQLDBメトリクスをモニタリングする方法については CloudWatch、「」を参照してくださいAmazon のQLDBディメンションとメトリクス。