# Create a GPU VM

On the VM creation page ( **AI Infrastructure** → **GPU Virtual machines** → **Create virtual machine**), set the VM configuration:

![](/files/cefde06314f58bbc6e733cbcff1e5d3324e26efb)

### Step 1: VM flavors and images

1. **VM Name**: Enter a unique name for your GPU virtual machine.
2. **Flavor**: Select a VM configuration that meets your needs, including vCPU, RAM, storage, and GPU count. Currentlly we only provide GPU **NVIDIA H100 SXM5** in Vietnam, **NVIDIA H200 SXM** in Japan and Local Storage NVME
3. **OS Image**: Only FPT public images (Ubuntu-based) is supported

### Step 2: Access VMs

* **Auto assign static IP**: A static public IP address is randomly allocated from the IPv4 public range of FPT AI Factory.If you stop a VM that has a static IP address, the address will not return to the range. However, if you delete this VM, the address will return.
* **Exposed ports**: Define the network ports that will be accessible for communication with your virtual machine.
* **Security group**: Assign a security group to manage inbound and outbound traffic for the virtual machine.If you use the **default security group, all inbound and outbound traffic is allowed for this VM**. **We recommend updating rules to restrict access** to trusted IPs and the above exposed ports only (e.g., SSH 22, RDP 3389, HTTP/HTTPS).

### Step 3: Set Authentication Method

Choose one of the following authentication methods:

* **SSH Key**:The system automatically uses your latest SSH key (you can change it if needed).
* **Password**:Set a password and securely store it for console access.

### Step 4: User Data (Cloud-init Script) (Optional)

The **User Data** field allows you to add cloud-init scripts.When the VM starts, **cloud-init** reads metadata and automatically configures the system — including users, SSH keys, and network settings.

**Sample Cloud-init Script**: With the provided script, the system will automatically create the user "**testcloudinit**" with the password "**Abc123**". Another user, "**testcloudinit2**", will be created with the password "**P\@ssw0rd!**".

| # cloud-config users: - name: testcloudinit sudo: ALL=(ALL) NOPASSWD:ALL lock\_passwd: **false** shell: /bin/bash passwd: $6$rounds=4096$V6anciWl30$xKbcljqks1gUkMiM80pyKzhvyhn7U1n.jXcGCUfkUlX.rnllUWKUrmDEzekhhhP8aERSylRuC7gfDhJ32Xv0A1 - name: testcloudinit2 groups: sudo lock\_passwd: **false** shell: /bin/bash plain\_text\_passwd: P\@ssw0rd! - hostname: testcloudinit |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

### Step 5: Create the VM

Click **Create GPU Virtual machine** to deploy and start your GPU VM.

Once the VM is created successfully, you can view its details in the **VM list** page.

### "Not enough resources" error

Sometimes, demand for virtual machines and GPUs in certain **FPT AI Factory regions** might be higher than the available supply. When this happens, you might see a "Not enough resources" error when creating or restarting VMs in the affected region.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://ai-docs.fptcloud.com/fpt-gpu-cloud/gpu-virtual-machine/on-fpt-ai-factory-portal/tutorials/create-a-gpu-vm.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
