Amazon Route 53 is a highly available and scalable cloud DNS web service. It is designed to give developers and businesses an extremely reliable and cost effective way to route end users to Internet applications by translating names like into the numeric IP addresses like that computers use to connect to each other. An Elastic IP addressis a static, public IPv4 address designed for dynamic cloud computing. You can associate an Elastic IP address with any instance or network interface for any VPC in your account. With an Elastic IP address, you can mask the failure of an instance by rapidly remapping the address to another instance in your VPC.




vCommander scripts (Download here)

PowerShell v4 installed on the vCommander application server

Embotics® vCommander® 6.1.12 or later

Embotics vCommander 2.8 REST API PowerShell libraries (Download here)

AWS PowerShell API Module installed on the vCommander Server (Download Here)



Prepare the Script Files


Download and extract the scripts to your vCommander application server. Embotics recommends storing all scripts called by vCommander in a single location (c:\Scripts) for example. These scripts are executed by vCommander. 


The scripts require minor editing before they will work with your systems. Refer to the comments in the individual script or the table below for guidance on editing the contents.

The Web URL of the vCommander server.
The credentials file which handles access to your vCommander. For more details, please refer to the Appendix: PowerShell Script Credential Encryption in the vCommander API Getting Started Guide, available here.
Attribute to save the Elastic IP address
Your AWS access key with programmatic access to add and remove Elastic IP’s from instances
The secret key to accompany the access key above

Edit the script files for your environment:

Create Custom attribute


Create a List based attribute that applies to the form, this is the user selectable option on the form to drive assigning the elastic IP in the completion workflow. 


Update Completion Workflow


Now that the scripts and credentials have been configured it's time to update the Completion workflow to call out to AWS and assign an elastic IP for the deployed instance


Sample Form:

Adding a step to call the script in the Instance completion workflow (Post provisioning) with the following condition line syntax:


("#{target.settings.customAttribute['Assign Elastic IP']} " -eq 'Assign Elastic IP and Route53 DNS address') -and ("#{target.managedSystem.type}" -eq amazon_aws)

Adding a step to call the script in the Instance completion workflow (Post provisioning) with the following command line line syntax:


powershell.exe C:\Scripts\CreateRoute53.ps1 '#{target.remoteId}' '#{}' '#{}' '#{target.deployedName}'

Update Decommissioning Workflow

Now to configure vCommander to remove the assigned address when the service is decommissioned through vCommander. Edit your completion workflow that's tied to your decommissioning change request form. Add the following conditional Statements to ensure it only runs when needed:


("#{target.settings.customAttribute['AWS Route53 DNS Address']}" -ne '') -and ("#{target.settings.customAttribute['AWS Elastic IP set']}" -eq yes) -and ("#{target.managedSystem.type}" -eq amazon_aws)


Add an execute script step to remove the Elastic IP before your delete vm step with the following command line syntax: 


powershell.exe C:\Scripts\DeleteRoute53.ps1 "#{target.customAttribute['AWS Route53 DNS Address']}"  "#{}" "#{}"

Now Request a VM as a test if everything was configured properly you will see the workflow run and the instance will have the attributes "AWS ElasticIP set" and "AWS Route53 DNS Address" will have the correct network information assigned.