こんにちは、Cloud Automatorの柳瀬です。
今回のブログは多くのお客様からたくさんご要望を頂いておりました機能に関するお知らせです。
2014年7月のリリース以降、Cloud Automatorは機能追加を続けており、お陰様でご利用頂いているお客様(なかにはCloud Automatorに500を超えるジョブを登録し、様々な運用を自動化されているお客様もいらっしゃいます)も増えてまいりました。
Cloud AutomatorはノンプログラミングでAWSの運用が出来るように、ブラウザからアクセス出来るコンソール画面のみを提供してまいりました。ブラウザからの操作の場合、数がそれほど多くないジョブを登録するには直感的な操作が出来て便利な一方で、たくさんのジョブを登録するには同じような操作を何度も繰り返す必要があり、大変になります。
こういった背景から、Cloud Automatorをたくさんご利用頂いているお客様からAPIやコマンドラインのご要望を頂いておりましたが、本日Cloud AutomatorのREST APIをベータ公開致しましたので、ご紹介致します。
REST APIキーの発行
Cloud AutomatorのREST APIをご利用頂く場合、認証のためにAPIキーが必要になります。APIキーは以下の手順で発行します。
- グローバルメニューのアカウントより、アカウント設定画面にアクセスします
- APIキーの設定から「作成する」をクリックします
- APIキーを作成しましたと表示されたら、「戻る」をクリックします
- APIキーの設定から「表示する」をクリックします
- 表示されたAPIキーをメモしたら戻るをクリックします
REST APIの実行例
REST APIのドキュメントはこちらのページで公開しておりますが、AWSアカウントの登録から、ジョブの登録までの操作をご紹介します。
※REST APIは現在、ジョブ自動化にのみ対応しております。
こちらの記事を参考にAWSのアクセスキーID、シークレットアクセスキー、アカウントIDを取得し、以下のようにAWSアカウントをCloud Automatorに登録します。
※APIキーは********************************
に入力して下さい
$ curl -X POST https://manager.cloudautomator.com/api/v1/aws_accounts.json \
-H "Content-Type: application/json" -H "Authorization: Bearer ********************************" \
-d '{"name":"test-aws-account", "access_key_id":"xxxxxxxxxxxxxxxxxxxx","secret_access_key":"yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy", "account_number":"zzzzzzzzzzzz"}'
以下はレスポンスのサンプルです。
id
に指定されている整数はジョブを登録する時に使用しますので、メモしておきます。
{"data":{"id":"123","type":"aws_accounts","attributes":{"name":"test-aws-account"}}}
既存のAWSアカウントを使用する場合は以下のように実行してid
をメモしておきます。
$ curl https://manager.cloudautomator.com/api/v1/aws_accounts.json -H "Authorization: Bearer ********************************
それではジョブの登録をします。以下の例ではタイマートリガー(月曜日と火曜日の午後9時に実行)と、EC2: AMIを作成アクション(指定したタグが割り当てられているEC2インスタンスからAMIを取得し、3世代分保持する)を組み合わせたジョブを登録しています。
$ curl https://manager.cloudautomator.com/api/v1/jobs.json \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ********************************" \
-d '{"name":"api-test-job", "aws_account_id":123, "rule_type":"cron", "rule_value":{ "hour":9, "minutes":0, "schedule_type":"weekly", "weekly_schedule":["monday","tuesday"]}, "action_type":"create_image", "action_value":{ "region":"ap-northeast-1", "tag_key":"hoge", "tag_value":"bar", "generation":3, "image_name":"api-test-ami", "trace_status":"true", "reboot_instance":"false", "specify_image_instance":"tag", "add_same_tag_to_snapshot":"false"}}'
REST APIの使いどころ
さきほど書いたようにブラウザでの操作はプログラムの知識などがなくても直感的に操作することが出来て便利ですが、少しだけ設定が違うジョブをたくさん登録するといったようなケースでは、REST APIを使用した方が作業効率が良い場合があると思います。
他にもREST APIの結果を使って、登録してあるジョブを一覧したいなどの場合にも都合が良い場合もあります。こちらのようなJSONをCSVに変換出来るWebサービスなどもありますので、こういったものを使うのも良さそうです。
おわりに
たくさんのお客様からご要望頂いておりました機能ですので、私もリリースが出来て大変嬉しく思っています。Cloud Automatorではこちらのページでお客様からのご要望を承っております。REST API、既存機能、新しい提案などのフィードバックをお待ちしておりますので、是非お送り下さい。
今後ともCloud Automatorをよろしくお願い致します。
Cloud Automator(クラウドオートメーター)とは、ノンプログラミングでAWS運用を自動化し、AWSの利用を最大限に引き出すサービスです。バックアップや災害対策、AWS費用の削減を実現する「ジョブ」と、AWSがガイドライン通りに運用されていることを継続的に確認する「構成レビュー」という2つの機能をご提供しております。