1. はじめに
TerraformでVMware仮想環境の構成管理やデプロイ自動化にトライしてみたくなり、実際に試した手順の備忘録をまとめます。
次のAWSが提供しているGitHubリポジトリを参考にして、VMware仮想環境にContent Libraryを自動デプロイした際の手順をまとめます。
本ブログではVMware Cloud on AWS環境を利用していますが、APIは共通なので自宅やオンプレミスのVMware仮想環境でも挙動は同じかと思います。
また、VMware Cloud on AWS のAPIはVMwareから公開されています。
2. まずは手順の概要から
実際に私が辿ったおおまかな手順です。
(1) 作業用LinuxマシンにTeraformのインストール
(2) Terraformスクリプトのダウンロード
(3) Terraformスクリプトに利用するVMware仮想環境の情報を追記
(4) Content Libraryの自動デプロイ
(5) お片付け
前提条件
インターネットアクセス可能なVMware仮想環境および作業用Linuxマシンがあることを前提としています。
VMware仮想環境はVMware Cloud on AWSを利用し、作業用LinuxマシンにはAmazon EC2でUbuntu Linuxを利用しています。また作業用LinuxマシンからはVMware Cloud on AWSのvCenterにHTTPSでアクセスできるようにFirewall設定も事前に設定しています。
3. 手順の詳細について
(1) 作業用LinuxマシンにTeraformのインストール
公式ガイドに従って、Terraformをインストールします。
(2) Terraformスクリプトのダウンロード
作業用LinuxマシンにTerraformスクリプトを準備します。
私は作業端末でZipファイルをダウンロードして編集したあと、Fileziilaで対象ファイルを作業用Linuxマシンに送っています。
今回は次のサンプルTerraformスクリプトを利用します。
(3) Terraformスクリプトに利用するVMware仮想環境のアクセス情報を追記
VMware仮想環境のvCenterアクセス情報を追記します。
私は今回variablesファイルに直接書き込んでいます。ちなみにコードエディターとしてVisual Studio Codeを利用しています。
variable "vsphere_user" {
type = string
default = "vCenter Adminユーザ名"
}
variable "vsphere_password" {
type = string
default = "vCenter Adminiユーザーパスワード"
}
variable "vsphere_server" {
type = string
default = "vCenter アクセスURL"
}
参考にしているTerraform Providerは次のとおりです。
(4) Content Libraryの自動デプロイ
対象のディレクトリまで遷移して、Terraformのお作法に従い呪文を唱えます。
# terraform init
# terraform plan
# terraform apply
vSphereコンソールから見ると次のようになります。
コンテンツライラブリが作成され、その他のアイテムとして指定されていたvmware-toolsのファイルもダウンロードされています。
(5) お片付け
(4)と同様に、Terraformのお作法に従い滅びの呪文を唱えます。
# terraform destroy
vSphereコンソールから見ると次のようになります。
作成したコンテンツライラブリおよびその中のファイルも削除されました。
5. さいごに
いかがでしたでしょうか。VMware仮想環境をすでに触ったことがある方であれば、Terraform自体には不慣れでも案外すんなり試せたかと思います。
これを機にVMware仮想環境の自動化にも興味を持っていただければ幸いです。