Alibaba CloudのOOSを使ってECSインスタンスに対して一括操作する

2024年4月8日掲載

キービジュアル

ご覧いただき、ありがとうございます。ソフトバンクの結城です。

今回は、Alibaba Cloud の OOS ( CloudOps Orchestration Service ) の概要と保有しているECSインスタンスに対して一括操作をする方法について紹介します。

目次

OOS (CloudOps Orchestration Service) とは

Alibaba CloudのOOS(CloudOps Orchestration Service)は、O&Mタスクの管理と実行をする自動O&Mサービス(オーケストレーションサービス)でよく知られているAnsibleと似ています。Ansibleでは、タスクを実行の際に使われるファイルを「playbook」と呼んでいますが、OOSでは、タスクを実行の際に使われるファイルを「テンプレート」と呼んでいます

OOSでは、多くのAlibaba Cloudプロダクトに対しての操作がサポートされており、タスク作成からタスクの実行設定までをGUIでシンプルかつ簡単に行うことができます。

OOSの利点

OSSでは以下の利点があります。

●実行環境がフルマネージド
AnsibleなどのO&M製品ではタスクを実行するインフラ(実行)環境の用意/管理が必要ですが、OOSではタスクを実行するインフラ(実行)環境を用意/管理する必要がありません。このため、OOSを利用するユーザは、タスクの作成/実行に専念することができます。

●料金が掛からない
OOSを使ってタスクを実行した場合に料金が発生しません。ただし、OOSを使って作成したクラウドリソース(ECSやRDSなど)に対しては、クラウドリソースの課金ルールに沿って料金が発生します。 

 ●テンプレート用意が簡単
OOSのタスク実行で使うテンプレートをコードの記述をしなくとも、GUI操作で簡単に作成することができます。また、多くのパブリック(参考)テンプレートが用意されており、シンプルかつ、簡単にテンプレートを作成することができます。カスタムテンプレートも作成することができ、GUI操作での作成をはじめ、yaml、json形式でのテンプレート作成もサポートされています。

 ●実行結果の確認が可能
OOS特定のコマンドを実行するタスクを実行した場合、コマンドの実行結果をOOSコンソールで確認することができます。これにより、コマンド実行結果のログを各リソースにログインして確認する必要がありません。また、OOSタスクを実行したResourceに対してタスク実行が成功/失敗したかも確認することができます。

 ●セキュリティ
TerraformなどのIaC製品では、タスク実行の際に、AccessKey、AccessKey Secretが必要になり、管理も必要です。OOSでは、AccessKey、AccessKey Secretが不要でタスクの実行を行うことができます。また、OOSタスクの実行では、OOSのサービスロールが付与されている必要があり、OOSタスクを実行できるユーザを制限することも出来ます。

OOSの利用制限

OOSを利用するにあたって、テンプレート作成数や1日に実行できるタスク数などに上限値が設定されています。

項目

デフォルト値

上限値の引き上げ

作成できるテンプレート数

200

QuotaCenterで引き上げ可能

タスク実行の同時実行数 (最大)

100

QuotaCenterで引き上げ可能

1日に実行できるタスクの最大数

200,000

QuotaCenterで引き上げ可能

テンプレートファイルの最大サイズ

64KB

不可

テンプレートに定義できるタスクの最大数

100

不可

日本リージョンのサポート

サポートしています

-


※その他の制限や最新情報については、「Terms」をご参照ください。

OOSの活用例

今回はOOSを使って、保有するECSインスタンスに対して、同時に同じコマンドを実行する方法について紹介します。

◾️利用プロダクト
ECS
OOS

◾️ECS環境情報
OS : CentOS 7.7 64bit
Instance Family : ecs.t5-lc2m1.nano
Disk: 40GB
利用リージョン : 日本

◾️事前準備
・CentOSがインストールされているECSを複数台用意してください。
※今回はECSを3台使って説明します。

OSS設定手順

<OOSタスクの作成と実行>

1 ) OOSコンソールにログインします。
2 ) Automated Task >> Scheduled O&M>> createをクリックします。

Alibaba Cloud Scheduled O&M 操作画面

3 ) Scheduled Task Typeを選択します。

●「Execute Now」
タスクを作成後、すぐに実行されます。

OOS Set Schedule Task 画面

●「Executed Once at the Specified Time」の場合
タスクを実行する時間を指定することができます。ただし、タスクが実行されるのは1回です。

OOS Set Schedule Task 画面

