The Gcore Customer Portal is being updated. Screenshots may not show the current version.
Chosen image
Home/Cloud/Virtual instances/Create

Create a virtual machine

1. Open Instances tab and click Create Instance.

The Create Instance button

2. Choose the region where you want to deploy your Virtual Machine (VM).

Region selection

Notice that regions are labeled either Core or Edge. This represents the region's equipment specifications.


Core Edge*
Equipment generation The latest Different
Designed for high scalability on the fly Yes Not
Available resources 1000 cores and 30 TB of RAM Up to 300 cores and 1 TB of RAM
Ports for user traffic and storage Separate Shared
Price Higher Lower

* Edge regions can be transformed into Core regions. Just send us a request.

3. Configure the image. Select the type of hardware architecture on which your VM will be running:

  • x86-64: This architecture is known for its broad compatibility with Linux operating systems and Windows distributions. It is commonly used in general purpose computing applications.
  • ARM: ARM architecture is designed for energy efficiency and low power consumption, which also supports strong performance, making it ideal for high-performance computing tasks. However, ARM Virtual Machines are compatible with fewer OS distributions.
Choose x86-64 or ARM architecture

Your choice of hardware architecture will affect the available OS options and VM flavors. Choose an OS distribution, a volume, a snapshot, a custom image, or a template from the marketplace.

4. Configure the VM type.

Select the appropriate CPU generation:

  • Intel® Xeon® Scalable, 3rd Gen or 2nd Gen if you’ve selected x-86-64 architecture at the previous step.
VM based on Intel® Xeon® Scalable, 3rd Gen or 2nd Gen
  • ARM Ampere® Altra® Max Family if you selected ARM architecture in the previous step.
VM based on Ampere® Altra® Max Family

Choose one of the available flavors.

  • Shared. VMs that share the core of a physical machine with other VMs. They are designed for workloads that don't require high performance.
    Availability: Luxembourg

type="info" title="Info">

The bandwidth limit for the Shared flavor is up 100 Mbps. For other configurations it's up 1 Gbps.

  • Standard. VMs best suited for a wide range of workloads that require predictable computing performance.
    Availability: all regions.
  • vCPU. CPU-optimized VMs. Ideal for CPU-intensive tasks that require predictable computing performance, such as batch processing of large data sets and video encoding.
    Availability: all Core regions.
  • Memory. Memory-optimized VMs. Suitable for memory-intensive tasks such as databases, SRM/ERP or data warehouses.
    Availability: all Core regions.
  • High Frequency. VMs with a high CPU clock rate (3.7 GHz in the basic configuration). Ideal for applications requiring single-threaded performance, financial and probabilistic analytics, and automation of computational processes.
    Availability: Luxembourg, Manassas, Frankfurt.
  • SGX. VMs that support Intel SGX (Security Guard Extension) that helps to protect data from disclosure or modification by isolating private parts of code and data (enclaves). The best option for storing critical or sensitive data in the cloud.
    Availability: Luxembourg, Manassas, Singapore.
  • GPU. VMs with a graphics card. Suitable for working with graphic information, deep and machine learning applications, and high-performance computing.
    Availability: Luxembourg.
  • GPU-HF. VMs with a high clock rate of the CPU and with a graphics card, suitable for complex calculations that require graphics accelerator resources, high performance, and speed.
    Availability: Luxembourg.

5. Configure Volumes.

Configure Volumes

Enter a volume name, choose its type, and set its size in GiB

  • High IOPS SSD. High-performance SSD block storage designed for latency-sensitive transactional workloads (60 IOPS per 1 GiB; 2.5 MB/s per 1 GiB). The IOPS performance limit is 9,000. The bandwidth limit is 500 MB/s.

Availability: Amsterdam, Frankfurt, London, Luxembourg, Luxembourg-2, Manassas, Paris-2, Singapore

  • Standard. Network SSD disk, which provides stable and high random I/O performance, as well as high data reliability (6 IOPS per 1 GiB; 0.4 MB/s per 1 GiB). The IOPS performance limit is 4,500. The bandwidth limit is 300 MB/s.

Availability: all regions

  • Cold. Network HDD disk, suitable for less frequently accessed workloads. The maximum number of IOPS is 1,000. The bandwidth limit is 100 MB/s.

Availability: Luxembourg

  • Ultra. Network block storage option, recommended for non-critical data and workloads that are accessed less frequently. The maximum number of IOPS is 1,000. The bandwidth limit is 100 MB/s.

Availability: Luxembourg

  • SSD Low-Latency. SSD block storage, designed for applications that require low-latency storage and real-time data processing. It can achieve IOPS performance of up to 5000, with an average latency of 300 µs.

Availability: Amsterdam-2, Frankfurt, Hong Kong, Luxembourg-2, Manassas, Tokyo

(optional) Add an Attachment Tag.

6. Add one or multiple interfaces in the Network settings.

If you select a public interface, you can turn on the Use reserved IP toggle and assign a reserved IP address to your VM.

Network settings with highlighted Reserved IP toggle

If you select a private interface, configure a network and a subnetwork according to the following steps. 

If you need both a public and private interface, disable the default gateway on the private network's subnetwork and assign a floating IP to the private interface without using the public interface.

Configure a network

Select an existing network from the dropdown list or create a new one by clicking Add a new network.

Private interface with highlighted Add a new network link

If you choose to add a new network, a new window will open where you'll configure the network settings:

1. Enter the network name.

