AWS Backup ジョブが失敗した場合にメール通知を受け取ることを希望します。
簡単な説明
Amazon EventBridge を使用すると AWS Backup イベントを監視できます。たとえば、バックアップジョブが失敗したときに通知を受けたいとします。その場合は 5 分ごとにベストエフォート方式で AWS Backup が EventBridge にイベントを送信します。Amazon CloudWatch イベントを使用することもできますが、EventBridge を使用してバックアップイベントを管理する方がベストプラクティスです。CloudWatch イベントまたは EventBridge のいずれかに変更を加えると、その変更は両方のサービスコンソールに表示されます。
EventBridge を使用して 1 つの AWS リージョンで失敗したバックアップジョブの通知を有効にするには、以下の手順に従ってください:
- お住まいのリージョンに Amazon Simple Notification Service (Amazon SNS) のトピック (たとえば us-east-1) を作成します。
- SNS トピックに対するサブスクリプションを作成し、そのサブスクリプションを確認します。
- 作成した SNSトピックをターゲットとして使用して、お住まいの地域の EventBridge でルールを作成します。
**注意:**他の AWS アカウントとの間でイベントを送受信するために AWS アカウントを設定することもできます。これは、アカウントが AWS Organizations の同じ組織に属している場合に有益です。同様にこの方法は、アカウントが、パートナーである組織または同様の関係を持つ組織に属している場合に有益です。詳細については、「AWS アカウント間のイベントの送受信」および「AWS アカウント間の Amazon EventBridge イベントの送受信」を参照してください。
解決策
SNS トピックの作成
まず、SNS トピックを作成します。SNS トピックは、通信チャネルとして機能する論理アクセスポイントです。このトピックを使用すると、AWS Lambda、Amazon SNS、HTTP/S、またはメールアドレスなどの複数のエンドポイントをグループ化できます。次の手順では、電子メールアドレスをエンドポイントとして使用します。
- Amazon SNS コンソールを開きます。
- [Create topic](トピックの作成) ページで、[Create topic](トピックの作成) を選択します。
- [Create topic](トピックの作成) ウィンドウで、[Standard](標準) を選択します。
- トピックの**[Name]** (名前) と、必要に応じて**[Display name]** (表示名) を入力します。
- [Create topic](トピックの作成) を選択します。
SNS トピックに対するサブスクリプションを作成し、そのサブスクリプションを確認します
公開されたメッセージを受信するために作成した SNS トピックにエンドポイントをサブスクライブします。エンドポイントを SNS トピックにサブスクライブすると、エンドポイントは関連する SNS トピックに公開されたメッセージを受信します。SNS トピックに対するサブスクリプションを作成して確認するには、次の手順に従います。
- 前のセクションでトピックを作成すると、[Topic details] (トピックの詳細) ウィンドウが表示されます。[Subscriptions] (サブスクリプション) タブを選択し、[Create subscription](サブスクリプションの作成) を選択します。
- プロトコル****タイプで、[Email] (電子メール) を選択します。
- [Endpoint](エンドポイント) に、通知を受け取りたいメールアドレスを入力します。
- [Create subscription](サブスクリプションの作成) を選択します。
- 電子メールのサブスクリプションは現在保留中です。この後、AWS からサブスクリプションを確認するメールが送信されます。そのメールの [Confirm subscription] (購読を確認する) リンクをクリックします。
SNS トピックをターゲットとするルールを EventBridge に作成する
イベントのルールを作成するときは、ルール内のイベントパターンに一致するイベントを受信したときに EventBridge が実行するアクションを指定します。イベントが一致すると、EventBridge は指定されたターゲットにイベントを送信し、ルールで定義されているアクションをトリガーします。
アカウントの AWS サービスがイベントを発行すると、そのイベントは常にアカウントのデフォルトのイベントバスに送られます。AWS サービスからのイベントに一致するルールをアカウントに書き込むには、デフォルトのイベントバスに関連付ける必要があります。
AWS サービスのルールを作成するには、次の手順に従います:
-
[EventBridge console](EventBridge コンソール) を開きます。
-
ナビゲーションペインで、[Rules](ルール) 、[Create rule](ルールを作成する) の順に選択します。
-
ルールの名前と説明を入力します。
-
[Event bus](イベントバス) で、このルールに関連付けるイベントバスを選択します。このルールをアカウントのイベントと一致させたい場合は、[AWS default event bus]( AWS デフォルトイベントバス) を選択してください。
-
[Rule type](ルールタイプ) で、[Rule with an event pattern](イベントパターンを含むルール) を選択し、[Next](次へ) を選択します。
-
[Event source](イベントソース) で、[Other](その他) を選択します。
-
[Event pattern](イベントパターン) で、[Custom pattern (JSON editor)](カスタムパターン (JSON エディタ)) を選択し、次のイベントパターンを追加します。
注意:以下の手順を変更して、他の AWS Backup 関連イベントの通知を受け取ることもできます。詳細タイプには、[Copy Job State](コピージョブの状態) 、[Change](変更)、または [Restore Job State Change](復元ジョブの状態) と入力します。[detail](詳細) には、[ABORTED](中止)、[COMPLETED](完了)、[EXPIRED](期限切れ)、[RUNNING](実行中)、または [PENDING](保留中) と入力します。
{
"source": ["aws.backup"],
"detail-type": ["Backup Job State Change"],
"detail": {
"state": ["FAILED"]
}
}
-
[Next](次へ) を選択します。
-
[Target types](ターゲットタイプ) で、[AWS service](AWS サービス) を選択します。
-
[Select a target](ターゲットを選択) で、最初のステップで作成した SNS トピックを選択します。
-
[Topic](トピック) で、SNS トピックを選択し、[Next](次へ) を選択します。
-
ルールのオプションタグを 1 つ以上入力し、[Next](次へ) を選択します。
-
ルールの詳細を確認し、[Create rule](ルールの作成) を選択します。
オンデマンドジョブを作成して通知をテストする
通知をテストするには、Amazon Elastic Block Store (Amazon EBS) ボリュームを作成します。次に、オンデマンドバックアップジョブを作成します。バックアップジョブを失敗させるために作成した EBS ボリュームを削除します。その後、失敗したバックアップジョブに関する電子メール通知が届きます。これで、通知が正しく設定されていることを確認できます。
関連情報
Amazon EventBridge でルールを作成する