AWS CLIを使ったSQSトリガーとの連携

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

こんにちは、Cloud Automator開発チームに所属する柳瀬です。
前回のブログでManagement Consoleを使ってSQSにメッセージを送り、Cloud Automatorと連携させる記事を書きました。
今回はもう少しプログラマブルに扱うために、Management ConsoleではなくAWSコマンドラインインターフェイスを使ってみたいと思います。
こちらのツールはリンクに記載されている通り、Windowsの場合はインストーラーを実行し、MacやLinuxの場合も簡単となっておりますので、インストール方法や設定方法は割愛させて頂きます。

ステップ1

まずは前回と同様にメッセージを送るSQSを作成します。
キューの作成にはcreate-queueコマンドを使用し、作成済みキューの確認はlist-queuesコマンドを使います。
もしいくつかの設定を変更したい場合は--attributesオプションを使用します。

作成前

$ aws sqs list-queues --region ap-northeast-1
{
    "QueueUrls": []
}

作成

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

作成後

$ aws sqs list-queues --region ap-northeast-1
{
    "QueueUrls": [
        "https://ap-northeast-1.queue.amazonaws.com/123456789101/cloudautomator-queue"
    ]
}

ステップ2

SQSのキューを作成したら早速メッセージを送ってみましょう。
メッセージを送る場合はsend-messageコマンドを使います。

$ aws sqs send-message --queue-url https://ap-northeast-1.queue.amazonaws.com/123456789101/cloudautomator-queue \
--message-body "test message" \
--region ap-northeast-1
{
    "MD5OfMessageBody": "c72b9698fa1927e1dd12d3cf26ed84b2",
    "MessageId": "eb24fe20-fb6c-494e-a2ae-6468e48c68a5"
}

ステップ3

Cloud Automatorの設定は以下のようにSQSトリガーと作成したキューを選択します。

補足

Cloud Automatorは受け取ったメッセージを自動的に削除しますが、AWS CLIでメッセージ受信、削除する方法は以下のようになります。

受信

$ aws sqs receive-message --queue-url https://ap-northeast-1.queue.amazonaws.com/123456789101/cloudautomator-queue --region ap-northeast-1
{
    "Messages": [
        {
            "Body": "test message",
            "ReceiptHandle": "cOJv9qrD==中略==gWWXM0JrSK9GR1RyvuF9iacgI3TxLZETlotJ2GZ+A==",
            "MD5OfBody": "c72b9698fa1927e1dd12d3cf26ed84b2",
            "MessageId": "eb24fe20-fb6c-494e-a2ae-6468e48c68a5"
        }
    ]
}

削除

$ aws sqs delete-message --queue-url https://ap-northeast-1.queue.amazonaws.com/123456789101/cloudautomator-queue \
--receipt-handle "cOJv9qrD==中略==gWWXM0JrSK9GR1RyvuF9iacgI3TxLZETlotJ2GZ+A==" \
--region ap-northeast-1

今回の記事は以上となります。
AWS CLIを使うと処理の自動化や他システムの連動もしやすくなってくると思いますので、是非ご活用下さい。




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

Cloud Automator