OpsCenterのクロスアカウント管理で委任管理者からメンバーアカウントのOpsItemが表示されない時の対処法
こんにちは、クラスメソッドテクノロジーズの中野です。
今週末に控えた別府大分毎日マラソンを前に武者震いをして日々を過ごしています。
2025年秋にAWS Systems Manager Incident Manager(以降Incident Manager)の新規受入の終了が案内されました。
それを受けて、組織のインシデント管理・運用課題管理の基盤として、 AWS Systems Manager OpsCenter (以降OpsCenter)への移行や一本化を検討・対応されている方も多いのではないでしょうか。
慎重に検討した後、 AWS は 2025 年 11 月 7 日以降、 AWS Systems Manager Incident Manager への新規顧客の受け入れを停止することを決定し、今後は Incident Manager に新機能や機能を追加しません。 AWS は Incident Manager のセキュリティと可用性に引き続き投資し、既存の Incident Manager のお客様は、Incident Manager が既に有効になっているアカウントで通常どおりサービスを使用できるようになります。
AWS インフラストラクチャの運用上の問題を管理するには、AWS Systems Manager OpsCenterを使用することをお勧めします。
OpsCenter自体は2019年にリリースされたサービスであり、機能としても成熟している印象を受けます。
Incident Managerと同様に、マルチアカウント環境でのインシデント一元管理も可能です。
しかし、いざ環境を構築してみると 設定は合っているはずなのに、管理画面にうまく表示されない ケースがありました。
今回は、OpsCenterのクロスアカウント管理において、ハマりやすい表示の仕様と、その解決策について共有します。
3行まとめ
- OpsCenterでクロスアカウント管理を行う際、委任管理者アカウント自身以外のOpsItemは設定完了後もデフォルトでは一覧に表示されない仕様があります。
- 原因は権限不足ではなく「他アカウントの表示には明示的なフィルタリングが必須」というコンソールおよびAPIの仕様によるものです。
- 解決策はOpsCenter画面で アカウントIDフィルタを指定することだけ であり、これで委任管理者からの操作が可能になります。
委任管理者からメンバーアカウントのOpsItemが見えない
実現したかった運用
AWS Organizations環境下において、委任管理者アカウントから、組織内の全メンバーアカウントのOpsItemを一元的に監視・操作する運用です。
これまでの Incident Managerでの運用感覚と同様に、以下のフローを想定していました。
- 監視担当チームは委任管理者アカウントのコンソールにログインする(メンバーアカウントへのスイッチロールはしない)。
- OpsCenter の一覧画面で、全アカウントのOpsItemを確認する。
- 対応に合わせてステータスを更新し、インシデント管理を実行する。
これにより1つのAWSアカウントでマルチアカウント環境のインシデントを取りこぼすことなく一元管理を実現しようとしていました。
直面した事象
AWS公式ドキュメントを参考にQuick Setupを用いてクロスアカウント設定を完了しました。
その後、エラーも出ていない状態でしたが以下の状況に陥りました。
- エクスプローラー画面(ダッシュボード): 全アカウントの集計値が表示されている。
- OpsCenter画面(OpsItem一覧): リストが「0件」と表示される。
「エクスプローラー」ではデータが見えているのに、肝心の操作を行う「OpsCenter」画面には何も表示されないため、詳細の確認やステータス変更ができない状態でした。
原因
コンソールのフィルタ仕様
この原因は、「 委任管理者からクロスアカウントのOpsItemを一覧表示するには、明示的なフィルタリングが必須 」という仕様であるというものでした。
デフォルトの「フィルタなし」の状態では、たとえ権限があっても、他アカウントのOpsItemは一覧にロードされません。
技術的な裏付け
AWS CLIでの挙動を確認すると、その仕様がよく分かります。
# 【NG】これだと自アカウント分しか返ってこない(または空)
aws ssm describe-ops-items
# 【OK】アカウントIDを明示的に指定すると取得できる
aws ssm describe-ops-items \
--ops-item-filters Key=AccountId,Operator=Equal,Values=[OpsItemが作成されたメンバーアカウントID]
マネジメントコンソールもこのAPIの挙動に準拠しており、「アカウントIDを指定しない限り、他アカウントのデータは取ってこない」という動作になっていました。
気づけなかった原因
この問題の厄介な点は、設定ミスに見えてしまう状況証拠が揃っていることです。
- エクスプローラー上では見えている: データ連携自体は成功している と確信できるため、コンソールの表示仕様だとは思いにくい。
- 作成画面では他のアカウントが選べる: 委任管理者アカウントでのOpsItemの手動作成画面では「その他のアカウント」の選択肢が出るため、 クロスアカウント権限自体は正常に見える 。
- ドキュメントの記載: 「一元管理できる」という記載から、Incident Managerのように 何もしなくても全件が表示される ビューを期待してしまう。
これらにより、「権限設定が足りないのでは?」「同期に時間がかかっているのでは?」という方向へ調査のリソースを割いてしまいがちです。(私は割いてしまいました。)
解決した方法
解決策は非常にシンプルです。コンソール上で「 アカウントIDによるフィルタリング 」を行います。
手順
- 委任管理者アカウントで OpsCenter コンソールを開く。
- OpsItemタブを選択する。
- 検索フィルタ欄で以下を指定する。
- フィルタキー:
アカウント ID - 条件:
=(イコール) - 値:
[対象のメンバーアカウントID](サンプルとして123456789012と記載)

これで、表示されていなかったメンバーアカウントのOpsItemが表示されます。
一度表示されれば、その後の詳細確認やステータス変更は問題なく実行可能です。
注意点とまとめ
Incident ManagerからOpsCenterへ移行する際は、以下のOpsCenterのコンソール画面特有の癖を理解しておく必要があります。
1. 一元管理という表現におけるのUI上の違い
Incident Managerは「インシデント」という単位で集約されますが、OpsCenterのクロスアカウント表示は「見たいアカウントを能動的に指定する」設計になっています。
「全アカウントのアイテムが時系列やステータス順にズラッと並ぶタイムライン」を期待すると、運用フローに調整が必要になります。
2. ブラウザリロードでフィルタが消える
マネジメントコンソールの仕様上、画面のリロードや別タブでの遷移を行うと、設定した アカウント ID フィルタがリセットされることがあります。
監視担当者による運用時は「表示されないときはフィルタを確認する」という手順を周知するか、フィルタ適用済みのURLをブックマークして運用するといったカバーリングが必要になります。
おわりに
OpsCenterは柔軟で便利な機能ですが、クロスアカウント周りのUIに一癖あります。
この記事が、スムーズなOpsCenter利活用の一助になれば幸いです。
参考






