

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

# カスタムイベントバス - Classic からカスタムイベントバスへの移行
<a name="eb-custom-bus-migrate"></a>

カスタムイベントバス - Classic は引き続き利用可能で、両方の製品を並べて実行できます。カスタムイベントバスは IAM `events:` 名前空間と`events.amazonaws.com`サービスプリンシパルを保持するため、ID ポリシーと配信ロールが引き継がれます。変更点はルーティングモデルです。


| カスタムイベントバス - クラシック | カスタムイベントバス | 
| --- | --- | 
| ルールとそのターゲットの 1 つ | 1 人のサブスクライバー | 
| 5 つのターゲットを持つルール | 同じバス上の 5 人のサブスクライバー | 
| ルールのイベントパターン | スコープが のフィルターDATA。プロデューサーが を使用して発行する場合PutEvents、パターンは変更されません。 | 
| 入力トランスフォーマー | タイプのトランスフォーマー JSONATA | 
| ターゲットのデッドレターキュー | OnFailureConfiguration サブスクライバーの | 
| ターゲットでポリシーを再試行する | RetryPolicy サブスクライバーの | 
| アーカイブと再生 | バスの保持とサブスクライバーの開始位置 | 
| 各コンシューマーのバス所有者によって書き込まれたルール | コンシューマー自身が作成したサブスクライバー | 
| events:PutEvents | events:PutEvents、JSON 以外のペイロードevents:PutRawEventsの場合は プラス | 

4 つの機能にはカスタムイベントバス - クラシックに相当するものがないため、移行された設計では回避策なしでそれらを使用できます。バス自体の保持、サブスクライバーの開始位置、バックログによる一時停止と再開、JSON 以外のペイロード用の 2 番目のパブリッシュ API です。すべてを移動する必要はありません。2 つのバスは並べて実行され、カスタムイベントバス - Classic ルールはカスタムイベントバスをターゲットにでき、サブスクライバーはカスタムイベントバス - Classic をターゲットにできるため、一度に 1 つのコンシューマーまたは 1 つのプロデューサーを移動できます。「[イベントバスターゲット: bus to bus](eb-custom-bus-target-bus.md)」を参照してください。

## 変わらないこと
<a name="eb-custom-bus-migrate-unchanged"></a>

以下は同じままであるため、デプロイの対応する部分はそのまま引き継がれます。


| 変更なし | 移動の意味 | 
| --- | --- | 
| IAM アクション名前空間events:とevents.amazonaws.comサービスプリンシパル | ID ポリシー、バスリソースポリシー、および配信ロールの信頼ポリシーが再利用されます | 
| ターゲットサービス: Amazon SQS、Lambda、Amazon SNS、Kinesis、Firehose、Step Functions、API Gateway、API 送信先、イベントバス | 配信ロールは同じターゲットアクションを保持します。各ターゲットには Classic と同じフィールドを持つパラメータブロックがあります。「[カスタムイベントバスサブスクライバーのターゲット](eb-custom-bus-targets.md)」を参照してください。 | 
| ワイルドカードを除くイベントパターン構文 | ルールパターンは、PutEventsトラフィックのDATAフィルターが変更されません。「[サブスクライバーのイベントのフィルタリング](eb-custom-bus-filtering.md)」を参照してください。 | 
| AWS サービスイベントと SaaS パートナーイベント | 同じイベントがイベントソースを介してカスタムイベントバスに到達します。「[カスタムイベントバスのイベントソース](eb-custom-bus-event-sources.md)」を参照してください。 | 
| PutEvents API とエンベロープ | プロデューサーがリクエストではなくエンドポイントとクライアントを変更する | 
| JSONata による入力変換 | 式は のイベントTransformerで に移動します。 $events | 

## 異なるデフォルト
<a name="eb-custom-bus-migrate-defaults"></a>

**重要**  
サブスクライバーは、失敗した配信をデフォルトで 300 秒と 5 回再試行します。カスタムイベントバス - クラシックターゲットは 24 時間 185 回再試行します。コンシューマーが停止中に 1 日の再試行に依存している場合は、各サブスクライバーで `RetryPolicy.MaxEventAgeInSeconds`を 86,400 `MaxRetryAttempts`に設定し、185 に設定して、デッドレターキューをアタッチします。そうしないと、5 分以上失敗したイベントは遅延配信ではなくデッドレター処理されます。「[再試行ポリシーとデッドレターキュー](eb-custom-bus-retry.md)」を参照してください。