●「Executed Periodically」の場合
タスクの定期実行設定をすることができます。実行する時間、頻度を細かく指定することもできます。

Scheduled Task Type - Executed Periodically

今回は、「Execute Now」を使って説明します。

4 ) 利用するテンプレートを選択します。今回は、パブリックテンプレートの「ACS-ECS-BulkyRunCommand」を使用します。「ACS-ECS-BulkyRunCommand」を使うことによって、指定したECSインスタンスにコマンドを同時実行することができます。

OOS Select Template画面

5 ) 実行するコマンドを入力します。今回はwhoisをインストールします。
以下の図の通り、シェルスクリプトをはじめ、python、bat、powershellも実行することができます。

OOS 実行するコマンド入力画面

6 ) 以下の赤枠のパラメータを入力します。
Username : root (コマンドを実行するユーザ名を入力)
RegionId : Japan/Tokyo (対象のリソースが存在するリージョンを選択)
Resource Type : ECS Instance
Select Role : Maually Select Instance (リソースの指定方法について選択)
Select Instace : インスタンスを選択

OOS パラメータ入力

7 ) 項目の入力が完了したら画面下部にある、「Create」を選択し、タスクの作成を完了させます。

OOS Create ボタン

8 ) 確認画面が表示されるので、実行内容を確認した後にOKをクリックします。

OOS 確認画面

9 ) 作成したOOSタスクの画面に推移します。3 )で「Execute Now」を選択したので、タスクが実行されます。

10 ) OOSタスクの実行が完了するとExecution Statusが「Ended」と表示されます。
※今回実行したタスクは実行開始から実行完了までおよそ15秒ほどでした。

OOSタスクの実行が完了するとExecution Statusが「Ended」と表示されます

<OOSタスクの実行結果確認>

1)対象のOOSタスクの画面で「execution result」をクリックします。

対象のOOSタスクの画面で「execution result」をクリックします

2 ) Child execution >> Detailsの順にクリックします。

3 ) Logのタブをクリックし、実行ログを確認します。
ログには、どのインスタンスで操作されたかインスタンスIDが表示されます。複数のログが1つのファイルに出力されるため、特定のインスタンスの実行結果を確認する場合は、画面上でインスタンスを検索してください。

OOS Log確認画面

4 ) 実行結果を見ると「Complete」になっているのでコマンドの処理は完了していることがわかります。

OSS Log画面 Complete

コマンドの実行にした場合でもログされるので、上記の図の通り、出力結果を見てトラブルシューティングすることもできます。

※コマンドの実行が失敗した場合

OOSタスクでコマンド実行が失敗した場合、「Last ExecutionStatus」に「Failed」、「Last Execution Resource Status」に実行が成功 / 失敗したResource数を確認することができます。

OSS タスク失敗画面例

どのResourceに対して、OOSタスクが成功 / 失敗したかOOSタスクの詳細から確認することができます。

OSS タスクの詳細画面

失敗した原因については、「Details」より確認することができます。

OOS 失敗した原因はDetailsから確認が出来ます
OOS Details画面

さいごに

OOSは、インフラ(実行)環境を用意することなく、O&Mタスクを実行することができます。さらに操作性がシンプルで、指定したResouceに対して一括操作をすることができ、なおかつ料金が掛からず利用することができるのでとても便利です。

今回紹介した、OOSタスクでのコマンドの一括実行では、コマンドラインでのセキュリティパッチ適用や、ミドルウェアのバージョンアップグレードを行う際にも活用することができます。

また、Ansibleと似ているため、Ansibleを使っているユーザはOOSのカスタマイズ性にすぐ慣れることができると思います。Ansibleを使っていてフルマネージドの環境でO&Mタスクを実行したい、インフラコストが気になる、GUIでO&Mタスクを作成、操作したい場合は、インフラ(OOSの実行で使う環境)、実行コストが掛からないOOSを利用を検討してみてください。

今回紹介したOOSを使って、多くのリソースに対して一括操作や、定型業務の自動化をして、作業工数の削減を目指しましょう。

関連サービス

Alibaba Cloud

Alibaba Cloudは中国国内でのクラウド利用はもちろん、日本-中国間のネットワークの不安定さの解消、中国サイバーセキュリティ法への対策など、中国進出に際する課題を解消できるパブリッククラウドサービスです。

MSPサービス

MSP(Managed Service Provider)サービスは、お客さまのパブリッククラウドの導入から運用までをトータルでご提供するマネージドサービスです。

おすすめの記事

条件に該当するページがございません