Sumo Logicのコレクターエージェントが導入済みのEC2を起動するCFnテンプレート + 起動スクリプトを書いた

故あって、Sumo LogicのInstalled Collectorが導入された状態かつサンプルのログファイルがダウンロードされた状態でEC2を起動するCFnテンプレートを作成しました。Access IDやKey情報も作成時に指定できます。せっかくなので共有します。これをそのまま使う機会はおそらくないと思いますが、何かのサンプルとしてお役に立てれば幸いです。
2020.01.15

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

「Sumo LogicのInstalled Collectorがインストール済みのEC2」を手軽に起動・削除する必要があったので、CFn(CloudFormation) + シェルスクリプトで作成しました。
CFnとしては以下の手順をUserDataで実行しつつEC2を起動する部分を、シェルスクリプトはそのCFn起動時に適切なパラメータを与える部分を担当させています。

使い方

準備

後述するファイルをふたつダウンロードし、同じディレクトリに入れてください。
launch-ec2-with-collector.sh の14行目〜21行目は、お使いの環境に合わせ必要に応じて修正してください(特に 16,17行目)。その上で実行権限をつけておきます。

chmod +x launch-ec2-with-collector.sh

また、下記の手順で Sumo Logic のアクセスIDとアクセスキーを作成しておいてください。

起動

AWS CLIが実行な状態で、以下の書式でスクリプトを起動します。

※この手順で t3a.nano インスタンスが1台起動します。状況によりAWSの課金が発生しますのでご注意ください。

launch-ec2-with-collector.sh <Access Log URL> <accessId> <accessKey>
  • <Access Log URL> には、ダウンロードして /home/ec2-user 直下に配置するサンプルファイルのURLを指定します
  • <accessId> <accessKey> には、それぞれアクセスIDとアクセスキーを指定します

例えばこんな感じです。

./launch-ec2-with-collector.sh \
    http://example.com/path/to/logfile \
    exampleEXAMPLE \
    EXAMPLEexampleEXAMPLEexampleEXAMPLEexampleEXAMPLEexampleEXAMPLEe

問題がなければ数分でEC2が起動し、Sumo LogicのCollectionにコレクターが登録されると思います。

テンプレート・スクリプト

下記のGistで公開しています。

CFnテンプレート( sumologic-handson-ec2.yaml

シェルスクリプト( launch-ec2-with-collector.sh

まとめ

特定目的のために便利なCFnテンプレートとスクリプトをご紹介しました。
こちらはSumo Logicのハンズオンを行う・準備するときに便利なように作成したものですが、APIキーなどを渡しつつEC2をCFnから起動する場合はこれ以外でも応用が利きそうかと思いました。

何かのお役に立てれば幸いです。