メニュー
AWS Elastic Beanstalk
開発者ガイド (API Version 2010-12-01)

Amazon Simple Notification Service を使用した Elastic Beanstalk 環境の通知

Amazon Simple Notification Service を使用してアプリケーションに影響を与える重要なイベントを通知するように AWS Elastic Beanstalk 環境を設定できます。環境の作成後に E メールアドレスを指定し、エラーが発生した場合や環境のヘルスステータスが変化した場合に AWS からのメールを受信することができます。

注記

Elastic Beanstalk は、通知に Amazon Simple Notification Service を使用します。Amazon SNS 料金の詳細については、https://aws.amazon.com/sns/pricing/ を参照してください。

環境に関する通知を設定すると、Elastic Beanstalk は環境の Amazon SNS トピックを作成します。Amazon SNS トピックにメッセージを送信するには、Elastic Beanstalk が必要なアクセス許可を持っている必要があります。Elastic Beanstalk は、トピックのポリシーに必要なアクセス許可を自動的にアタッチします。

重要な イベント が発生すると、Elastic Beanstalk はトピックにメッセージを送信します。Amazon SNS は、受信したメッセージをトピックのサブスクライバ―に中継します。重要なイベントには、環境作成のエラーや環境およびインスタンスのヘルスステータスのあらゆる変化が含まれます。Auto Scaling オペレーションに関するイベント(環境内のインスタンスの追加や削除)やその他の情報関連のイベントは、通知をトリガしません。

 通知 E メール

Elastic Beanstalk コンソールでは、Amazon SNS トピックを作成してサブスクリプションできるように、環境の作成時または作成後に E メールアドレスの入力が求められます。Elastic Beanstalk はトピックのライフサイクルを管理し、環境が終了した際にトピックを削除するか、環境マネジメントコンソール内の E メールアドレスを削除します。

aws:elasticbeanstalk:sns:topics 設定オプション名前領域は、設定ファイルで、または CLI や SDK を使用して、Amazon SNS トピックを設定するオプションを提供します。これらの方法を使用して、受信者のタイプやエンドポイントを設定し、受信者を Amazon SQS キューや HTTP URL にすることができます。

Amazon SNS 通知は、オン/オフの切り替えのみが可能です。環境のサイズや構成に応じて、トピックに送信される通知の頻度は高くなります。特定の状況下でのみ送信される通知については、カスタムメトリクスをパブリッシュするように環境を設定し、Amazon CloudWatch アラームを設定してこれらのメトリックすが異常なしきい値に達したときに通知されるようにできます。

通知の設定

Elastic Beanstalk コンソールを使用して、環境に関する SNS トピックを作成する E メールアドレスを入力します。

Elastic Beanstalk コンソールで通知を設定するには

  1. Elastic Beanstalk コンソールを開きます。

  2. お客様の環境の管理ページに移動します。

  3. [Configuration] を選択します。

  4. [Notifications] を選択します。

  5. メールアドレスを入力します。

     Elastic Beanstalk 設定メニュー
  6. [Save] を選択します。

通知用の E メールアドレスを入力すると、Elastic Beanstalk は環境に関する Amazon SNS トピックを作成し、サブスクリプションを追加します。Amazon SNS は、受信登録された E メールアドレスに E メールを送信し、サブスクリプションを確認します。サブスクリプションをアクティブ化して通知を受け取るには、確認用メールに記載されたリンクをクリックする必要があります。

aws:elasticbeanstalk:sns:topics 名前空間

aws:elasticbeanstalk:sns:topics 名前空間のオプションを使用して、環境に関する Amazon SNS 通知を設定します。これらのオプションは、設定ファイル、CLI、または SDK を使用して設定できます。

Notification Endpoint – 通知が送信される E メールアドレス、Amazon SQS キュー、または URL。このオプションを設定すると、指定したエンドポイントの SQS キューやサブスクリプションが作成されます。エンドポイントが E メールアドレスでない場合は、Notification Protocol オプションも設定する必要があります。SNS は、Notification Protocol の値に基づいて Notification Endpoint の値を確認します。このオプションを複数回設定すると、トピックへの追加のサブスクリプションが作成されます。このオプションを削除すると、トピックは削除されます。

[Notification Protocol] – Notification Endpoint に通知を送信するのに使用されるプロトコルです。このオプションのデフォルトは email です。このオプションを email-json に設定すると、JSON 形式の E メールを送信し、http または https に設定すると JSON 形式の通知を HTTP エンドポイントに投稿します。また、sqs に設定すると、SQS キューに通知を送信します。

注記

AWS Lambda の通知はサポートされていません。

[Notification Topic ARN] – 環境に関する通知のエンドポイントが設定された後、SNS トピックの ARN を取得するためにこの設定が読み取られます。このオプションは、通知に関する既存の SNS トピックを使用するように設定することもできます。このオプションを使用して環境にアタッチしたトピックは、このオプションが変更されたり、環境が終了されても削除されません。

注記

既存の SNS トピックを指定すると、トピックに必要なアクセス権限が設定されます。次のポリシーでは、Elastic Beanstalk はトピックにメッセージを送信できます。

{
  "Version": "2012-10-17",
  "Statement": [{   
    "Sid": "AWSElasticBeanstalkSNSPublishStatement-20170914",
    "Effect": "Allow",   
    "Principal": {
      "Service": "elasticbeanstalk.amazonaws.com"
    },
    "Action": "sns:Publish",   
    "Resource": "arn:aws:sns:region:topic-owner-account-id:topic-name"
  }]
}

Amazon SNS トピックポリシーを更新するには

  1. https://console.aws.amazon.com/sns/v2/home で Amazon SNS コンソールを開きます。

  2. [Topics] を選択し、更新するポリシーが設定されたトピックを選択します。

  3. [Other topic actions]、[Edit topic policy] の順に選択します。

  4. [Advanced view] を選択し、このセクションで指定したステートメントを追加します。この際、リージョン、アカウント ID、およびトピック名の適切な値を使用します。トピックのポリシーで一意であるポリシーステートメント Sid を指定します。たとえば、名前の一部に今日の日付を使用します。

  5. [Update policy] を選択します。

[Notification Topic Name] – このオプションを設定して、環境の通知に使用される Amazon SNS トピックの名前をカスタマイズします。同じ名前のトピックが既に存在する場合は、Elastic Beanstalk はそのトピックを環境にアタッチします。

警告

Notification Topic Name で既存の SNSトピックが環境にアタッチされると、環境が終了した場合またはこの設定が変更された場合に Elastic Beanstalk はトピックを削除します。

このオプションを変更すると、Notification Topic ARN も変更されます。トピックが既に環境にアタッチされている場合、Elastic Beanstalk は古いトピックを削除し、新しいトピックとサブスクリプションを作成します。

EB CLI および Elastic Beanstalk コンソールは、上記のオプションで推奨値を適用します。設定ファイルを使用して同じオプションを設定する場合、これらの設定値は削除する必要があります。詳細については、「推奨値」を参照してください。