vm.gowatana.jp

NEOにほんごVMware(仮)

VMware Cloud on AWS の SDDC を REST API で自動作成 → 削除してみる。(curl / Linux cron)

VMware Cloud on AWS(VMC on AWS)の SDDC の REST API での作成 → 削除を、Linux の cron で実行してみます。

今回の内容です。

 

1. REST API での SDDC 作成と削除

あらかじめ、SDDC 作成 / 削除スクリプトを用意しておきます。今回は、それぞれ下記のようにスクリプトを用意してあります。

 

SDDC の作成

 

SDDC の削除

 

2. cron 実行環境の準備

今回の Linux は、RHEL 8 です。

# cat /etc/redhat-release
Red Hat Enterprise Linux release 8.8 (Ootpa)

 

日本時間でスケジュール設定するため、OS のタイムゾーンが「Asia/Tokyo (JST, +0900) 」であることを確認しておきます。JST になっていない場合は「timedatectl set-timezone Asia/Tokyo」で設定変更しておきます。

$ timedatectl
               Local time: 木 2023-11-09 02:17:01 JST
           Universal time: 水 2023-11-08 17:17:01 UTC
                 RTC time: 水 2023-11-08 17:17:01
                Time zone: Asia/Tokyo (JST, +0900)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

 

demo ユーザを作成します。

# useradd -m demo
# passwd demo

 

ここからは、demo ユーザで作業します。

# su - demo
$

 

3. スクリプトの配置

スクリプト一式を格納するディレクトリを作成しておきます。

$ mkdir vmc-auto

 

そして、これまでの投稿で作成した、スクリプト関連のファイルを配置しておきます。

$ ls -l /home/demo/vmc-auto/*
-rw-rw-r--. 1 demo demo 286 11月  9 02:48 /home/demo/vmc-auto/TEST-SDDC-1Node.json
-rw-rw-r--. 1 demo demo 674 11月  9 02:48 /home/demo/vmc-auto/create_vmc_sddc.sh
-rw-rw-r--. 1 demo demo 800 11月  9 02:49 /home/demo/vmc-auto/delete_vmc_sddc.sh
-rw-rw-r--. 1 demo demo 137 11月  9 02:50 /home/demo/vmc-auto/id_and_key.txt

 

4. cron のスケジュール登録

crontab -e コマンドで、スケジュール登録を開始します。

$ crontab -e

 

OS のエディタ(RHEL 8 デフォルトでは vi)が開くので、入力して保存 → 終了します。

  • 11月9日 3時0分に SDDC 作成(bash create_vmc_sddc.sh ~を実行)
  • 11月9日 6時0分に SDDC 削除(bash delete_vmc_sddc.sh ~を実行)

 

スケジュールの記述例です。ちなみに、5番目のフィールドは曜日なので、「0 17 * 11 1-5」と指定すると「月~金曜日の 11月中の毎日17時0分」といったスケジュールになります。

0 3 9 11 * bash ~/vmc-auto/create_vmc_sddc.sh ~/vmc-auto/id_and_key.txt ~/vmc-auto/TEST-SDDC-1Node.json
0 6 9 11 * bash ~/vmc-auto/delete_vmc_sddc.sh ~/vmc-auto/id_and_key.txt TEST-SDDC-1Node

 

crontab -l で、スケジュールを確認しておきます。

$ crontab -l
0 3 9 11 * bash ~/vmc-auto/create_vmc_sddc.sh ~/vmc-auto/id_and_key.txt ~/vmc-auto/TEST-SDDC-1Node.json
0 6 9 11 * bash ~/vmc-auto/delete_vmc_sddc.sh ~/vmc-auto/id_and_key.txt TEST-SDDC-1Node

 

5. スクリプトの実行確認

スケジュール登録した時間になると、自動的にスクリプトが実行され、VMware Cloud Services Console などで SDDC 作成 / 削除の開始が確認できるはずです。

Linux 側でログを確認する場合は、root ユーザで下記のような方法で確認できます。

  • /var/log/cron などのログ ファイルを参照
  • journalctl コマンド

 

たとえば、下記のように cron による実行の記録が確認できます。

/var/log/cron ファイル

# cat /var/log/cron | grep vmc-auto
Nov  9 03:00:01 lab-rhel8-01 CROND[181477]: (demo) CMD (bash ~/vmc-auto/create_vmc_sddc.sh ~/vmc-auto/id_and_key.txt ~/vmc-auto/TEST-SDDC-1Node.json)
Nov  9 06:00:01 lab-rhel8-01 CROND[181701]: (demo) CMD (bash ~/vmc-auto/delete_vmc_sddc.sh ~/vmc-auto/id_and_key.txt TEST-SDDC-1Node)

 

journalctl コマンド

# journalctl --since "2023-11-09 03:00:00" | grep vmc-auto
11月 09 03:00:01 lab-rhel8-01 CROND[181477]: (demo) CMD (bash ~/vmc-auto/create_vmc_sddc.sh ~/vmc-auto/id_and_key.txt ~/vmc-auto/TEST-SDDC-1Node.json)
11月 09 06:00:01 lab-rhel8-01 CROND[181701]: (demo) CMD (bash ~/vmc-auto/delete_vmc_sddc.sh ~/vmc-auto/id_and_key.txt TEST-SDDC-1Node)

 

以上、SDDC 作成 → 削除の自動化例でした。

こちらもどうぞ。