SQSに送られたジョブ実行結果の内容を確認する

記事タイトルとURLをコピーする

こんにちは。Cloud Automator開発チームの柳瀬です。
前回のブログではAWSコマンドラインインターフェイスを使用してSQSにメッセージを送り、SQSトリガーでアクションを実行する方法を紹介しました。
Cloud Automatorではアクションが実行された後の処理として、EメールとSQSをサポートしています。
今回はCloud Automatorのジョブ実行結果をSQSに送り、その結果をAWS CLIで取得してみたいと思います。

ステップ1

まずは以下のコマンドでジョブの実行結果を送るキューを作成します。

$ aws sqs create-queue --queue-name job-result --region ap-northeast-1
{
    "QueueUrl": "https://ap-northeast-1.queue.amazonaws.com/123456789101/job-result"
}

ステップ2

Cloud Automatorで実行したジョブの結果をSQSに送るには以下のように設定します。

ステップ3

ジョブが実行されたら、再びAWS CLIを使用してメッセージを取得します。
メッセージを取得したら、忘れずにメッセージを削除して下さい。

正常時

$ aws sqs receive-message \
--queue-url https://ap-northeast-1.queue.amazonaws.com/123456789101/job-result \
--region ap-northeast-1
{
    "Messages": [
        {
            "Body": "{\"name\":\"Start Instance Job\",\"status\":\"completed\",\"started_at\":\"2014-07-28 10:14:21 UTC\",\"finished_at\":\"2014-07-28 10:14:25 UTC\"}",
            "ReceiptHandle": "cOJv9qrD9XLVlpsfwYn3xZ2ie==中略==TS8Sf9HStYtP7x6VcF/vG/aM27ueH0Q==",
            "MD5OfBody": "6b036360e31e3d64b61468db458c903c",
            "MessageId": "6a40f170-f434-456e-ae82-670523ec8ed6"
        }
    ]
}

$ aws sqs delete-message \
--queue-url https://ap-northeast-1.queue.amazonaws.com/123456789101/job-result \
--receipt-handle "cOJv9qrD9XLVlpsfwYn3xZ2ie==中略==TS8Sf9HStYtP7x6VcF/vG/aM27ueH0Q==" \
--region ap-northeast-1

異常時

$ aws sqs receive-message \
--queue-url https://ap-northeast-1.queue.amazonaws.com/123456789101/job-result \
--region ap-northeast-1
{
    "Messages": [
        {
            "Body": "{\"name\":\"Start Instance Job\",\"status\":\"failed\",\"started_at\":\"2014-07-28 10:47:58 UTC\",\"finished_at\":\"2014-07-28 10:48:01 UTC\"}",
            "ReceiptHandle": "cOJv9qrD9XLVlpsfwYn3xZ2ie==中略==TS8Sf9HStYtP7x6VcF/vG/aM27ueH0Q==",
            "MD5OfBody": "41f2ed88288d59fb381bb7d21b418435",
            "MessageId": "36e954cb-4eac-4bc2-ab56-0b83d3973699"
        }
    ]
}

$ aws sqs delete-message \
--queue-url https://ap-northeast-1.queue.amazonaws.com/123456789101/job-result \
--receipt-handle "cOJv9qrD9XLVlpsfwYn3xZ2ie==中略==TS8Sf9HStYtP7x6VcF/vG/aM27ueH0Q==" \
--region ap-northeast-1

以上となります。
Cloud AutomatorではEメールでの結果レポートと同様にSQSにメッセージを送る場合もジョブの実行結果が判定出来るようになっています。
Eメール、SQSメッセージとそれぞれの利用シーンに合わせてお使い下さい。




Cloud Automator(クラウドオートメーター)とは、バックアップや災害対策、AWS費用の削減といった「ジョブ」と、AWSがガイドライン通りに運用されていることを継続的に確認する「構成レビュー」という2つのAWS運用を自動化し、AWSの利用メリットを最大限に引き出すサービスです。

Cloud Automator