翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
イベントの検索および分析パイプラインをデプロイしてサブスクライブするには
イベントのアーカイブと分析のために、Amazon SNS は Amazon Data Firehose とのネイティブ統合の使用を推奨するようになりました。Firehose 配信ストリームを SNS トピックにサブスクライブできます。これにより、Amazon Simple Storage Service (Amazon S3) バケット、Amazon Redshift テーブル、Amazon OpenSearch Service (OpenSearch サービス) などのアーカイブエンドポイントと分析エンドポイントに通知を送信できます。Firehose 配信ストリームで Amazon SNS を使用することは、 AWS Lambda関数を使用する必要のない、フルマネージド型のコードレスソリューションです。詳細については、「Firehose 配信ストリームへのファンアウト」を参照してください。 |
このページでは、イベントの検索および分析パイプラインをデプロイして Amazon SNS トピックにサブスクライブする方法を示します。このプロセスでは、パイプラインに関連付けられた AWS SAM テンプレートを自動的に AWS CloudFormation スタックに変換し、このスタックを AWS アカウント 内にデプロイします。また、このプロセスでは、イベントの検索および分析パイプラインを構成する、以下のようなリソースのセットを作成して設定します。
-
Amazon SQS キュー
-
Lambda 関数
-
Firehose 配信ストリーム
-
Amazon OpenSearch Service ドメイン
-
Amazon S3 配信不能バケット
インデックスを送信先としてストリームを設定する方法の詳細については、Amazon Data Firehose API リファレンスElasticsearchDestinationConfiguration
の「」を参照してください。
イベントの変換、およびイベントバッファリング、イベント圧縮、イベント暗号化の設定の詳細については、「Amazon Data Firehose デベロッパーガイド」の「Amazon Data Firehose 配信ストリームの作成」を参照してください。
イベントのフィルター処理の詳細については、このガイドの「Amazon SNS サブスクリプションフィルターポリシー」を参照してください。
-
AWS Lambda コンソール
にサインインします。 -
ナビゲーションパネルで [関数] を選択し、[関数の作成] を選択します。
-
[関数の作成] ページで、次の操作を実行します。
-
[サーバーレスアプリケーションリポジトリの参照]、[パブリックアプリケーション]、[カスタム IAM ロールまたはリソースポリシーを作成するアプリケーションの表示] を選択します。
-
fork-event-search-analytics-pipeline
を検索し、このアプリケーションを選択します。
-
-
fork-event-search-analyticsパイプラインページで、次の操作を行います。
-
[アプリケーション設定] セクションで、[アプリケーション名] に名前 (
my-app-search
など) を入力します。注記
名前は、デプロイごとに一意にする必要があります。アプリケーション名を再利用すると、デプロイでは、スタックを新規作成せずに、以前にデプロイした AWS CloudFormation スタックを単に更新します。
-
(オプション) にはDataTransformationFunctionArn、受信イベントの変換に使用される Lambda 関数の ARN を入力します。値を入力しないと、データ変換は無効になります。
-
(オプション) アプリケーションの Lambda 関数を実行するには、次のいずれかLogLevelの設定を入力します。
-
DEBUG
-
ERROR
-
INFO
(デフォルト) -
WARNING
-
-
(オプション) にはSearchDomainArn、必要なコンピューティング機能とストレージ機能を設定するクラスターである OpenSearch サービスドメインの ARN を入力します。値を入力しないと、新しいドメインがデフォルト設定で作成されます。
-
にはTopicArn、フォークパイプラインのこのインスタンスをサブスクライブする Amazon SNS トピックの ARN を入力します。
-
にはSearchIndexName、イベントの検索と分析のサービス OpenSearch インデックスの名前を入力します。
注記
インデックス名には、次の制限が適用されます。
-
大文字を含めることはできません
-
次の文字を含めることはできません:
\ / * ? " < > | ` , #
-
次の文字で始めることはできません:
- + _
-
次の形式にすることはできません:
. ..
-
80 文字より長くすることはできません
-
255 バイトより長くすることはできません
-
コロンを含めることはできません ( OpenSearch サービス 7.0 から)
-
-
(オプション) OpenSearch サービスインデックスのローテーション期間中は、次のいずれかSearchIndexRotationPeriodの設定を入力します。
-
NoRotation
(デフォルト) -
OneDay
-
OneHour
-
OneMonth
-
OneWeek
インデックスのローテーションでは、インデックス名にタイムスタンプを付加し、古いデータの有効期限切れをわかりやすくします。
-
-
にはSearchTypeName、インデックス内のイベントを整理するための OpenSearch サービスタイプの名前を入力します。
注記
-
OpenSearch サービスタイプ名には任意の文字 (null バイトを除く) を含めることができますが、 で始めることはできません
_
。 -
OpenSearch サービス 6.x の場合、インデックスごとに 1 つのタイプしか存在できません。既に別のタイプを持つ既存のインデックスに新しいタイプを指定すると、Firehose はランタイムエラーを返します。
-
-
(オプション) StreamBufferingIntervalInSecondsおよび StreamBufferingSizeInMBs、受信イベントのバッファリングを設定するための値を入力します。値を入力しないと、300 秒と 5 MB が使用されます。
-
(オプション) 受信イベントを圧縮するには、次のいずれかStreamCompressionFormatの設定を入力します。
-
GZIP
-
SNAPPY
-
UNCOMPRESSED
(デフォルト) -
ZIP
-
-
(オプション) にはStreamPrefix、S3 デッドレターバケットに保存されているファイルの名前を付ける文字列プレフィックスを入力します。値を入力しないと、プレフィックスは使用されません。
-
(オプション) にはStreamRetryDurationInSecons、Firehose が OpenSearch サービスインデックスにイベントのインデックスを作成できない場合の再試行期間を入力します。値を入力しないと、300 秒が使用されます。
-
(オプション) にはSubscriptionFilterPolicy、受信イベントのフィルタリングに使用する Amazon SNS サブスクリプションフィルターポリシーを JSON 形式で入力します。フィルターポリシーは、 OpenSearch サービスインデックスでインデックスを作成するイベントを決定します。値を入力しないと、フィルター処理は使用されません (すべてのイベントにインデックスが作成されます)。
-
[I acknowledge that this app creates custom IAM roles, resource policies and deploys nested applications.] を選択して、[デプロイ] を選択します。
-
のデプロイステータス my-app-search
ページに、Lambda はアプリケーションをデプロイ中のステータスを表示します。
[リソース] セクションで、AWS CloudFormation によってスタックの作成が開始され、各リソースの [CREATE_IN_PROGRESS] ステータスが表示されます。プロセスが完了すると、AWS CloudFormationに [CREATE_COMPLETE]ステータスが表示されます。
デプロイが完了すると、Lambda によって [アプリケーションはデプロイ済みです] ステータスが表示されます。
Amazon SNS トピックに発行されたメッセージは、イベント検索および分析パイプラインによってプロビジョニングされた OpenSearch サービスインデックスに自動的にインデックス作成されます。パイプラインでイベントのインデックスを作成できない場合、イベントは S3 配信不能バケットに保存されます。