11.3.2 導入(AWS Lambda連携ツール(JP1/IM REST対応版))
- 〈この項の構成〉
(1) 事前準備
AWS Lambda連携ツール(JP1/IM REST対応版)を導入するための事前準備は,AWS Lambda連携ツール(JP1イベント登録コマンド対応版)と同じです。
「11.2.2(1) 事前準備」を参照してください。
(2) インストール
(a) イベント情報の作成
イベント情報を作成します。
-
ブラウザーからAWSマネジメントコンソールにログインします。
-
サービスから「Lambda」−「関数」を選択します。
-
「関数の作成」をクリックします。
-
「一から作成」を選択し,次の情報を入力します。「関数の作成」をクリックします。
表11‒22 イベント情報作成の基本的な情報 項番
項目
値
1
関数名
sendevent_sqs_im2
2
ランタイム
Python3.7
3
アクセス権限
次の権限を持つロールを指定します。
-
CloudWatch Logsに書き込み可能なアクセス権限※1
-
S3のファイルを読み込み可能なアクセス権限※2
-
SQSに書き込み可能なアクセス権限※3
- 注※1
-
CloudWatch Logsへのアクセスに必要なポリシーは次のとおりです。
・CreateLogGroup
・CreateLogStream
・PutLogEvents
- 注※2
-
S3へのアクセスに必要なポリシーは次のとおりです。
・GetObject
- 注※3
-
SQSへのアクセスに必要なポリシーは次のとおりです。
・SendMessage
-
-
「Lambda」−「関数」−「sendevent_sqs_im2」−「設定」タブを選択します。
-
「関数コード」に次の表に示す情報を入力します。
表11‒23 イベント情報作成の関数コード 項番
項目
値
1
コードエントリタイプ
.zipファイルをアップロード
−「sendevent_im2」ディレクトリの「sendevent_sqs_im2.zip」を選択
2
ランタイム
Python3.7
3
ハンドラ
sendevent_sqs_im2.lambda_handler
-
「保存」をクリックします。
(b) イベント情報送信の作成
AWS Lambda連携ツール(イベント情報送信)を作成します。
-
ブラウザーからAWSマネジメントコンソールにログインします。
-
サービスから「Lambda」−「関数」を選択します。
-
「関数の作成」をクリックします。
-
「一から作成」を選択し,次の情報を入力します。「関数の作成」をクリックします。
表11‒24 イベント情報送信の基本的な情報 項番
項目
値
1
関数名
sendevent_im2
2
ランタイム
Python3.7
3
アクセス権限
次の権限を持つロールを指定します。
-
CloudWatch Logsに書き込み可能なアクセス権限※1
-
S3のファイルを読み込み可能なアクセス権限※2
-
SQSのメッセージを削除可能なアクセス権限※3
-
VPCに接続可能なアクセス権限※4
- 注※1
-
CloudWatch Logsへのアクセスに必要なポリシーを次に示します。
・CreateLogGroup
・CreateLogStream
・PutLogEvents
- 注※2
-
S3へのアクセスに必要なポリシーを次に示します。
・GetObject
- 注※3
-
SQSへのアクセスに必要なポリシーを次に示します。
・DeleteMessage
・ReceiveMessage
・GetQueueAttributes
- 注※4
-
VPCへのアクセスに必要なポリシーを次に示します。
・CreateNetworkInterface
・DescribeNetworkInterfaces
・DeleteNetworkInterface
-
-
「Lambda」−「関数」−「sendevent_im2」−「設定」タブを選択します。
-
「関数コード」に次の表に示す情報を入力します。
表11‒25 イベント情報送信の関数コード 項番
項目
値
備考
1
コードエントリタイプ
.zipファイルをアップロード
「sendevent_im2」ディレクトリの「sendevent_im2.zip」を選択します。
2
ランタイム
Python3.7
3
ハンドラ
sendevent_im2.lambda_handler
-
「保存」をクリックします。
-
「Lambda」−「関数」−「sendevent_im2」−「設定」タブを選択します。
-
VPCを選択し,イベント情報を送信するJP1/IMにアクセス可能なVPC,サブネット,セキュリティグループを設定します。
(3) セットアップ
(a) イベント定義ファイル(eventconf.csv)
AWS Lambda連携ツール(JP1/IM REST対応版)の登録するJP1イベントに設定手順について説明します。
- 設定項目
-
-
JP1イベント登録条件
-
JP1イベント情報
-
-
ブラウザーからAWSマネジメントコンソールにログインします。
-
サービスから「S3」を選択します。
-
「11.2.2(1)(c) S3の事前準備」で作成したバケットを選択します。
-
手順3.で選択したバケットから「eventconf.csv」を適当なディレクトリへダウンロードします。
バケットにファイルが存在しない場合は「sendevent_im2」配下にある上記ファイルを,適当なディレクトリへコピーしてください。
-
手順4.でダウンロードまたはコピーした「eventconf.csv」を,テキストエディターで開き,イベント定義を設定します。
-
1行1エントリーで記載してください。
-
1文字目が「#」の行はコメント行となり無視されます。
-
CSV形式で記載してください。
-
JP1イベント定義は上から検索され,はじめに条件に合致した条件のJP1イベントが発行されます。
CSVの各カラムを次の表に示します。
表11‒26 イベント定義の各カラム カラム番号
設定値
必須/任意
値の範囲
1
JP1イベントとして登録したいログを特定する正規表現を指定します。
必須
正規表現がサポートする範囲
2
JP1イベントとして登録したいログのロググループ名を指定します。
省略した場合は,すべてのロググループが対象となります。
任意
AWSのロググループ名がサポートする範囲
3
登録するJP1イベントのイベントIDを指定します。※1
任意
JP1/IMの「イベント発行」APIのパラメーター「eventId」がサポートする範囲に準ずる。
4
登録するJP1イベントのメッセージテキストを指定します。
省略した場合は,対象のログを使用します。※2
任意
JP1/IMの「イベント発行」APIのパラメーター「message」がサポートする範囲に準ずる。
5以降
登録するJP1イベントの拡張属性を指定します。※1※3
拡張属性を複数指定する場合は,は,カラム番号:7以降で指定します。
任意
jevsendコマンドの引数-eがサポートする範囲。
JP1/IMの「イベント発行」APIのパラメーター「attrs」がサポートする範囲に準ずる。
なお,拡張属性値にスペースが含まれる場合でも「"」の指定は不要です。(「"」も拡張属性値と認識されます)
- 注※1
-
省略時は,対応するjevsendコマンドのオプションの省略時の動作となります。
- 注※2
-
1,023バイトを超えるメッセージの場合は,1,023バイトまでを対象とします。
また,メッセージに改行コードが含まれている場合は,改行コードは半角スペースに変換されます。
- 注※3
-
指定された拡張属性以外にAWS Lambda連携ツール(JP1/IM REST対応版)が追加する拡張属性があります。追加する拡張属性を次に示します。
表11‒27 AWS Lambda連携ツール(JP1/IM REST対応版)が設定する拡張属性 項番
属性名
値
1
AWS_LAMBDA_LOG_TIMESTAMP
ログがCloudWatch Logsへ登録されたUNIX時間
2
AWS_LAMBDA_LOG_GROUP
対象のロググループ名
3
AWS_LAMBDA_LOG_STREAM
対象のログストリーム名
4
AWS_LAMBDA_SUBSCRIPTION_FILTERS
対象のサブスクリプションフィルター名をコンマ区切りで設定した値
(設定値が1つの場合はコンマなし)
5
AWS_LAMBDA_LOG_DATETIME
項番1を「YYYY/mm/dd HH:MM:SS」に変換した文字列
設定例を次に示します。
#Condition,LogGroupId,EventID,Message,ExtAttr .*Error.*,LOGGROUP1,1111,message1, EXATTR1=value1,EXATTR2=value2 .*Warning.*,,2222,message2,EXATTR1=aaa bbb,EXATTR2=value
-
-
手順5.で設定を変更したあと,次に示す文字コード/改行コードで保存してください。
表11‒28 イベント定義ファイル(eventconf.csv)の文字コード/改行コード 項番
項目
値
1
文字コード
UTF-8(BOM無し)
2
改行コード
LF(\n)またはCRLF(\r\n)
-
手順3.のバケットを再度選択し,設定変更した「eventconf.csv」をアップロードします。
(b) イベント除外ファイル(eventignore.csv)
AWS Lambda連携ツール(JP1/IM REST対応版)の除外するJP1イベントの設定手順は,AWS Lambda連携ツール(JP1イベント登録コマンド対応版)と同じです。「11.2.2(3)(d) イベント除外ファイル(eventignore.csv)」を参照してください。
なお,その際「sendevent_sqs」は「sendevent_im2」に読み替えてください。
(c) イベント情報作成(sendevent_sqs_im2.py)
イベント情報作成の設定手順について説明します。
- 設定項目
-
-
SQS URL
-
S3バケット名
-
実行トリガー(JP1イベント登録対象ログ)
-
-
ブラウザーからAWSマネジメントコンソールにログインします。
-
サービスから「Lambda」−「関数」−「sendevent_sqs_im2」−「設定」タブを選択します。
-
「環境変数」に次の表に示す内容を設定します。
表11‒29 イベント情報作成の環境変数 項番
キー
値
1
SQS_QUEUE_URL
「11.2.2(1)(d) SQSの事前準備」で作成したJP1イベント情報が格納されているSQSのURLを指定します。
2
S3_BUCKET_NAME
「11.2.2(1)(c) S3の事前準備」で作成したAWS Lambda連携ツールの設定ファイルを格納するS3バケット名を指定します。
-
「Designer」の「+ トリガーを追加」をクリックし,JP1イベントとして登録したいログをトリガーとして追加します。複数のトリガーを追加できます。
表11‒30 イベント情報送信の関数コード 項番
項目
値
備考
1
トリガー
CloudWatch Logs
2
ロググループ
JP1イベントとして登録したいログを含むロググループを指定します。
AWS Lambda連携ツール(JP1/IM REST対応版)のイベント情報作成自身が出力するログを含むロググループは指定しないでください。
3
フィルターの名前
フィルターの名前を指定します。
4
フィルターパターン
JP1イベントとして登録したいログのフィルターパターンを指定します。
特に指定しなくても問題ありません。
-
「保存」をクリックします。
(d) イベント情報送信(sendevent_im2.py)
イベント情報送信の設定手順について説明します。
- 設定項目
-
-
S3バケット名
-
IM2 RESTベースURL
-
IM2認証情報ユーザーID
-
IM2認証情報パスワード
-
実行トリガー(JP1イベント)
-
-
ブラウザーからAWSマネジメントコンソールにログインします。
-
サービスから「Lambda」−「関数」−「sendevent_im2」−「設定」タブを選択します。
-
「環境変数」に次の表に示す内容を設定します。
表11‒31 イベント情報送信の環境変数 項番
属性名
値
1
S3_BUCKET_NAME
「11.2.2(1)(c) S3の事前準備」で作成したAWS Lambda連携ツール(JP1/IM REST対応版)の設定ファイルを格納するS3バケット名を指定します。
2
IM2_REST_BASE_URL
イベント情報を送信するJP1/IMのRESTのベースURLを指定します。
3
IM2_REST_LOGIN_USER
JP1/IMへRESTでアクセスするためのユーザーIDを指定します。
4
IM2_REST_LOGIN_PASSWORD
JP1/IMへRESTでアクセスするための項番4に対するパスワードを指定します。
-
「Designer」の「+ トリガーを追加」をクリックし,SQSをトリガーとして追加します。
表11‒32 イベント情報送信のトリガー 項番
項目
値
備考
1
トリガー
SQS
2
SQSキュー
JP1イベントを読み取るSQSキューを指定します。
3
バッチサイズ
単一のバッチで取得するメッセージの最大数を指定します。
指定できる最大値は10となります。
-
「保存」をクリックします。
(e) ログ設定ファイル(logging.conf)
AWS Lambda連携ツール(JP1/IM REST対応版)のログに関する設定手順は,AWS Lambda連携ツール(JP1イベント登録コマンド対応版)と同じです。「11.2.2(3)(f) Lambda関数のログ設定ファイル(logging.conf)」を参照してください。
なお,その際「sendevent_sqs」は「sendevent_sqs_im2」に読み替えてください。
(4) アンインストール
(a) AWS Lambda連携ツール(JP1/IM REST対応版)のアンインストール
AWS Lambda連携ツールのアンインストール手順を次に示します。
-
ブラウザーからAWSマネジメントコンソールにログインします。
-
サービスから「Lambda」−「関数」を選択します。
-
「sendevent_sqs_im2」を選択し,「アクション」−「削除」を実行します。
-
「sendevent_im2」を選択し,「アクション」−「削除」を実行します。
-
サービスから「S3」を選択します。
-
「11.2.2(1)(c) S3の事前準備」で作成したバケットを選択します。
-
次のファイルを選択し,「アクション」−「削除」を実行します。
-
eventconf.csv
-
eventignore.csv
-
logging.conf
-