Secure Agentグループでのエージェントのフェイルオーバー アプリケーション取り込みとレプリケーション ジョブまたはデータベース取り込みとレプリケーション ジョブの実行中にSecure Agentグループ内のアクティブなエージェントが予期せずダウンした場合、ジョブはグループ内の別の使用可能なエージェントにフェイルオーバーできます。
アプリケーション取り込みとレプリケーション とデータベース取り込みとレプリケーション は、サポートされている任意のソースタイプを持つ初期ロードジョブで自動フェイルオーバーをサポートしています。データベース取り込みとレプリケーション では、Db2 for i、Db2 for LUW、Db2 for z/OS、MongoDB、MySQL、Oracle、PostgreSQL、SAP HANA、またはSQL Serverソースを持つ増分ロードジョブ、および初期ロードと増分ロードの組み合わせジョブに対する自動フェイルオーバーもサポートされています(ただし、以下の制限があります)。
• ジョブで永続ストレージを有効にすることはできません。• Kafkaターゲットを持つジョブは、チェックポイント情報をKafkaヘッダーに格納する必要があります。2025年7月リリースより前に存在していたジョブについては、チェックポイント情報がSecure Agentのチェックポイントファイルに格納されるため、自動スイッチオーバーを実行できません。• Db2 for LUW、Oracle、またはSQL Serverソースからの変更をキャプチャするためにクエリベースのCDCメソッドを使用しているジョブは、Amazon Redshift、Databricks、Google BigQuery、Microsoft Azure Synapse Analytics、Oracle、PostgreSQL、Snowflake、またはSQL Serverをターゲットとする必要があります。• SAP HANAソースを持つジョブはトリガベースのCDCメソッドを使用できません。• PostgreSQL接続に読み取り専用レプリカを使用している場合は、タスク設定ウィザードの[タスクの詳細] ソースページで、readerPostgreSQLShouldDisableLocalPersistentカスタムプロパティをfalseに設定する必要があります。アプリケーション取り込みとレプリケーション では、SAP ODPソースおよびKafkaターゲットを除く、サポートされているすべてのソースおよびターゲットタイプにおいて、増分ロードジョブ、および初期ロードと増分ロードの組み合わせジョブに対する自動フェイルオーバーもサポートされています(ただし、以下の制限があります)。
• ジョブで永続ストレージを有効にすることはできません。• データベース取り込みサービスが停止状態である場合は、手動で停止してからジョブを再開する必要があります。自動フェイルオーバーは、元のエージェントの15分のハートビート間隔が過ぎた後に発生します。手動フェイルオーバーは、元のエージェントがダウンしている間にジョブを中止して再開することでトリガできます。
フェイルオーバーは、グループ内のエージェントに対するデータベース取り込みエージェントサービスのsupportedLoadTypesプロパティを設定する方法によって影響を受ける可能性があります。このプロパティは、グループ内のエージェントごとに個別に設定して、エージェントごとに異なるロードタイプを実行するようにすることができます。このシナリオでは、グループ内の別のエージェントが障害が発生したエージェントと同じロードタイプに設定されているか、両方のロードタイプ(初期および増分)に対して設定されている場合にのみ、フェイルオーバーが発生します。例えば、エージェントAのsupportedLoadTypesプロパティを増分、エージェントBを初期、エージェントCを初期と増分に設定した場合、エージェントAがダウンすると、ジョブはエージェントBにフェイルオーバーできませんが、エージェントCにはフェイルオーバーできます。また、エージェントCがダウンした場合、ジョブは内部のロードタイプのマッチングに応じて、エージェントAまたはBにフェイルオーバーできます。
また、フェイルオーバーはエージェントの容量の影響を受けます。エージェントAに障害が発生しても、エージェントCがすでに完全なロードで実行されている場合、エージェントCの容量が使用可能になるまでフェイルオーバーは発生しません。例えば、エージェントCで実行中のジョブが停止した場合、エージェントAからエージェントCへのフェイルオーバーを発生させるのに十分な容量が空く可能性があります。
もう1つの考慮事項は、Secure Agentグループ内のすべてのエージェントが負荷分散とフェイルオーバーに使用されることです。複数のエージェントが同じロードをサポートしている場合、そのロードタイプのジョブを複数のエージェントに分散させることができます。ただし、フェイルオーバーに使用するエージェントを指定することはできません。