さらに 2 つのデフォルトが異なります。サブスクライバーは、バッチを JSON 配列として関数またはステートマシンに配信します。ここで、ルールは呼び出しごとに 1 つのイベントを配信します。呼び出しごとに 1 つのイベントを保持するように を 1 `BatchConfiguration.MaxBatchSize`に設定します。また、バスはイベントを保持するため、インシデント後に作成されたサブスクライバーは見逃したものを読み取ることができます。ここでは、ルールの作成が遅れても何も表示されません。

## 特注の同等のものがない従来のターゲット
<a name="eb-custom-bus-migrate-targets"></a>

すべてのカスタムイベントバス - カスタムイベントバスにカスタムターゲットがないクラシックターゲットタイプは、サービスの API アクションを呼び出すユニバーサルターゲットを介して到達します。`TargetArn` を に設定`arn:aws:events:::aws-sdk:{{service}}:{{apiAction}}`し、 でリクエストを構築します`Input`。「」を参照してください[カスタムイベントバスのユニバーサルターゲット](eb-custom-bus-universal-targets.md)。


| カスタムイベントバス - クラシックターゲット | ユニバーサルターゲットアクション | 
| --- | --- | 
| Amazon ECS タスク | arn:aws:events:::aws-sdk:ecs:runTask | 
| AWS バッチジョブ | arn:aws:events:::aws-sdk:batch:submitJob | 
| CodeBuild プロジェクト | arn:aws:events:::aws-sdk:codebuild:startBuild | 
| CodePipeline パイプライン | arn:aws:events:::aws-sdk:codepipeline:startPipelineExecution | 
| Systems Manager Run Command | arn:aws:events:::aws-sdk:ssm:sendCommand | 
| Systems Manager Automation | arn:aws:events:::aws-sdk:ssm:startAutomationExecution | 
| AWS Glue ワークフロー | arn:aws:events:::aws-sdk:glue:startWorkflowRun | 
| SageMaker パイプライン | arn:aws:events:::aws-sdk:sagemaker:startPipelineExecution | 
| Redshift Data API ステートメント | arn:aws:events:::aws-sdk:redshiftdata:executeStatement | 
| CloudWatch Logs ロググループ | arn:aws:events:::aws-sdk:cloudwatchlogs:putLogEvents | 
| Amazon EC2 アクション (停止、再起動、終了、スナップショットの作成) | arn:aws:events:::aws-sdk:ec2:stopInstances, rebootInstances, terminateInstances, createSnapshot | 
| Inspector の評価 | arn:aws:events:::aws-sdk:inspector:startAssessmentRun | 

サービス名とアクション名はユニバーサルターゲットの命名規則に従います。 は認識されない名前`CreateSubscriber`を拒否するため、サブスクライバーの作成時にそれぞれを確認します。

## 移行シーケンス
<a name="eb-custom-bus-migrate-steps"></a>

一度に 1 つのバスを 5 つのステップで移動し、最後のステップまでカスタムイベントバス - クラシックルールを実行したままにします。ルールを削除するまで、各ステップは元に戻されます。

**重要**  
ルールからコピーされたパターンは、API がカスタムイベントバス - Classic と同じエンベロープを生成するため`PutEvents`、 で公開されたイベントと一致します。同じパターンは、ペイロードが の下にネストされていないため`PutRawEvents`、 で発行されたイベントには一致しません`detail`。「[イベント構造: データ、メタデータ、システムメタデータ](eb-custom-bus-addressing.md)」を参照してください。

1. 必要な保持期間でカスタムイベントバスを作成し、その状態が になるまで待ちます`ACTIVE`。

1. ルールごとに、ターゲットごとに 1 つのサブスクライバーを作成します。ルールのイベントパターンを`DATA`フィルターとして、入力トランスフォーマーを`JSONATA`トランスフォーマーとして、ターゲットロールを として使用します`RoleArn`。デッドレターキューをアタッチし、トラフィックを送信する前にログをオンにします。

1. プロデューサーから両方のバスに発行し、各ターゲットで両方のパスが同じイベントを配信することを確認します。

1. プロデューサーをカスタムイベントバスにのみ移動します。

1. カスタムイベントバス - Classic のルールを無効にします。再試行ウィンドウと独自の検証期間が経過したら、それらを削除します。