Launching an NVIDIA GPU Cloud Virtual Machine Image Using Alibaba CLI
Using Example Python Scripts
A comprehensive set of example Python scripts for automating the CLI are provided at https://github.com/nvidia/ngc-examples/tree/master/ncsp. You can download the scripts and modify them to meet your requirements. The code examples that follow use similar environment variables and structure as the scripts.
Using the Instructions in this Chapter
This flow and the code snippets in this section are for Linux or Mac OS X. If you are using Windows, you can use the Windows Subsystem for Linux and use the bash shell (where you will be in Ubuntu Linux).
Many of these CLI command can have significant delays.
For complete CLI documentation and sample scripts visit the Alibaba Documentation Center.
Getting the NGC VMI Image ID
Once started, you can SSH into your instance using the SSH key for the root user. If you followed the setup in this tutorial, your key is in ~/.ssh/.
You need to specify a source ImageID when creating an instance. Use this command to find the latest ImageID of the NVIDIA-GPU-Cloud-Machine-Image:
aliyuncli ecs DescribeImages --RegionId us-west-1 \ --ImageName "NVIDIA-GPU-Cloud-Virtual-Machine" \ --output json --filter Images.Image[0].ImageId
Creating Your VM Instance
Creating an instance with the CLI is done using the `aliyuncli ecs CreateInstance` command.
Full syntax documentation - https://www.alibabacloud.com/help/doc-detail/25499.htm
Other Notable Create Instance Options
- The inbound network bandwidth defaults to 200 Mbps. Use "--InternetMaxBandwidthIn" to change this. The valid range is [1, 200].
- To change the size of the system disk (default is 40 GB), use the "--SystemDiskSize" option. Valid values are [40, 500].
- To add a data disk (up to 16), use the "--DataDiskNSize" and "--DataDiskNCategory" options where "N" is [1, 16]. Valid values are:
Launch Example
Launch the instance and capture the resulting JSON:aliyuncli ecs CreateInstance \ --RegionId us-west-1 \ --ImageId "m-rj9iy0xjiod3ghkyhz4p" \ --SecurityGroupId "sg-rj94krsusal2k5l6gnnz" \ --InstanceType ecs.gn5-c4g1.xlarge \ --InstanceName "my-instance" \ --InternetMaxBandwidthOut 10 \ --InstanceChargeType PostPaid \ --KeyPairName alibaba-key
The output shows the instance ID.
{ "InstanceId": "i-rj9a0iw25hryafj0fm4v", "RequestId": "440ECC70-09F9-492C-AB9E-21AA9C4E0531" }
Assigning a Public IP Address
Instances created via CLI are not automatically given a public IP address.
To assign a public IP address to the instance you just created, run:
aliyuncli ecs AllocatePublicIpAddress --RegionId us-west-1 \ --InstanceId "i-rj9a0iw25hryafj0fm4v"
Successful completion of the command will return the IP address:
{ "IpAddress": "47.89.248.188", "RequestId": "65EB59AE-FA75-446F-B5C7-2BA0F9A77CDC" }
Starting the Instance
Instances created via CLI are not started automatically.
To start the instance you just created, run:
aliyuncli ecs StartInstance --InstanceId "i-rj9a0iw25hryafj0fm4v"
Connecting to the VM Instance with SSH
Once started, you can SSH into your instance using the SSH key for the root user. If you followed the setup in this tutorial, your key is in ~/.ssh/.
Command syntax:
ssh -i <KEYPATH> root@<IP>
Example:
ssh -i ~/.ssh/alibaba-key.pem root@47.89.248.188
Starting, Stopping, or Deleting Your VM Instance
Once an instance is running, you can stop, (re)start, or delete your instance.
Stop:
aliyuncli ecs StopInstance --InstanceId INSTANCE_ID
Start or Restart:
aliyuncli ecs StartInstance --InstanceId INSTANCE_ID
Delete:
aliyuncli ecs DeleteInstance --InstanceId INSTANCE_ID