🚀 Getting Started with EVS CLI: Manage Amazon Elastic VMware Service from the Command Line
Amazon EVS is currently in public preview and subject to change.
Amazon Elastic VMware Service (EVS) is a fully managed service that allows you to run VMware Cloud Foundation (VCF) directly on EC2 bare metal instances inside your Amazon VPC, without refactoring workloads or changing operational tools.
With the launch of the EVS CLI, you now have a powerful command-line interface to automate and manage your EVS infrastructure, ideal for scripting, DevOps pipelines, and quick access tasks.
🧰 What is EVS CLI?
The EVS CLI is an AWS CLI-compatible tool to help manage your Amazon EVS environments programmatically. You can:
- 🚧 Create or delete VCF environments
- 🧱 Add or remove ESXi hosts
- 📡 List VLANs and connected resources
- 🏷️ Tag and organize environments
- 📥 Retrieve environment information
It complements AWS Console and offers Infrastructure-as-Code (IaC) like capabilities directly in shell environments.
📋 Available Commands
Here’s a quick overview of commands you can run with evs
:
Command | Description |
---|---|
create-environment |
Provision a new VCF environment |
create-environment-host |
Add a new host to an existing EVS environment |
delete-environment |
Remove an entire EVS environment |
delete-environment-host |
Remove a host from a deployed environment |
list-environments |
List all EVS environments |
list-environment-hosts |
View hosts within an environment |
list-environment-vlans |
View VLAN setup in an environment |
get-environment |
Fetch detailed information of an EVS environment |
tag-resource / untag-resource
|
Manage tags on EVS resources |
list-tags-for-resource |
Display tags on a specific resource |
⚙️ Creating Your First EVS Environment
The most essential command is create-environment
. It provisions:
- vCenter Server
- NSX Manager
- SDDC Manager
- ESXi hosts (min 4)
- VLANs: Management, vMotion, vSAN, etc.
🧪 Sample Command
aws evs create-environment
--environment-name "prod-vcf-env"
--vpc-id vpc-0a12b345cdef67890
--service-access-subnet-id subnet-0123abcd4567ef890
--vcf-version VCF-5.2.1
--terms-accepted
--license-info file://license.json
--initial-vlans file://vlans.json
--hosts file://hosts.json
--connectivity-info file://connectivity.json
--vcf-hostnames file://vcf-hostnames.json
--site-id "SITE-123456"
📝 Note: Provisioning takes several hours. Host count must be 4 to 16, and all subnets must reside in a single Availability Zone.
🛠️ Example: hosts.json
[
{
"hostName": "esxi01.mycorp.local",
"keyName": "evs-key",
"instanceType": "i4i.metal"
},
{
"hostName": "esxi02.mycorp.local",
"keyName": "evs-key",
"instanceType": "i4i.metal"
},
...
]
🧹 Cleaning Up Resources
Once you’re done, it’s critical to clean up properly to avoid ongoing charges.
Delete a host:
aws evs delete-environment-host
--environment-id env-abc123456
--host-name esxi01.mycorp.local
⚠️ You must decommission the host in SDDC Manager UI before deleting it via CLI.
aws evs delete-environment-host
--environment-id env-abc123456
--host-name esxi01.mycorp.local
Delete the entire environment:
aws evs delete-environment
--environment-id env-abc123456
🛡️ Requirements Summary
- ✅ Minimum 4 hosts, maximum 16
- ✅ VCF Version: VCF-5.2.1
- ✅ Valid VCF and vSAN license keys from Broadcom
- ✅ CIDRs for VLAN subnets must not overlap
-
✅ All subnets must be in one Availability Zone
🧠 Why Use EVS CLI? -
📦 Infrastructure-as-Code: fits easily into Terraform or CI/CD workflows
-
⚙️ Automation: simplifies provisioning and scaling
-
🧪 Testing: replicate environments consistently
-
🔍 Debugging: quick access to environment state
🧩 Additional Tips -
Use
--generate-cli-skeleton
to scaffold input JSON or YAML files -
Use
--debug
for troubleshooting and verbose logs -
Secure your credentials using named
--profile
or environment variables
📌 Final Thoughts
Amazon EVS with CLI support marks a new era for hybrid cloud operations. If your team relies on VMware, this opens a path to modernize workloads with minimal disruption while enjoying the scale and security of AWS.
Try out the CLI and start building your first EVS environment today.