vRealize Automation 8.1 で Nested ESXi の Blueprint を作ってみた

Share on:

Table of contents

はじめに

VMUG Advantage の Eval Experience に vRealize Suite 2019 Enterprise の評価ライセンスがありましたので、試しに自宅の vSphere に vRealize Automation (以下 vRA) 8.1 をデプロイして遊んでみています。

今回、Nested ESXi が展開できるブループリントでも作ってみたら面白いかなと思い、新しい UI 等に慣れるのを半分、ネタを半分にやってみました。vRA は過去に 7.x 系を少し触っていただけの初心者のため詳細な解説などは難しいですが、せっかくなので記事にしてみたいと思います。

vRealize Automation の概要

vRealize Automation は VMware 製品の中でもクラウドの管理や自動化(Cloud Management)といったカテゴリに属する製品です。vSphere や vSAN、NSX-T はインフラストラクチャ寄りの製品ですが、vRA はそれらも含めてユーザーがクラウド環境を容易に利用できるようサービスとして提供することが主な役割です。

vRealize Automation(vRA)の概要| クラウド自動化ツール | VMware | JP

各担当者のニーズに応えながら、ユーザーの利便性も確保するハイブリッド クラウド自動化プラットフォーム

IT 運用部門、ビジネス運用部門、DevOps、ビジネス部門、開発者のニーズに応じてハイブリッド クラウド環境やマルチクラウド環境を管理することは複雑な作業です。インフラストラクチャとアプリケーションのプロビジョニングが、複数のツールとスクリプトで半自動化されていると、効率性、生産性、一貫性が低下し、セキュリティとコンプライアンス上のリスクを招きます。vRealize Automation を使用すれば、ユーザーは必要なときに必要なサービスを入手できます。リリースの自動化プロセスは DevOps チームが管理し、セキュリティとガバナンスの保守については IT チームが担当します。

例えば、開発者などのユーザーからシステム管理者に仮想マシンの払い出しの要求があった場合、システム管理者がユーザーに仮想マシンの払い出しを行って管理するなどの対応が必要となります。この場合、完了までにかかる時間の多くはシステム管理者に依存します。

Traditional IT Service Request

vRA を使った場合、仮想マシンの払い出しや管理などは事前に自動化されているテンプレートから vRA が提供を行うため、多くをユーザーの作業のみで迅速に完結させることができます。これによりシステム管理者はその他のシステム管理業務に注力することが出来ます。
※ユーザーが「セルフサービスで」出来るようになるところが一番のポイントです。

Using vRealize Automation

パブリッククラウドの AWS や Azure、GCP 等には様々なサービスがありますが、vRA も作り込み次第では仮想マシンの提供以外に様々なサービスをユーザーに提供することが出来るようになります。

また、vRA はハイブリッドクラウドでの利用も想定しており、管理出来る範囲は vSphere や NSX-T といったオンプレミスの VMware 製品だけでなく、AWS や Azure、GCP といったパブリッククラウドも管理できるようになっています。VMware Cloud on AWS との連携ももちろん可能になっています。

ブループリントとは?

一言で言えば、vRA が提供するサービスの設計図です。例えば以下の画像はVMware社のドキュメントからの抜粋ですが、これは1つの vNIC が構成された Ubuntu 仮想マシンを vSphere の仮想マシンテンプレートから展開するためのブループリントになります。

ブループリントの例

このブループリントをサービスとしてユーザーに公開することにより、Amazon EC2 や Azure Virtual Machines のような仮想マシンを展開するサービスをユーザーが使用できるようになります。

Nested ESXi のブループリントを作っていく

本当はインストールや細かい初期設定なども見ていくべきだと思うのですが、ドキュメントや Blogger の方の記事で既に詳しく解説されているものもあるので、vRealize Automation 8.x のインストール1はスキップします。

今回は細かい vRA の構成はせず、事前に必要となる基本的な構成はクイックスタートでまとめて作ってしまいたいと思います。

クイックスタートで初期構成

vRealize Automation にログインしたら、Cloud Services Console の [LAUNCH QUICKSTART] からクイックスタートを始めます。
なお、既にクイックスタートを一度実施している場合はサービス一覧に [Quickstart] として表示されます。

Cloud Services Console

クラウドアカウントのタイプに VMware vCenter Server を選びます。これで vCenter Server でのクイックスタートが始まります。

Cloud Account

[1 vCenter Server] では vCenter Server の接続情報を入力し、[VALIDATE] でチェックします。

1 vCenter Server

[2 NSX] では、今回は NSX-T / NSX-V は使わないため None を選びます。

2 NSX

[3 Blueprint] ではブループリントで使用するテンプレートや展開先の構成などを入力します。今回使っている Nested ESXi のテンプレートは前回の記事での手作りのものになります。

3 Blueprint

また、[Configure] から展開のためのネットワーク情報を入力します。固定 IP アドレス範囲を指定すると、vRA がそのアドレス範囲は管理を行うようになり、ブループリントからの展開時はこの中から固定 IP アドレスが割り振られます。

3 Blueprint > Configure