2. (optional) Turn on the Bare Metal network toggle to connect bare metal servers to the network.

3. (optional) Turn on the Add tags toggle to add metadata to the network.

4. Click Create network.

Add a new network

Configure a subnetwork

If your VM has several subnetworks, ensure that only one subnetwork is routable. Otherwise, there will be a conflict with the default gateway on the server, and you might not be able to connect to the VM.

Select an existing subnetwork from the dropdown list or create a new one by clicking Add a new subnetwork.

Add a new subnetwork

If you choose to add a new subnetwork, a new window will open where you'll configure the subnetwork settings:

1. Enter the subnetwork name.

2. Set CIDR between ranges: -,—,— Set the mask between 16 and 29.

3. (optional) Turn on the Enable DHCP toggle to assign IP addresses to machines in the subnet automatically.

4. (optional) Turn on the Non-routable subnetwork toggle to block access to the subnet from external networks and other subnets. If you keep the network routable, you can specify the Gateway IP address. Otherwise, a random IP address will be assigned.

5. (optional) Enter Custom DNS servers to add specific DNS servers.

6. (optional) Turn on Add tags to add metadata to the subnetwork.

7. Click Create subnetwork.

Add a new subnetwork dialog

Optionally, you can turn on the Use Reserved IP toggle to assign a reserved IP address to your VM and turn on the Use Floating IP toggle to assign a floating IP address.

7. For Firewall settings, select the default firewall or create a new one by clicking Add firewall.

The Firewall settings

If you keep the default firewall, the incoming traffic will be allowed over ICMP, TCP (SSH), and RDP protocols.

If you want to create a new firewall, refer to our article on adding and configuring a firewall.

Linux Virtual Machine

8. Configure an SSH key for a remote SSH connection. You can add an existing SSH key or generate a new one. For instructions on how to generate and configure the key, check out this guide: Connect to an instance via SSH.

SSH keys section with three options: select, generate, or add a new SSH key

In addition to SSH keys, you can also set up a password for your Virtual Machine, as described in step 9. Setting a password is necessary if you want to connect to a Linux VM from the Customer Portal.

Windows Virtual Machine

8. Configure Access by setting a password for the Admin user.

Access field with a password

Your password must contain between 8 and 16 characters, including at least one lowercase letter (a-z), one uppercase letter (A-Z), one number (0-9), and one special character (!#$%&’()*+,-./:;<=>?@[]^_{|}~).

You can use the password to connect to a Windows VM from the Gcore Customer Portal or from your computer using RDP (Remote Desktop Protocol).

9. (optional) Configure Additional options.

  • Enable the User data toggle to customize your VM during the initial boot by a cloud-init agent.
User data field with password configuration

You can configure your password to connect to your Linux VM from the Customer Portal or via SSH. To do so, insert the following code to the field, replacing **your password** with your chosen password:

password: **your password**  
chpasswd: { expire: False }  
ssh_pwauth: True

On Cloud VMs with Windows OS, you can't use the password parameter both in the “Access” and “User data” fields. Since the "Access" field is required, configuring user data on Windows Virtual Machines is not possible.

Read more about the allowed VM parameters in our API docs.

You can configure the password hash, a machine-readable set of symbols. It’ll protect your real password from being compromised. To generate a hash, use the Python script:

#!/usr/bin/env python3  
\# based on [https://stackoverflow.com/a/17992126/117471](https://stackoverflow.com/a/17992126/117471)\# pip3 install passlib  
import sys  
from getpass import getpass  
from passlib.hash import sha512_crypt  
passwd = input() if not sys.stdin.isatty() else getpass()  
print(sha512_crypt.hash(passwd , rounds = 5000 ))

If a VM is only in a private subnet, DHCP must be enabled in the settings of this subnet, so you can log in with a password.

  • Turn on Add tags to add a key-value pair that forms the metadata of the virtual machine description.

The field to add tags

  • Turn on Add to placement group to determine how to place multiple VMs.

The field to add the instance to a placement group

You can place your virtual machine in one of three types of groups:

  • Affinity groups assemble virtual machines on the same hardware. Machines launched in one affinity group will exchange data faster because they are located on the same server.

  • Anti-affinity groups work the opposite way: All virtual machines in this group will be separated across different physical hardware. This increases fault tolerance of a cluster: Even if something goes wrong with one server, machines on the other servers will remain available.

  • Soft anti-affinity groups encourage, but don't strictly enforce, the separation of virtual machines. Unlike a strict anti-affinity policy, where machines may never be placed together, soft anti-affinity allows placement on the same hardware when it is necessary due to factors like resource constraints or high demand. It is suitable for users who want to use the anti-affinity policy by default while also avoiding machine creation failures if an unused host is not found.

You can add the VM to an existing placement group or create a new one by clicking Add placement group.

10. Specify the number of machines with the same configuration you need and give them names.

The field to set the number of instances

The maximum number is limited by your quotas.

For names, use Latin characters, underscores, spaces, and dots.

11. Click Create virtual machine.

Your server will be transitioned to the Building status. The system will allocate resources for your virtual machine.

After that, the server will be automatically moved to the Power on status. Your machine is ready to run!

Was this article helpful?

Not a Gcore user yet?

Discover our offerings, including virtual instances starting from 3.7 euro/mo, bare metal servers, AI Infrastructure, load balancers, Managed Kubernetes, Function as a Service, and Centralized Logging solutions.

Go to the product page