クローンおよびアップグレード後の MID サーバーの問題: "Unable to subscribe to AMB channel: /mid/server/"Issue Unable to subscribe to AMB channel: /mid/server/<sys_id> という警告が表示される場合、特にクローン後にアップグレードを実施した環境で、すべての MID Server に同じエラーが発生している場合。 エージェントログメッセージは次のようになります。 2020-02-18 09:08:43 (019) StartupSequencer Initializing AMB client...2020-02-18 09:08:43 (023) AMBClientProvider Connecting AMB client to instance......2020-02-18 09:08:43 (796) StartupSequencer StartupSequencer: setting sysId: <sys_id>, command: sudo, password prompt: as default privileged command...2020-02-18 09:08:43 (930) AMBClientProvider WARNING *** WARNING *** Unable to subscribe to AMB channel: /mid/server/<sys_id>...2020-02-18 09:09:50 (264) ECCQueueMonitor.40 WARNING *** WARNING *** Reconnecting AMB channel.. そしてまた繰り返します。 2020-02-18 09:09:50 (265) ECCQueueMonitor.40 Initializing AMB client...2020-02-18 09:09:50 (272) AMBClientProvider Connecting AMB client to instance... Release AMB を使用するすべてのリリース(Helsinki 以降。AMB Channel が実装されたリリース)。この問題は、MID サーバーのバージョンアップグレードと組み合わされたインスタンスで実行されたクローンに関連しています。 Cause インスタンスのクローンおよびアップグレード後にのみ発生している場合、考えられる原因の一つは、インスタンスと MID Server 間の暗号化キーの不一致です。 しかしながら、MID Server エージェントログにおいて、以前から AMB Channel の接続問題 が発生していた可能性の方が高く、その原因はお客様環境側のネットワークインフラにあることが一般的です。たとえば、プロキシやファイアウォールによってセッションが切断されている場合などが考えられます。 Resolution この問題の解決方法は、Rekey a MID Server に記載されている手順に従って MID Server の再キー設定(rekey)を実施することです。 ただし、現在この操作を実行できるのは、Basic Authentication(ユーザー名とパスワード認証)を使用している MID Server のみです。インスタンスとの認証に iPKI または mTLS を使用している MID Server に対しては、この方法は解決策にはなりません。 この問題が他のタイミングで断続的に発生する場合の原因および回避策については、次の記事で説明されています。AMB Channel が機能しない場合の実際の影響は、新しいジョブがキューに追加されたことを MID Server が認識するまでにわずかな遅延が生じる程度であるためです。 KB0695359 Why do my integrations via MID Servers sometimes take up to 40 seconds longer to run, or timeout? インテグレーションが ECC Queue における短時間または長時間の遅延を許容できるように設計されている場合、特にすべての MID Server が停止するアップグレード期間中にはそのような遅延が発生することが想定されるため、AMB Channel の問題そのものは大きな問題にはなりません。 REST/SOAP インテグレーションを、待機やタイムアウトに依存することなく、真に非同期で実行できるよう設計する方法については、次の記事を参照してください。 KB0694711 Outbound REST Web Services RESTMessageV2 and SOAPMessageV2 execute() vs executeAsync() 記事の最後にある RESTMessageV2: MID Server, executeAsync(), setEccParameter('skip_sensor', 'true'), setEccCorrelator() セクションで説明されている方法が、RESTMessageV2/SOAPMessageV2 API と MID Server を組み合わせて使用する際の唯一の推奨方法です。