イベント通知の設定

バケットのS3イベント通知を有効にすると、指定したイベントに関する通知をテナントから、AWS Simple Notification Service™(SNS)をサポートするデスティネーション サービスに送信できるようになります。テナント管理インターフェイスを使用して、バケットの通知を設定できます。
注意:StorageGRID Webscale 11.0には、プラットフォーム サービスの初期リリースが含まれています。現在、CloudMirrorレプリケーション、通知、および検索統合は、特定の状況およびワークロードのみが対象です。これらのサービスの初期リリースを使用することを希望する場合は、ネットアップの担当者にお問い合わせください。

開始する前に

タスク概要

イベント通知を設定すると、ソース バケット内のオブジェクトで指定したイベントが発生するたびに通知が生成され、デスティネーション エンドポイントとして使用されるSimple Notification Service(SNS)のトピックに送信されます。バケットの通知を有効にするには、有効な通知設定XMLを作成して適用する必要があります。通知設定XMLでは、通知のエンドポイントURNをデスティネーションとして使用する必要があります。

イベント通知とその設定方法の一般的な情報については、Amazonのドキュメントを参照してください。StorageGRID WebscaleでS3バケットの通知設定APIを実装する方法については、『StorageGRID Webscale S3実装ガイド』を参照してください。

オブジェクトを含むあるバケットのイベント通知を有効にした場合、通知は通知設定の保存後に実行された処理に対してのみ送信されます。

手順

  1. ソース バケットの通知を有効にします。
    1. イベント通知を有効にするために必要な通知設定XMLを、Simple Storage Service(S3)通知APIで指定されている内容に従ってテキスト エディタで作成します。
      XMLを設定するにあたっては、デスティネーション トピックとしてイベント通知エンドポイントのURNを使用します。
      <NotificationConfiguration>
        <TopicConfiguration>
           <Id>Image-created</Id>
           <Filter>
              <S3Key>
                <FilterRule>
                  <Name>prefix</Name>
                  <Value>images/</Value>
                </FilterRule>
              </S3Key>
          </Filter>
          <Topic>arn:aws:sns:us-east-1:050340950352:sgws-topic</Topic>
          <Event>s3:ObjectCreated:*</Event>
         </TopicConfiguration>
       </NotificationConfiguration>
    2. テナント管理インターフェイスで、[S3] > [Buckets]に移動します。
    3. ソース バケットを選択し、[Configure Notifications]をクリックします。
      [S3] > [Buckets] > [Configure Notifications]のスクリーンショット
    4. 通知設定XMLをテキスト ボックスに貼り付けて、[Save]をクリックします。

      イベント通知の設定ダイアログ ボックスのスクリーンショット
      注:StorageGRID Webscale管理者が、グリッド管理インターフェイスまたは管理APIを使用して各テナント アカウントのプラットフォーム サービスを有効にしておく必要があります。設定XMLの保存時にエラーが発生した場合は、グリッド管理者にお問い合わせください。
  2. イベント通知が正しく設定されたことを確認します。
    1. ソース バケット内のオブジェクトに対し、設定XMLに設定した通知をトリガーする要件を満たす操作を実行します。
      前述の例では、「images/」プレフィックスを使用してオブジェクトが作成されるたびにイベント通知が送信されます。
    2. デスティネーションのSNSトピックに通知が配信されたことを確認します。
      {
         "Records":[
            {
               "eventVersion":"2.0",
               "eventSource":"sgws:s3",
               "eventTime":"2017-08-08T23:52:38Z",
               "eventName":"ObjectCreated:Put",
               "userIdentity":{
                  "principalId":"1111111111111111111"
               },
               "requestParameters":{
                  "sourceIPAddress":"193.51.100.20"
               },
               "responseElements":{
                  "x-amz-request-id":"122047343"
               },
               "s3":{
                  "s3SchemaVersion":"1.0",
                  "configurationId":"Image-created",
                  "bucket":{
                     "name":"test1",
                     "ownerIdentity":{
                        "principalId":"1111111111111111111"
                     },
                     "arn":"arn:sgws:s3:::test1"
                  },
                  "object":{
                     "key":"images/cat.jpg",
                     "size":0,
                     "eTag":"d41d8cd98f00b204e9800998ecf8427e",
                     "sequencer":"14D90402421461C7"
                  }
               }
            }
         ]
      }
      
      たとえば、デスティネーション トピックがAWS Simple Notification Serviceでホストされている場合は、通知が配信されたらユーザにEメールを送信するようにサービスを設定できます。
    デスティネーション トピックに通知が届いた場合は、StorageGRID Webscale通知のソース バケットが正しく設定されています。