[4 Policies] ではクイックスタートでの構成内容を追加するプロジェクトなどを設定します。なお、vRA 8.x ではプロジェクトという単位でユーザーやブループリント、利用するクラウドなどを管理・編成します。vRA 7.x ではビジネスグループという単位でしたが、用語やその定義なども変わっているため注意が必要です。

4 Policies

[5 Summary] では [Automatically deploy …] のチェックを外しておきます。チェックを入れた場合はクイックスタート完了時に作成されたブループリントからデプロイされます。今回は不要なのでチェックは入れません。

5 Summary

クイックスタートの構成は始まるとすぐに終わると思います。

Quickstart Completed

Cloud Assembly でブループリントを作っていく

クイックスタートが終わり Cloud Services Console に戻ったら、Cloud Assembly を使用します。

Cloud Services Console

[Design] タブを開くとクイックスタートで作成したブループリントがあるのでクリックで開きます。

Cloud Assembly > Design

クイックスタートで作成された既定のブループリントはこんな感じです。左側にキャンバス、右側にコードエディタがあります。基本的には各種リソースをキャンバスにドラッグアンドドロップで貼り付けてリソース同士を接続した後、コードエディタで細かいパラメータの調整をしていきます。

Quickstart Blueprint

まずはキャンバス上でネットワークを構成します。元々のネットワークはキャンバス上でクリックし [Delete] で削除します。その後、[vSphere] > [Network] のネットワークリソースをキャンバスに2つほど配置して接続します。コードエディタでは、マシンリソースに vNIC の順序(deviceIndex)を指定し、私の環境では最初の vNIC のみ固定 IP アドレス(static)としています2

Network Resources

次に [vSphere] > [Disk] のディスクリソースを追加します。コードエディタではディスクのサイズ(capacityGb)とプロビジョニング形式(provisioningType)を指定しました。

Disk Resources

最後にクイックスタートでの既定だとユーザー入力になっている CPU とメモリの設定を変更します。コードエディタの [Inputs] タブから cpuCount にチェックを入れて [Edit] をクリックします。

User Inputs

Minimum および Default Value を ESXi のハードウェア要件の 2 CPU に設定して保存します。

User Inputs - Edit CPU numbers

メモリも同様の手順で 4096 MB としておきます。

Default User Inputs Editted

これでブループリントの作成は終了です。デプロイを試す前に [SETTINGS] から分かりやすいブループリント名に変えておきましょう。

Blurprint Name

ブループリントからデプロイを試す

試しにデプロイしてみます。ブループリント作成画面の [DEPLOY] をクリックし、展開の名前とブループリントのバージョンを指定します。後者はまだバージョンを確定していないドラフトの状態なので Current Draft を選択します。

Deploy Wizard 1

展開のための入力パラメータは先ほど変更した値が表示されていることを確認し、[DEPLOY] でウィザードを完了します。

Deploy Wizard 2

自動で Cloud Assembly の [Deployments] タブに移動します。以下のようにリソースの展開が進んでいきます。

Deployment Progress

展開が完了しました。クイックスタートで固定 IP アドレスとして指定した範囲内の IP アドレスが割り当てられていることが分かります。

Deployment Created

同画面でマシンリソースを選択して [ACTIONS] をクリックすると実行可能なアクションが表示されます。[Connect to Remote Console] でコンソールを表示してみます。

Actions

見慣れた Nested ESXi の DCUI の画面が出てきました。vSphere Client の Web コンソールと同様に操作が出来ます。これは vRA アプライアンス経由で仮想マシンコンソールにアクセスしています。あくまでも Nested ESXi 仮想マシンのコンソールですので、物理サーバ側の ESXi のコンソール画面ではないことにご留意ください。

vRA Web Console

これで Nested ESXi のブループリントの作成が出来ました。

おわりに

ここまで vRealize Automation の Cloud Assembly を使って Nested ESXi を展開するブループリントを作成しました。

ブループリントの作成後は Service Broker を使用してプロジェクト内のメンバーとブループリントを共有することで、メンバーがカタログからセルフサービスでブループリントから展開できるようになります3。今回作ったブループリントに関しては、複数人が Nested ESXi を検証や研修に使ったりするなどの用途では役に立つかもしれません。

他にも GitLab や Jenkins 等の CI/CD 系ツールと連携する Code Stream という機能が統合されていたり、Docker / Kubernetes といったコンテナや Ansible / Ansible Tower といった自動化ツールとも連携できたりなど、クラウドの管理や自動化に利用できる様々な機能が搭載されています。

VMware Hands-On Labs には vRealize Automation のラボが豊富にあるので、興味がある方は是非触ってみてもらえればと思います。


  1. 最小構成なら vRealize Easy Installer から vRealize Suite Lifecycle Manager / VMware Identity Manager / vRealize Automation の3点の情報をウィザードに沿って入力して進めるだけになります。名前に Easy とつくだけあって、vRA 7.x 時代に比べてもインストールプロセスが非常に簡単になった印象でした。 ↩︎

  2. この辺りは恐らく Nested ESXi の構成(特に VMkernel ポート)によって変わると思われるので、環境に合わせて試行錯誤してみてください。設定が不適切だと展開が終わらなくなる状況を何度か経験しました・・・ ↩︎

  3. カタログとしての共有は「vRealize Automation Service Brokerを設定する方法」のドキュメントを参考としてください。 ↩︎