Container Registry (ACR) は EventBridge と連携して、イベント通知機能を提供します。イメージのレプリケーション、イメージのビルド、イメージのスキャン、デリバリーチェーンの実行、またはイメージの署名中に発生するステータスの変更に関する通知を受信したい場合は、DingTalk、HTTP ゲートウェイ、または HTTPS ゲートウェイを使用できます。
前提条件
Container Registry Enterprise Edition インスタンスが作成されていること。詳細については、「Container Registry Enterprise Edition インスタンスの作成」をご参照ください。
EventBridge が有効化されていること。詳細については、「EventBridge の有効化と権限の付与」をご参照ください。
注意事項
-
Container Registry (ACR) のイベント通知機能は、中国 (上海) 金融、中国 (深セン) 金融、中国 (杭州) 金融、中国 (北京) Ali Gov 1、およびイギリス (ロンドン) リージョンでは利用できません。
1 つのリージョンで許可されるイベントルールの最大数は 10 です。EventBridge と ACR でそれぞれ最大 10 個のイベントルールを作成できます。最大数に達した場合は、不要になったイベントルールを削除できます。
EventBridge では、イベント ID でクエリできるのは 3 日以内のイベントのみです。
DingTalk を使用してイベント通知を送信する場合、DingTalk チャットボットの制限により、各 DingTalk チャットボットがグループに送信できるメッセージは 1 分あたり最大 20 件です。イベント通知の数が 20 を超えると、DingTalk チャットボットは 10 分間スロットリングされます。
ACR でイベントルールを作成した後、EventBridge で通知タイプなどのイベントルール情報を変更できます。詳細については、「イベントターゲットの変更」をご参照ください。
重要EventBridge でイベントルールを変更した後に ACR で同じイベントルールを変更すると、ACR のデフォルトのイベントルールが EventBridge のイベントルールを上書きします。たとえば、EventBridge でイベント通知テンプレートを変更した後に ACR でイベントルールの有効範囲を変更すると、ACR のデフォルトのイベント通知テンプレートが EventBridge のイベント通知テンプレートを上書きします。EventBridge でのイベント通知テンプレートの変更は ACR に同期されず、有効になりません。
ステップ 1:DingTalk チャットボットの作成
このステップは、DingTalk を使用して通知を送信する場合にのみ実行する必要があります。
チャットボットを追加する DingTalk グループチャットを開き、右上隅の
アイコンをクリックします。-
[グループ設定] パネルで、[グループアシスタント] をクリックします。
-
[グループアシスタント] ダイアログボックスで [ロボットを追加] をクリックし、[ロボットを追加] の横にある
アイコンをクリックします。 -
[チャットボット] ダイアログボックスで、カスタマイズ をクリックします。
-
[ロボットの詳細] ダイアログボックスで、追加 をクリックします。
-
[ロボットを追加] パネルで、ロボットの名前を入力し、[署名] と [「カスタムロボットサービスと免責事項」を読み、同意します] を選択して、完了 をクリックします。もう一度 完了 をクリックします。
-
[チャットボット] ダイアログボックスで、作成したロボットの横にある
アイコンをクリックします。設定 ダイアログボックスで、Webhook アドレスと署名キーをコピーし、完了 をクリックします。
ステップ 2:イベントルールの作成
Container Registry コンソールにログインします。
上部のナビゲーションバーで、リージョンを選択します。
-
左側のナビゲーションウィンドウで、インスタンス をクリックします。
[インスタンス] ページで、管理する Enterprise Edition インスタンスをクリックします。
-
インスタンス詳細ページの左側のナビゲーションウィンドウで、 を選択します。
-
イベントルール タブで、ルールの作成 をクリックします。
-
イベントの範囲 ウィザードで、パラメーターを設定し、次へ をクリックします。
パラメーター
説明
ルール名
イベントルールの名前を指定します。
イベントタイプ
イベント通知をトリガーするイベントのタイプを指定します。次のイベントタイプがサポートされています:
cr:Artifact:SynchronizationCompleted:イメージ同期の成功、失敗、またはキャンセル。
cr:Artifact:BuildCompleted:イメージビルドの成功、失敗、またはキャンセル。
cr:Artifact:ScanCompleted:イメージスキャンの成功または失敗。
cr:Artifact:DeliveryChainCompleted:デリバリーチェーンの処理の成功、失敗、キャンセル、または拒否。
cr:Artifact:SigningCompleted:イメージのタグ付けの成功または失敗。
このトピックでは、イメージスキャンを例として使用します。[イメージスキャン完了] を選択し、完了 チェックボックスを選択します。
有効範囲
イベントの有効範囲を指定します:
インスタンス:イメージタグの正規表現を設定します。Enterprise Edition インスタンス内のイメージタグが正規表現に一致すると、イベント通知がトリガーされます。
名前空間:名前空間を選択し、イメージタグの正規表現を設定します。名前空間内のイメージタグが正規表現に一致すると、イベント通知がトリガーされます。
リポジトリ:名前空間とリポジトリを選択し、イメージタグの正規表現を設定します。イメージリポジトリ内のイメージタグが正規表現に一致すると、イベント通知がトリガーされます。
-
インシデント通知 ウィザードで、通知方法を設定し、保存 をクリックします。
通知方法として、DingTalk、HTTP、または HTTPS を選択できます。
DingTalk:[通知方法] を [DingTalk] に設定し、Webhook アドレスと署名キーを入力します。この例では、DingTalk 通知方法を使用します。
HTTP:[通知方法] を [HTTP] に設定し、HTTP アドレスを入力します。
HTTPS:[通知方法] を [HTTPS] に設定し、HTTPS アドレスを入力します。
ACR でイベントルールが作成されると、同じ名前のイベントルールが EventBridge のデフォルトイベントバスに自動的に作成されます。EventBridge のイベントルールは、デフォルトの DingTalk 通知テンプレートを使用します。
イメージスキャンが成功すると、DingTalk グループは次の通知を受信します。

関連操作
このセクションでは、イベントトレースの表示方法について説明します。
Container Registry コンソールにログインします。
上部のナビゲーションバーで、リージョンを選択します。
-
左側のナビゲーションウィンドウで、インスタンス をクリックします。
[インスタンス] ページで、管理する Enterprise Edition インスタンスをクリックします。
-
インスタンス詳細ページの左側のナビゲーションウィンドウで、 を選択します。
-
インシデント通知 ページで、イベント履歴 タブをクリックし、対象のイベント ID の 詳細を表示 をクリックします。
-
EventBridge コンソールで、[イベント ID でクエリ] タブに移動し、対象のイベント ID を見つけて、操作 列の イベントトレース をクリックします。
イベントトレース ダイアログボックスで、イベントの受信と配信の詳細を表示できます。