【vRA】巷で話題?! vRealize Automation (Aria)を試用してみた

皆さんは、「インフラストラクチャ自動化」と聞けば、何を思いつきますか?
大体の方は、ChefとかAnsibleとかが思いつくと思いますし、既に利用されているユーザーの方も多いと思います。(Salt Stackと答えた方はこの記事の需要は無いかもしれません・・)

追記:2022年11月にvRealizeは"Aria"にリブランドされました。製品内容に関しては大筋が変わっていないということですが、変更点がある可能性についてはご了承ください。

今回の記事では、VMware Cloud on AWS (VMC)で統合利用できる、インフラストラクチャ自動化ツール vRealize Automation Cloud (vRA)を紹介したいと思います。

※ Cloud Assemblyの入門内容です

vRealize Automation (vRA) ってなんぞ??

VMware社が提供している、統合監視・自動化プラットフォーム群のVMware vRealize Suite のひとつです。

オンプレに詳しい方なら、vRealize Operations (vROps)、vRealize Log Insight (vRLI)、vRealize Orchestrator (vRO)などはご存知かもしれません。
そのvRealize Automationシリーズの、VMC対応版がvRealize Automation Cloudとなります。

vRealize Automation (vRA) の構成要素

vRAの中でも、いくつかの機能に分かれています。(画像は公式ドキュメントより抜粋)

Code Stream
 - リリースパイプラインの自動化(GitやDockerなど)

Cloud Assembly
 - マルチクラウドプロビジョニング
 - API提供有り。vROとの連携も可

Service Broker
 - 複数のリソース・プラットフォームからコンテンツを集約。

Orchestrator
 - インフラタスクを簡素化・自動化

SaltStack Config
- コンプライアンス状態の定義

今回主に紹介するのは、個人的にメイン機能のCloud Assemblyです。
(他コンポーネントも使いますが、Code Streamは開発寄り、Service Brokerは管理者寄りの機能が多いです)

Let's TRY!!

まずは、コンソール画面にアクセスしてみます。
コンソール画面

お馴染みのログイン画面が出現したら、ログインします。

ロード画面が出てきます。おま環の可能性はありますが、何故かめちゃくちゃ長いです。

最初はチュートリアル的なセットアップ画面が出てきます。
流れ的には、

① クラウドゾーン(AWSやAzure, GCPなど)を定義する
② フレーバーマッピングで、インスタンスサイズなどを定義する
③ イメージマッピングで、Ubuntuなどイメージを定義する
④ クラウドテンプレートで各リソース情報を選択する
⑤ 「展開」でデプロイを実行する

となります。


① クラウドゾーン(AWSやAzure, GCPなど)を定義する

今回はAWSアカウントをセッティングしていきます。

Amazon Web Servicesを選択します。パブリッククラウドの他に、オンプレvCenterとかも選べるみたいですね。そのうちOCIとかも使えたりして…?

適当な名前を入れて、AWS側で発行したアクセスキーを入力します。
IAM権限は、作成するリソースへの適切な権限で良いと思います。今回は、iam:EC2FullAccess としました。

機能タグ?は正直何か分かってません。タグでフィルタリングできること以外、分かりませんでした。

完了画面が出ると、環境がリンクされ自動でリソースを引っ張ってこれます。

② フレーバーマッピングで、インスタンスサイズなどを定義する

インスタンスサイズを事前に定義しておく必要があります。

「新しいフレーバーマッピングを作成」より、サイズを指定します。
何でも良いのですが、検証用なのでt3a.microにしました。


③ イメージマッピングで、Ubuntuなどイメージを定義する

使用するイメージも事前に定義する必要があります。少し面倒かもしれませんが、大規模になるとこっちのほうが使いやすい気もしました。

ちょうど良いAMIがあったのでそのイメージを使用します。
AWS環境にAMIが無くても、マーケットプレイスから引っ張ってくることもできます。


④ クラウドテンプレートで各リソース情報を選択する

使うコンポーネントをGUIで並べます。それぞれは線で繋いでおきます。

・・・と思ったのですが、全て手で並べるのはちょっとしんどいです。
画面右にymlで書けるスペースがあるので、そちらに書きます。

ここで、EC2のプロパティにflavor と imageがありますね。前手順で定義したものを使用しています。
EBSは、特に明示的に作らなくても、EC2に付随して1つはストレージができます。(このコードだと8GBと30GBのEBSが2つ付きます)


⑤ 「展開」でデプロイを実行する

ここまで設定が上手く行けば、残りは展開するのみです。

※ ちなみに、「申請者」という単語が出てきますが、これはポリシーによって、”管理者が許可しない状況ではデプロイできない” など細かい設定が可能です。詳しくはService Brokerの記事を書くことがあればそちらで説明します。。

無事に展開されました。一応AWSコンソール画面からも確認してみます。

問題ないですね! ちゃんと指定したインスタンスサイズ・ストレージサイズ・イメージ内容で上がってきていました。

パワーオフメニューもあり、これも問題なく停止処理されました。

スタックを消せばリソースは全て消えます。
CloudFormationとできる内容はほぼ一緒な気がします。笑

「CFnあるから良いじゃん」という声もあるかもしれませんが、統合環境なので、AzureやGCPも一括で管理できると思えばアリではないでしょうか!?

以上、軽いレビューを挟んだ検証構築でした。

おまけ

マーケットプレイスで、利用規約のAgreementをしていないイメージは怒られてしまった。これを回避する方法・・・求む。。