サイト内の現在位置を表示しています。

JobCenterでAWSの野良インスタンスを管理

JobCenter Lab vol.2

こんにちは。WebSAM JobCenter ブログ担当の荒尾です。

AWSを利用していると、いつの間にか所有者不明の野良インスタンスが増えてしまい、管理者がこれら野良インスタンスを停止や削除してよいのか、わからない状態になりがちです。

そこで、WebSAM JobCenterの「拡張カスタムジョブ部品」の中の「AWS連携部品」を利用した、野良インスタンスを管理する方法についてご紹介します。

インスタンス情報の取得を自動化する

いつの間にか野良インスタンスが増えている状況を防ぐには、所有者が不明(「所有者」タグが未設定)のインスタンスについて、定期的に管理するのが一番です。
これをWebSAM JobCenterを活用して実施します。

実現するためのポイントは以下の2つです。

1.AWS連携部品でインスタンス情報取得のジョブ定義を作成

WebSAM JobCenterの「拡張カスタムジョブ部品」には、AWSの操作を自動化する「AWS連携部品」という部品があるので、これを利用してインスタンス情報取得を自動化します。

以下は、「所有者」タグが未設定のインスタンスを対象として、インスタンス情報を取得するジョブ定義例です。
ジョブ定義の作成は、以下のように、実行したい機能の部品をジョブフロー内に配置し、パラメータを設定します。

画面イメージ
①部品を置く
画面イメージ
②パラメータを入力

インスタンス情報取得に利用する拡張カスタムジョブ部品と、実現に必要な設定パラメータは以下になります。

(1) 利用する拡張カスタムジョブ部品
  • 格納パス
    /Root/System/AmazonWebService/ElasticComputeCloud
  • Amazon Web Services 連携部品
    定義名 機能
    DescribeInstances インスタンス情報取得
(2) 拡張カスタムジョブ部品の設定パラメータ
  • カスタムパラメータ設定タブ
    変数 設定値 説明
    noTag 所有者 タグ「所有者」が未設定のインスタンスを情報取得の対象とします
    endpoint エンドポイント名 APIリクエストする先のエンドポイント(必須)
  • 実行設定タブ
    項目 設定値 説明
    投入キュー カスタムジョブ用のキュー 予め作成した、カスタムジョブ専用のキューを指定します(必須)

2.スケジュールで自動運用

次にスケジュールによる自動運用です。
以下は、インスタンス情報取得のスケジュールの表示例です。
毎週月曜(休日の日は翌火曜日)にジョブ実行するスケジュール(「AWS情報取得」)と、インスタンス情報取得ジョブ定義(「管理_野良インスタンス通知」)を関連付けて、所有者タブが未設定のインスタンスの情報を自動取得します。

画面イメージ

スケジュールされたジョブ定義例

上記のジョブ定義を実行すると、以下のような、所有者タブが未設定のインスタンスの情報が取得されます。

画面イメージ

所有者タブが未設定のインスタンス情報の取得例

おわりに

作成したジョブ定義をスケジュールで自動実行することで、所有者不明の野良インスタンスの情報取得が自動化され、定期的に管理できるようになります。

また、「拡張カスタムジョブ部品」の「メール送信部品」を合わせて利用すると、取得したインスタンス情報をメールで受け取ることができます。
(「メール送信部品」については別の機会にご紹介します)

お問い合わせ

当ブログに関するお問い合わせは、WebSAM JobCenterお問い合わせ窓口までお問い合わせください。