Alea.cuBase licenses rely on a fingerprint of the running hardware. For an Amazon EC2 cloud machine, the hardware keeps changing. In this case, in order to install an Alea.cuBase license you have to create a Virtual Private Cloud (VPC), then use a Elastic Network Interface (ENI) in that VPC, which retains a static MAC address. In this article, I will show you how to setup a VPC, and start a EC2 instance in that VPC, which has an ENI attached. With this setting, we can generate a meaningful fingerprint, and you can install an Alea.cuBase license.
STEP 1: Create VPC
Login into your AWS console, click “VPC”. It will bring you to the VPC dashboard. If there are no VPC created, there will be a button “Get started creating a VPC” in your dashboard. Just click it, and a VPC configuration selection window will popup:
It provides 4 typical network topologies. In this example, I choose the first one, which is the simplest one.
Click “Continue” to do the network settings. We need set a proper availability zone for the subnet, because some zones don’t support GPU. In our example we choose “us-east-1a”:
Click “Create VPC”. The system will create a set of objects: 1 VPC, 1 Subnet, 1 Internet Gateway, 1 Network ACL, 2 Route Tables, and 1 Security Group. We keep all default settings, except for the security group.
For the security group we need to modify it so that it allows the Remote Desktop Protocol (RDP), so that we can connect to it. Navigate to “Security Groups” in the VPC console. We have to add one Inbound rule for the RDP protocol. Click on the drop down list to select the RDP protocol. Then add this rule and apply the changes as follows:
We have created the VPC. Go back to the main console.
STEP 2: Allocate EIP
In order to connect to your EC2 machine from the outside, we need to allocate one elastic IP (EIP). Go back to the main console, and select “EC2″, which will bring us to the EC2 console. On the left, we can navigate to “Elastic IPs”, and click “Allocate New Address”. This will popup a dialog where we can choose the purpose of the EIP. Set it to be used in VPC:
STEP 3: Create ENI
EIP is just a resource. We need to create an ENI and attach that EIP to it. On the left, navigate to “Network Interfaces”, and click “Create Network Interface”. In the creation dialog select the subnet to the one that VPC created:
We have created an ENI, but it has only a private IP address. We need to attach the EIP to it. Right click the ENI that we have created and a context menu will popup, choose “Associate Address”. A dialog will popup to let you select which IP you want to associate with it. Select the EIP that we just created:
STEP 4: Start Instance
Now have created all necessary objects and we can launch an EC2 instance. Navigate to “Instance” and click “Launch Instance”, choose “Classic Wizard”, then select proper AMI:
On the next page, the instance type should be “CG1 Cluster GPU” in order to get a GPU machine. We need to set it to be launched in the VPC we have created:
On the next page we need to select the network interface to the one we just created:
We also have to select the security group to be the one we just created:
After clicking “Launch”, it will take some time (10 to 30 minutes) to start the machine.
STEP 5: Install license and test
Now, you can connect to the instance via RDP. Install Alea.cuBase and use License Manager to install a license:
It is strongly recommended that you save your license once it is authenticated.
We run an example script to verify the setup:
If no evaluation window pops up the license is correctly installed. This license is bound to the ENI. This means you should keep the ENI as long as you want to use the license. If you changed the hardware configuration, you have to re-authenticate your license again.