Amazon Web Services ブログ

Amazon Elastic Container Registry での EventBridge サポート



コンテナイメージを保存する安全でプライベートな場所が必要であるという理由から、フルマネージド型のコンテナレジストリである Amazon Elastic Container Registry を使用するお客様が多くいます。先日 Amazon EventBridge のサポートを追加しました。これにより、イメージがプッシュまたは削除されたときにアクションをトリガーできるようになりました。これらのアクションは、イメージがプッシュされたときに継続的インテグレーションや継続的デプロイパイプラインをトリガーしたり、イメージが削除されたときに DevOps チームの Slack チャネルにメッセージを投稿したりできます。

この新しい機能により、複雑なワークフローも実行できます。たとえば、お客様はベースイメージでイメージをプッシュするイベントを使用し、そのベースの上に構築されたイメージの再構築をトリガーできます。このシナリオでは、ベースイメージを毎週再構築して、最新のセキュリティパッチを取得することになります。ベースイメージのリポジトリからのプッシュイベントは他のビルドをトリガーすることができ、派生したすべてのイメージにもパッチが適用されます。

この新しい機能の使用方法を説明するために、コンソールを開いて、すべての要素がどのように組み合わさるか、サンプルを使って考えてみたいと思います。

Amazon EventBridge コンソールで新しいルールを作成し、一意の名前と説明を入力します。

次にスクロールダウンして [Define pattern] を選択し、使用するイベントパターンの種類のカスタマイズを開始します。デフォルトの Event pattern ラジオボタンを選択したままにします。また、Pre-defined pattern by service も選択します。Elastic Container Registry は AWS のサービスであるため、Service Provider は [AWS] を選択します。

Service Name セクションでは、イベントソースとしてさまざまな AWS のサービスから 1 つ選択できます。ここでは、リストに新しく追加された最新の Elastic Container Registry (ECR) を選択します。最後に、このセクションでは、Event type に ECR Image Action を選択します。 この ECR Image Action には、アクションタイプとして DELETEPUSH の両方が含まれています。

次に、使用するイベントバスの設定をするよう求められます。この例では、すべての AWS アカウントに付属している AWS default event bus を選択します。

イベントの発信元を特定したので、次にイベントの送信先を指定する必要があります。これらのターゲットを呼び出しますが、ここには多くのオプションがあります。たとえば、Lambda 関数、Kinesis ストリーム、これ以外にもさまざまな AWS ターゲットから 1 つ選んでイベントを送信できます。

簡単に説明するために、Amazon Simple Notification Service (SNS) トピックを呼び出すことにします。このトピックは ImageAction と呼ばれます。今回はこのトピックにサブスクライブしているため、このトピックで新しいメッセージを受信すると E メールが届きます。

お持ちのノートパソコンに戻って、コンテナの新しいバージョンを Elastic Container Registry 内のリポジトリにプッシュします。

Elastic Container Registry コンソールに移動すると、Docker イメージが正常にプッシュされたことがわかります。次に、イメージを選択して [Delete] ボタンをクリックし、新しいイメージを削除します。

これにより、PUSH イベントと DELETE イベントの両方が SNS トピックに送信され、そのトピックのサブスクライバーとして 2 通の E メールを受信します。

 

Outlook を開くと、確かに、それぞれのアクションタイプが PUSHDELETE の両方である E メールを 2 通 (見づらいことは否定しません)、受信しています。

これで、Elastic Container Registry でイベントを結び付けることができ、ワクワクする素晴らしいことができるようになりました。 Amazon Elastic Container RegistryAmazon EventBridge サポートは、すべてのパブリック AWS リージョンと GovCloud (米国) で利用可能です。Amazon EventBridge コンソールで今すぐお試しください。

みなさんのお役に立てますように!

Martin