IONOS now supports RHEL 8 images as part of our ongoing commitment to offering RHEL support to our users. As a result, RHEL 8 images are now compatible with the IONOS public cloud architecture.
December 18
IONOS is a certified partner of Red Hat and is authorized to provide and run Red Hat Enterprise Linux inside the IONOS public cloud infrastructure. This applies to public RHEL 9 images supplied by IONOS.
December 15
Managed Kubernetes now supports Private Node Pools, providing enhanced security, isolation, and flexibility to manage your Kubernetes workloads. You can create Private Node Pools within your Managed Kubernetes clusters to ensure your critical workloads remain secure and protected.
December 15
Now you can enable advanced features to boost the protection of your workloads:
December 15
IONOS has renamed Managed Backup to Backup Service to standardize the product terminology. Earlier, Managed Backup was also referred to as Backup as a Service or Backup by Acronis across different platforms. The new unified name ensures consistency in our communications and branding. This change does not impact the product's functionality, and the service remains unchanged. The documentation portal now reflects the product name changes. For more information, see .
December 14
IONOS offers a revamped web console for IONOS S3 Object Storage in the General Availability (GA) phase. The console is an enhanced version of the old S3 Web Console, providing improved user experience and performance, intuitive design, contextual help, and faster responsiveness. The user interface navigation label is renamed from S3 Web Console to IONOS S3 Object Storage in the DCD. For more information, see .
December 14
IONOS S3 Object Storage offers the Bucket Policy, view object versions and metadata, and Object Lock features in the General Availability (GA) phase. Using , overarching access policies for a bucket can be set to control data access and usage. With , data can be secured by implementing retention policies or legal holds; and with object , object retrieval is easier for large volumes of unstructured data. These new features overall improve the access and data management in the Object Storage.
December 13
IONOS offers the new Container Registry Vulnerability Scanning feature in General Availability (GA) phase. Software development is constantly evolving, and security is our top priority. The Container Registry Vulnerability Scanning feature is specifically designed to enhance the security of your containerized applications by proactively identifying potential vulnerabilities present in your artifacts. Scans occur each time an artifact is pushed to the registry and when new vulnerability definitions are published. It quickly detects any security weaknesses in container dependencies and libraries, allowing you to react immediately to prevent exploitation. For more information about reviewing the vulnerability scan results, see .
December 13
IONOS offers the New Container Registry Web Console, an enhanced version of the existing Container Registry Web Console, providing improved user experience and performance, intuitive design, faster responsiveness and additional features than the existing Container Registry Web Console. For more information, see .
Documentation updates
December 18
The subtopics in the Block Storage section have been updated. It now contains a new Images & Snapshots section with the appropriate subtopics— and . For more information, see .
IONOS offers the New S3 Web Console (Beta), an enhanced version of the existing S3 Web Console, providing improved user experience and performance, intuitive design, and faster responsiveness while having the same feature set as the existing S3 Web Console. Currently, the feature is in the Beta phase and available by default to all new and existing users. You are encouraged to try out the new S3 Web Console. This new application console does not impact the functionality of the existing S3 Web Console. For more information, see .
September 4
The Cloud DNS is now in General Availability (GA) phase. You can publish DNS zones of your domains and subdomains on public Name Servers using Cloud DNS. With the Cloud DNS API, you can create DNS zones and DNS records, import and export DNS zones, secure your DNS zones with DNSSEC and create secondary zones. Additionally, you can also set up ExternalDNS for your with Cloud DNS.
Previous Release Notes
Welcome to the previous release notes section of our documentation portal for IONOS Cloud. This section is dedicated to archiving previous release notes for the year, excluding the latest release.
ensures continuous protection of your data, capturing even the most recent updates to prevent loss.
Advanced Security offers comprehensive, continuous malware threat mitigation for your data environments.
Advanced Management facilitates the patching of vulnerabilities within your protected data scope.
This feature will be available when creating new container registries, and you can also enable it for existing registries. For more information, see Enable Vulnerability Scanning.
Cloud DNS is now available as an Early Access (EA) feature. You can publish DNS Zones of your domains and subdomains on public Name Servers using Cloud DNS. You may also programmatically manage your DNS Zones and Records via API.
Virtual Data Center LANs
A Virtual Data Center (VDC) is a collection of cloud resources for creating an enterprise-grade IT infrastructure. A Local Area Network (LAN) in a VDC refers to the interconnected network of Virtual Machines (VMs) within a single physical server or cluster of servers. The LAN in a VDC is a critical component of cloud computing infrastructure that enables efficient and secure communication between VMs and other resources within the data center.
VDC operates in a dual-stack mode that is, the Network Interface Cards (NICs) can communicate over IPv4, IPv6, or both. In Data Center Designer (DCD), IPv6 can be enabled for both Private and Public LANs, but on provisioning, only Public IPv6 addresses are allocated to all LANs.
IONOS Cloud Documentation
Explore our guides and reference documents to integrate IONOS Cloud products and services.
With the Data Center Designer (DCD), IONOS Cloud's visual user interface, you can create a fully functioning Virtual Data Center (VDC).
APIs, SDKs & Tools
Product User Guides
Set up and manage your products and services via examples and troubleshooting cases below:
October 2023 Releases
What's new
June 2023 Releases
What's new
DCD How-Tos
Prerequisites: Prior to setting up a virtual machine, please make sure you have the appropriate privileges. Only contract owners, administrators, or users with the Create Data Center privilege can set up a . Other user types have read-only access and can't provision changes.
Connect via Remote Console
The is used to connect to a when, for example, no is available. You must have the root or administrator password for this type of log-in to the server.
Prerequisites: Make sure you have the appropriate permissions. Only contract owners, administrators, or users with access rights to the data center can connect to a server. Other user types have read-only access and can't provision changes.
DCD How-Tos
Prerequisites: Prior to setting up a virtual machine, make sure you have the appropriate privileges. Only contract owners, administrators, or users with the Create Data Center privilege can set up a . Other user types have read-only access and can't provision changes.
Connect via Remote Console
The is used to connect to a when, for example, no is available. You must have the root or administrator password for this type of log-in to the server.
Prerequisites: Make sure you have the appropriate permissions. Only contract owners, administrators, or users with access rights to the data center can connect to a server. Other user types have read-only access and can't provision changes.
Cloud Cubes FAQs
What are Cloud Cubes?
For a long time, the duopoly of virtual private servers (VPS) and dedicated cloud servers dominated virtualized computing environments.
Enter Cloud Cubes — virtual private service instances — the next generation of IaaS. Developed by IONOS Cloud, Cubes are ideal for specific workloads that do not require high compute performance from all resources at all times — development and testing environments, website hosting, simple web applications, and so on.
While based on shared resources, the Cubes can rival physical servers through a platform design that can redistribute available performance capacities among individual instances. At the same time, reduced operational complexity and highly optimized resource utilization translate into lower operating costs.
Block Storage
Data is stored in blocks of equal sizes in the IONOS cloud known as Block Storage. It provides endless possibilities to store large amounts of data. It ensures the safety of resource planning systems and offers prompt and instant access to the necessary quantity of data.
Prerequisites
Make sure you have the appropriate privileges. Only contract owners, administrators, or users with the Create Data Center privilege can set up a . Other user types have read-only access and cannot provision changes.
Images & Snapshots
IONOS offers a wide range of readily available public images that you can use instantly. In addition, you can also use your private images by uploading them into the IONOS Cloud infrastructure via the . Your IONOS account supports numerous block storage and ISO image types using an emulated CD-ROM drive, from which you can install an operating system or software directly.
Furthermore, you can create snapshots of provisioned block storage. Each snapshot is a separate instance, representing the state of the source block storage device while capturing the snapshot.
For Linux images, IONOS supports Cloud-Init to automate software package installations and instance configurations.
IONOS Public Images
IONOS provides a variety of operating system block storage images and different versions of it that are ready to be used on any block storage type.
All images get updated frequently to include the latest updates, patches, and security fixes. IONOS will not inform about image updates separately. Once a new patch or update is provided, a new image is built and provided while the previous version is removed from the software catalog. The currently available version number is displayed in the image name that you can retrieve from the image selection within the block storage selection.
For more information about using public images for your Block Storage, see .
DCD How-Tos
Prerequisites:
Prior to enabling IPv6, make sure you have the appropriate privileges. New Virtual Data Center (VDC) can be created by the contract owners, administrators, or users with create VDC privilege. The leading number of bits in the address that cannot be changed is the prefix length. For Data Center IPv6 CIDR, the prefix length is /56.
You can enable the IPv6 LAN and configure the network to support IPv6. Using IPv6 LANs, devices can communicate on the same LAN using standard IPv6 protocols. IONOS LANs route packets between devices and networks, ensuring that the network runs smoothly and effectively.
Disable IPv6
To disable IPv6 for LANs in the Data Center Designer (DCD), follow these steps:
Select the LAN you want to disable IPv6 for, and clear the Activate IPV6 for this LAN checkbox.
Start provisioning by clicking PROVISION CHANGES in the Inspector pane.
Cubes instances come complete with vCPUs, RAM, and direct-attached NVMe storage volumes; choose among standard configurations by selecting one of several templates for your Cubes. Storage capacities can be expanded further by adding network block storage units to your Cubes.
Cubes instances can be used together with all enterprise-grade features, resources, and services, offered by IONOS Cloud.
Affordable, quickly available, and with everything you need — have your Cubes up and running in minutes in the IONOS Cloud.
June 20
Debian 12 HDD and ISO images are now accessible through the Data Center Designer (DCD) and the Cloud API. These latest Debian images are compatible with all IONOS Compute Engine instances, including Dedicated Core Servers and Cloud Cubes.
Internet Protocol version 6 (IPv6) is now a General Availability (GA) feature for all IONOS Compute Engine instances of type Dedicated Core Servers and Cloud Cubes. Applications can now be hosted in the dual stack with connectivity over both IPv6 and IPv4 within virtual data centers and to and from the internet.
Firewall rules configuration for a Network Interface Card (NIC) is now extended to support IPv6. With this enhancement, Firewall rules support ICMPv6 as a protocol, IPv6 addresses as source or destination IPs, and lets you specify the IP version for which a given rule is applicable.
With IONOS extending IPv6 support to Compute Engine instances, you can now use the Flow Logs to capture data related to IPv6 network traffic flows in addition to IPv4.
The Virtual Data Center (VDC) is provisioned with the new network settings. On disabling IPv6 on a LAN, existing IPv6 configuration on the Network Interface Card (NICs) will be removed or deleted.
How to disable IPv6
Product Renaming FAQs
The following are a few FAQs to provide an insight about renaming the product from Virtual Server(s) to Dedicated Core Server(s).
What is the reason for renaming "Virtual Servers" to "Dedicated Core Servers"?
The name change is part of our ongoing efforts to better reflect the performance and benefits of our Virtual Machines. "Dedicated Core Servers" emphasizes the dedicated nature of the compute resources assigned to each instance, ensuring consistent performance and increased reliability.
Will there be any changes in the features or specifications of the product with this name update?
No, there won't be any changes in the features or specifications of the product. The only update is the product name from "Virtual Servers" to "Dedicated Core Servers".
What is the difference between "Virtual Servers" and "Dedicated Core Servers"?
The underlying technology and capabilities of the Virtual Machines remain the same. The primary difference lies in the name. With "Dedicated Core Servers," you can still expect virtualized environments but with the added emphasis on dedicated resources per instance.
Will the pricing change with this new name?
There will be no changes to the pricing structure due to the name update. The costs and billing for our Virtual Machines, now known as "Dedicated Core Servers," will remain the same as they were for "Virtual Servers."
Are "Dedicated Core Server" instances isolated from each other?
Yes, "Dedicated Core Server" instances are isolated from one another. Each instance operates independently, with dedicated CPU cores, memory, and storage, ensuring a high level of performance and security.
How will this name change affect existing users of "Virtual Servers"?
Existing users of "Virtual Servers" will experience no functional changes or disruptions due to the name update. Your current virtual server instances will be referred to as "Dedicated Core Server" instances from now on.
Can I still use the same APIs and tools to manage Dedicated Core Servers?
Yes, you can continue to use the same APIs and tools that were used to manage regular virtual servers for the newly renamed Dedicated Core Servers.
Are there any actions I need to take as a user after this renaming?
No, as a user, you do not need to take any action. The name change is purely cosmetic, and your existing configurations and access to your instances will remain unchanged.
Will there be any updates to the user interface or API documentation as a result of this name change?
Yes, we will update the user interface and API documentation to reflect the new name "Dedicated Core Servers". Rest assured, the changes will be cosmetic, and the functionality will remain consistent.
Can I still create and manage multiple "Dedicated Core Servers" instances under my account?
Absolutely! You can continue to create and manage multiple "Dedicated Core Server" instances as per your requirements, just as you did with "Virtual Servers."
Where can I find more information or support regarding "Dedicated Core Server" instances?
For more information or support, you can refer to our documentation on the "Dedicated Core Server" product page on our documentation portal. Additionally, our customer support team is available to assist you with any questions or concerns you may have.
Add more SSD or HDD storage to your existing instances.
| |
Internal, external and core network configurations.
| |
Manage open-source data apps, controlled easily through a central platform.
|
Configure and connect private VMs to public repositories.
|
Automatically distribute your workloads over several servers.
|
Improve application responsiveness and availability.
The documentation portal now contains information about the new security advisories that Acronis reported. You can find more details about the reported vulnerabilities on the following pages:
VM Auto Scaling is now available as an Early Access (EA) feature. It is a cloud computing feature that dynamically scales in or scales out the number of virtual machine instances (horizontal scaling) based on customizable monitoring events. The metric-based policy, defined during its configuration, constantly monitors the load and regularly scales the number of VM instances based on the policy threshold. The functionality ensures that the number of replicas in the group remains within the defined constraints.
The documentation for Backup Service has been updated to include a new section called Install the Acronis Backup Agent on Linux. This section provides prerequisites, step-by-step instructions, and configuration options to ensure a seamless installation experience.
Managed Stackable version 23.4 is now newly available and the only version currently supported for creating a new Managed Stackable cluster. Older clusters retain their original version.
July 7
The documentation for Managed Kubernetes has been updated to include information about the maintenance window as well as the cluster and node pool maintenance processes.
July 7
The documentation for Managed Kubernetes has been updated to include information about Kubernetes versions and their availability.
July 5
The Vulnerability Register serves as a comprehensive record detailing security vulnerabilities that impact IONOS Cloud products and services. This report has been developed as an integral component of our continuous commitment to assist you in effectively mitigating security risks and safeguarding the integrity of your systems.
July 3
Application Load Balancer is now Generally Available (GA). With the Application Load Balancer (ALB), incoming application layer traffic can be routed to targets based on user-defined rules.
July 3
Network Load Balancer is now Generally Available (GA). With the Network Load Balancer (NLB), you can automatically distribute workloads over several servers, which minimizes disruptions during scaling.
July 3
NAT Gateway is now Generally Available (GA). With the NAT Gateway, you can enable internet access to virtual machines without exposing them to the internet by a public interface. It acts as an intermediary device that translates IP addresses between the private network and the public internet.
Data Center Designer
The Data Center Designer (DCD) is a unique tool for creating and managing your virtual data centers. DCD's graphical user interface makes data center configuration intuitive and straightforward. You can drag-and-drop virtual elements to set up and configure data center infrastructure components.
As is the case with a physical data center, you can use the DCD to connect various virtual elements to create a complete hosting infrastructure. For more information about the DCD features, see Log in to the Data Center Designer.
Create an entire hosting infrastructure using the Data Center Designer visual interface
The same visual design approach is used to make any adjustments at a later time. You can log in to the DCD and scale your infrastructure capacity on the go. Alternatively, you can set defaults and create new resources when needed.
Core Functionality
The DCD allows the customer to both control and manage the following services provided by IONOS Cloud:
: Create, configure and delete entire data centers. Cross-connect between VDCs and tailor user access across your organization.
: Set up, pause, and restart virtual instances with customizable storage, CPU, and RAM capacity. Instances can be scaled based on usage.
: Upload, edit and delete your own private images or use images provided by IONOS Cloud. Create or save snapshots for use with future instances.
Compatibility
As a web application, the DCD is supported by the following browsers:
Google Chrome™: Version 30+
Mozilla® Firefox®: Version 28+
Apple® Safari®: Version 5+
We recommend using Google Chrome™ and Mozilla® Firefox®.
Next Steps
If you are ready to get started with the Data Center Designer, consult our beginner . These step-by-step instruction sets will teach you how to and configure initial user settings.
Cloud Cubes
IONOS Cloud Cubes are virtual private service instances with shared resources. Refer to our user guides, reference documentation, and FAQs to support your hosting needs.
Prerequisites: Prior to setting up a virtual machine, make sure you have the appropriate privileges. Only contract owners, administrators, or users with the Create Data Center privilege can set up a VDC. Other user types have read-only access and can't provision changes.
Developer Tools
Recommended How-To's
Learn More
Enable IPv6
You can enable IPv6 on Cloud Cubes when you create them or after you create them.
Set up IPv6
You can set up IPv6 to improve the network connectivity for your virtualized environment. By setting up IPv6 for your Cloud Cubes, you can ensure that they are accessible to IPv6-enabled networks and clients.
Prerequisites: Prior to enabling IPv6, make sure you have the appropriate privileges. New VDC can be created by the contract owners, admins, or users with create VDC privilege. The number of bits in the fixed address is the prefix length. For Data Center IPv6 CIDR, the prefix length is /56.
To enable IPv6 for Cloud Cubes, connect the server to an IPv6-enabled LAN. Select the Network option on the right pane and fill in the following fields:
Name: It is recommended to enter a unique name for this Network Interface Controller (NIC).
MAC: This field is automatically populated.
LAN: Select an IPv6 enabled Local Area Network (LAN).
Note:
IPv6 CIDR assigned to LANs(/64) and NICs(/80 and /128) must be unique.
Block Storage
With IONOS Cloud Block Storage, you can quickly provision Dedicated Core Servers, vCPU Servers, Cloud Cubes, and other Infrastructure-as-a-Service IaaS offerings. Refer to our user guides and FAQs to support your hosting needs.
Block Storage also supports images and snapshots. Images are further classifed into public and private images. IONOS contains a collection of different types of public images that can be instantly used or you can also upload your private images via the File Transfer Protocol (FTP). You can also create snapshots of provisioned block storages and in turn use it for storage purposes.
Product Overview
Get an overview of Block Storage, supported storage types, and images and snapshots.
Recommended How-To's
Get started with Block Storage via the DCD.
Developer Tools
Get started with Block Storage via the tools.
Frequently Asked Questions
Red Hat Enterprise Linux (RHEL) Images
IONOS is a certified partner of Red Hat and is entitled to offer and operate Red Hat Enterprise Linux (RHEL) within the IONOS public cloud.
Compatible versions
Currently, the entitlement is valid for RHEL 8 and RHEL 9 public images that IONOS provides.
Red Hat subscription
Currently, IONOS does not provide any Bring-Your-Own-Subscription (BYOS) option for subscription-based operating systems like Red Hat Enterprise Linux. You still need an IONOS subscription if you want to use your images. IONOS will charge you each time a boots from the private RHEL image. For more information about the charges, see .
Please ensure not to subscribe to or unsubscribe from sources of third-party subscription services to avoid duplicate charges for your Red Hat deployment. The subscription fee also includes access to the IONOS Red Hat Update Infrastructure (RHUI) instance.
IONOS Red Hat Update Infrastructure (RHUI)
IONOS operates its own instance of a Red Hat Update Infrastructure (RHUI). It is accessible by all public IONOS IP addresses. IONOS public RHEL images are preconfigured to access the IONOS RHUI setup as long as the VM has access to the internet.
With the entitlement, RHUI enables IONOS to provide the following services to end-users with an RHEL deployment:
Mirror repositories hosted by Red Hat.
Provide repositories with custom content supplied by IONOS.
Publish content to VMs running RHEL workloads.
Select an RHEL image
An RHEL image supplied by IONOS can be selected and configured like any other Linux-based public image. You can define the root password and specify SSH keys during provisioning. For more information about how to use RHEL images for your Block Storage, see .
Access internet
You can access the internet using one of the following options when the VM contains a :
that is connected to a public LAN. The network interface has a public IP address. If you have a firewall configured, you may need to allow access to the subscription endpoint and service port.
that is connected to a private LAN which is capable of accessing a . The NAT Gateway must be configured to access the public internet endpoint of the subscription service.
that is connected to a private LAN containing other VMs that could act as a proxy to the public internet. Connectivity must be configured manually via the routing settings within the VM.
Access information for the IONOS RHUI service
This section is in creation and IONOS apologizes for any inconvenience this may cause. Please contact the for any information.
DCD How-Tos
Prerequisites: Make sure you have the appropriate privileges. Only contract owners, administrators, or users with the Create Data Center privilege can set up a VDC. Other user types have read-only access and can't provision changes.
How-Tos
Reserve an IPv4 Address
If you want to build a network using static IP addresses, IONOS Cloud offers you the option to reserve IPv4 addresses for a fee. You can reserve one or more addresses in an IP block using the DCD's IP Manager.
Note: It is not possible to reserve a specific IPv4 address; you are assigned a random address by IONOS Cloud.
An IP address can only be used in the data center from the region where it was reserved. Therefore, if you need an IP address for your virtual data center in Karlsruhe, you should reserve the IP address there. Each IP address can only be used once, but different IP addresses from a block can be used in different networks, provided these networks are provisioned in the same region where the IP block is located.
Reserving and using IPv4 addresses is restricted to authorized users only. Contract owners and administrators may grant privileges to reserve IP addresses.
Reserve an IPv4 address
Prerequisites: Make sure you have the appropriate permissions. Only contract owners, administrators, or users with the Reserve IP privilege can reserve IP addresses. Other user types have read-only access and can't provision changes.
In the DCD, go to the Menu > Management > IP Management.
In the IP Manager, select + Reserve IPs.
Enter the following IP block information:
The number of IPs you have reserved are available as an IP block. The IP block details should now be visible on the right.
Return an IPv4 address
IP addresses cannot be returned individually, but only as a block and only when they are not in use.
Note: If you return a static IP address, you cannot reserve it again afterwards.
In the DCD, go to Menu > Management > IP Management.
Ensure the IPs you want to release are not in use.
Select the required IP block.
The IP block and all IP addresses contained are released and removed from your IONOS Cloud account.
IPv6 Configuration
Overview
Machines use IP addresses to communicate over a network, and IONOS has introduced Internet Protocol version 6 (IPv6) to its compute instances, offering a significantly larger pool of unique addresses. This upgrade enables support for the ever-growing number of connected devices.
At IONOS, we recognize the significance of IPv6 configuration in virtual environments and offer a flexible and scalable infrastructure that accommodates IPv6 configuration, allowing our customers to take advantage of the latest features.
One of the primary requirements is to ensure that VMs in the VDC can access services on the internet over IPv6. IONOS allows you to do the necessary provisions to provide seamless service access.
In addition to being a client to an IPv6 service, a Virtual Machine (VM) in the IONOS Virtual Data Center (VDC) can provide a service, such as a simple REST API, over IPv6. In this case, it is essential to ensure that the IPv6 address assigned to the VM is static. If DHCPv6 is enabled, the NICs can receive their static IPv6 address(es) using DHCPv6. You do not need to log in every server and hardcode the IPv6 address. A Network Interface Card (NIC) has a Media Access Control address (MAC) and it sends a DHCPv6-Discover request to every user asking for a configuration for its MAC address. DHCPv6 shares configuration information with NIC, containing the IPv6 address. Our DHCPv6 has the information on which MAC address gets which IPv6 address(es). This is a critical requirement to allow you to access the service continuously, without any interruptions.
Concepts
IONOS supports the internet standard IPv6. Following are a few concepts associated with it:
IPv6 or Internet Protocol version 6, is the most recent version of the Internet Protocol (IP) that provides a new generation of addressing and routing capabilities. The IPv6 is designed to replace the older IPv4 protocol, which is limited in its available address space.
IPv6 uses 128-bit addresses, providing an almost limitless number of unique addresses. This allows for a much larger number of devices to be connected to the Internet.
IPv6 defines several types of addresses, including unicast
Update IPv6
To update IPv6 configurations for LANs in the Data Center Designer (DCD), follow these steps:
Select the LAN you want to update IPv6 for.
You can update your IPv6 CIDR block with prefix length /64 from the VDCs allocated range.
Start provisioning by clicking PROVISION CHANGES in the Inspector pane.
The Virtual Data Center (VDC) will now be provisioned with the new network settings. In this case, the existing configuration gets reprovisioned accordingly.
Note: IPv6 traffic and IPv6-enabled LANs are now supported for the Flow Logs feature. For more information about how to enable flow logs in DCD, see .
Database as a Service
IONOS's Database as a Service (DBaaS) consists of fully managed databases, with high availability, performance, and reliability hosted in IONOS Cloud and integrated with other IONOS Cloud services.
Database Engines
We currently offer the following database engines:
MongoDB
IONOS DBaaS lets you quickly set up and manage database clusters. Using IONOS DBaaS, you can manage MongoDB clusters, along with their scaling, security and creating snapshots for backups. The feature offers the following editions of MongoDB to meet your enterprise-level deployments: Playground, Business, and Enterprise. For more information, see .
PostgreSQL
IONOS DBaaS gives you access to the capabilities of the database engine. Using IONOS DBaaS, you can manage PostgreSQL cluster operations, database scaling, patch your database, create backups, and security.
Resource allocation
In the DCD > Databases, the database resources allocated as per your user contract is displayed in the Resource Allocation. The resources refers to the Postgres Clusters, MongoDB Clusters, Cores, RAM, and Storage databases quota. For each of these resources, this section shows the number of resources you can use and also the count of resources already consumed. Based on the resources avaialble here, you can allocate resources during the creation of a MongoDB cluster. To avail additional resource allocation, contact .
Limitations
One limitation of IPv6 is that a /56 block is typically assigned to a data center, with a /64 block assigned inside this /56 block to the Local Area Network (LAN). The difference between a /56 and a /64 block is 8, resulting in 2^8 (2 to the power of 8) blocks, or a total of 256 blocks. This limitation can impact the scalability and flexibility of IPv6 addressing in large networks. Therefore, it is important to carefully consider the allocation of IPv6 blocks to ensure efficient utilization of available resources.
You will get a new /56 prefix every time you create a new data center. If your services depend on static IPv6 addresses, and you want to rebuild your data center, you must not delete the data center itself, but only its components, such as, LANs, NICs, etc. For more information about how to create new Data Center LANs in DCD, see .
For older Debian images (version 10 and version 11), you may need to tweak the OS initialization process of your image. For example, the Dynamic Host Configuration Protocol version 6 (DHCPv6) client may need to be run manually after restarting the system. Generally, if the interfaces have not received an IPv6 address from the IONOS DHCP server, try to run the DHCPv6 client manually. For more information, see .
In Rocky Linux 8, it is important to note that the IPv6 protocol may not be readily available after the initial boot. For the latest version, Rocky Linux 9.0, you can use IPv6 support right from the first boot.
Currently, IPv6 is not available for Managed Services such as Application Load Balancer (ALB), Network Load Balancer (NLB), Network Address Translation (NAT) Gateway, IP Failover and Managed Kubernetes (MK8s).
DCD How-Tos
Quick Links:
View Cluster Metrics
To view cluster metrics in DCD, select the cluster of interest from the available Databases. The chosen database will open up. In Properties, select the database name next to the Monitor Databases option. The cluster metrics will open up:
Retrieve PostgreSQL cluster metrics
It is possible to choose a time frame for metrics and instances of interest.
Enable IPv6
You can enable IPv6 on Dedicated Core servers and vCPU Servers when you create them or after you create them.
Set up IPv6
You can set up IPv6 to improve the network connectivity for your virtualized environment. By setting up IPv6 for your Dedicated Core servers and vCPU Servers, you can ensure that they are accessible to IPv6-enabled networks and clients.
,
multicast
, and
anycast
addresses. Unicast addresses identify a single interface on a device, multicast addresses identify a group of devices, and anycast addresses identify a group of interfaces that can respond to a packet.
IPv6 addresses are divided into two parts: a prefix and an interface identifier. The prefix is used for routing and can be assigned by an Internet Service Provider (ISP) or network administrator, while the interface identifier is typically generated by the device.
As IPv6 adoption continues, transition mechanisms are used to ensure compatibility between IPv6 and IPv4 networks. These mechanisms include dual-stack, tunneling, and translation methods. For more information about IPv6 see our latest blog on IPv6: Everything about the New Internet Standard.
Firewall: Specify whether you want to enable or disable the firewall. For enabling the firewall, choose Ingress to create flow logs for incoming traffic, Egress for outgoing traffic, or Bidirectional to create flow logs for all traffic.
Flow Log: Select + to add a new flow log. Enter name, direction, action, target S3 bucket, and select + Flow Log to complete the configuration of the flow log. It becomes applied once you provision your changes.
IPv4 Configuration: This field is automatically populated. If Dynamic Host Configuration Protocol (DHCP) is enabled, the Internet Protocol version 4 (IPv4) address is dynamic, meaning it can change while the Dedicated Core Server is operational or in the case of a restart. Add additional public IP addresses in Add IP. It is an optional field.
IPv6 Configuration: You can populate a NIC IPv6 CIDR block with prefix length /80 or allow it to be automatically assigned from the VDCs allocated range, as seen in the screenshot below. In order to use "floating" or virtual IPs, you can assign additional IPs to a NIC by selecting them from the drop-down list in Add IP.
You can create a maximum of 256 IPv6-enabled LANs per VDC.
Setting up IPv6 for Cloud Cubes
Name: Enter a name for the IP block.
Number of IPs: Enter the number of IPv4 addresses you want to reserve.
Region: Enter the location of the IONOS data center where you want your IPs to be available.
Confirm your entries by selecting Reserve IPs.
Select Delete to return the IP block to the pool.
Confirm your action by selecting OK.
Reserve IPs from the IP Manager by clicking + Reserve IP in the top left corner
Return an IP block by highlighting the block and clicking Delete. A confirmation dialog will open
Networking: Reserve and manage static public IP addresses. Create and manage private and public LANs including firewall setups.
Basic Features: Save and manage SSH keys; connect via Remote Console, launch instances via cloud-init, record networking via flow logs and monitor your instance use with monitoring software.
IPv6 can be configured via the Data Center Designer (DCD) or Cloud API using IPv6-enabled LAN. You can get IPv6 support by configuring the network. For more information about how to enable IPv6 on Virtual Data Center LANs in DCD, see Enable IPv6.
Why do we need IPv6 configuration in DCD?
The main reason for the transition to IPv6 is the exhaustion of available IPv4 addresses due to the exponential growth of the internet and the increasing number of devices connected to it.
If I use private images, do I need to adapt them in any way so that they support IONOS IPv6?
For older versions of some images like Debian, you may need to tweak the OS initialization process of your image. For example, the Dynamic Host Configuration Protocol version 6 (DHCPv6) client may need to be run manually after the system boot. Generally, if the interfaces have not received an IPv6 address from the IONOS Dynamic Host Configuration Protocol (DHCP) server, try to run the dhcp6 client manually.
This is because the client device may have cached the previous configuration information and needs to clear it before applying the new one. However, not all DHCPv6 implementations require a manual restart, as some may be able to automatically apply the new configuration without any intervention.
Prerequisites: Prior to enabling IPv6, make sure you have the appropriate privileges. New VDC can be created by the contract owners, admins, or users with create VDC privilege. The number of bits in the fixed address is the prefix length. For Data Center IPv6 CIDR, the prefix length is /56.
To enable IPv6 for Dedicated Core servers, connect the server to an IPv6-enabled Local Area Network (LAN). Select the Network option on the right pane and fill in the following fields:
Name: It is recommended to enter a unique name for this Network Interface Controller (NIC).
MAC: This field is automatically populated.
LAN: Select an IPv6 enabled LAN.
Firewall: Specify whether you want to enable or disable the firewall. For enabling the firewall, choose Ingress to create flow logs for incoming traffic, Egress for outgoing traffic, or Bidirectional to create flow logs for all traffic.
Flow Log: Select + to add a new flow log. Enter name, direction, action, target S3 bucket, and select + Flow Log to complete the configuration of the flow log. It becomes applied once you provision your changes.
IPv4 Configuration: This field is automatically populated. If Dynamic Host Configuration Protocol (DHCP) is enabled, the Internet Protocol version 4 (IPv4) address is dynamic, meaning it can change while the Dedicated Core server is operational or in the case of a restart. Add additional public IP addresses in Add IP. It is an optional field.
IPv6 Configuration: You can populate a NIC IPv6 CIDR block with prefix length /80 or allow it to be automatically assigned from the VDCs allocated range, as seen in the screenshot below. Add additional public IP addresses in Add IP. It is an optional field.
To enable IPv6 for vCPU Servers, connect the server to an IPv6-enabled Local Area Network (LAN). Select the Network option on the right pane and fill in the following fields:
Name: It is recommended to enter a unique name for this Network Interface Controller (NIC).
MAC: This field is automatically populated.
Note:
IPv6 CIDR assigned to LANs(/64) and NICs(/80 and /128) must be unique.
You can create a maximum of 256 IPv6-enabled LANs per VDC.
and now support Proxy Protocol versions to send additional connection information, such as the source and destination. The Targets associated with your ALB and NLB can now be configured to accept incoming traffic using the Proxy Protocol.
November 23
Information on security advisory for CVE-2023-23583, also known as Escalation of privilege for some Intel processors vulnerability, is available on the documentation portal. This vulnerability is based on an unexpected behavior for some Intel(R) processors that may allow an authenticated user to potentially enable escalation of privilege and information disclosure or denial of service via local access.
November 15
Logging Service is now in the General Availability (GA) phase. You can create logging pipeline instances on the available locations to gather logs from multiple sources. You may also programmatically manage your logging pipelines via the API. To learn more about what changed during the transition from the phase to the GA phase, see .
December 4
IONOS is a certified partner of Red Hat and are authorized to provide and run Red Hat Enterprise Linux inside the IONOS public cloud infrastructure. This is applicable to both public RHEL images supplied by IONOS and user-uploaded private RHEL images.
Documentation updates
December 4
The subtopics in the Block Storage section have been updated. It now contains a new Images & Snapshots section with the appropriate subtopics— and . For more information, see .
November 13
Cross Connect is now available as an feature on a restricted early access basis. To access this feature, please contact your sales representative or . With the enhanced feature, you can connect multiple seamlessly in the same region and under the same contract. Connections can be established via a private LAN only, thus enabling consistent and reliable data transfer and ensuring seamless connections, reduced latency, and minimized addressing discrepancies. Cross Connects are flexible, meaning you can easily modify the existing setup by effortlessly adding or deleting existing data centers or modifying the associated data centers.
November 2
Information on security advisory for CVE-2023-34048, also known as vCenter Server out-of-bounds write vulnerability is available on the documentation portal. This vulnerability allows an attacker with network access to trigger an out-of-bounds write that can lead to remote code execution.
November 1
Information on security advisory for CVE-2023-20569, also known as Return Form Procedure (RET) Speculation or Inception is available on the documentation portal. This vulnerability is reported by AMD as a sensitive information disclosure due to speculative side-channel attacks.
This is solely for informational purpose and does not require any action from you. IONOS has renamed Virtual Server(s) to Dedicated Core Server(s). This change does not impact the functionality of the product in any manner. As a result, the documentation portal now reflects the product name changes. For more information, see .
August 18
Added information on security advisory for CVE-2022-40982, also known as “Gather Data Sampling” (GDS) or “Downfall” .
August 14
IONOS MongoDB database cluster offers MongoDB Enterprise edition supporting versions 5.0 and 6.0 to suit the requirements of enterprise-level deployments. This edition provides advanced capabilities such as sharding database type, enabling the BI Connector, and more resources - CPU cores, RAM size (GB), and storage types to create database clusters. Additionally, the enterprise database clusters facilitate point-in-time recovery and offsite backup features making these clusters highly reliable.
August 10
A vCPU Server is a new virtual machine provisioned and hosted in one of IONOS's physical data centers. It behaves like a physical server and can be used as a standalone product or combined with other IONOS cloud products. To configure a vCPU Server, choose a preset (S, M, L, XL, and XXL) that suits your needs. Presets are a combination of specific vCPU-to-RAM ratios. The number of vCPUs and RAMs differs based on the selected preset. You can also tailor the vCPU-to-RAM ratios to meet your requirements—the Preset automatically changes to Custom when you edit the predefined ratio.
August 8
The documentation for Kubernetes Versions now contains the following details:
Documentation updates
Note: The documentation portal URLs are directly affected by the below-mentioned updates. As a result, if you have bookmarked specific pages from the documentation portal, we recommend revisiting the pages and bookmarking the new URLs.
August 10
The following sections have been renamed in the documentation portal:
August 10
Cloud Cubes is no longer under Virtual Machines, but an independent section under Compute.
Basic Tutorials
Recommended for beginners:
Tutorial
Targeted Use
Selected user guides:
This section lists the most commonly referred topics in the User Guides.
Select your preferred language (DE | EN) in the top right corner of the Log in window.
Enter the Email and Password created during registration.
Click the Log in button.
Verification code: By default, no code is required. You may activate this option at a later time. You will need the Google Authenticator app to generate the code.
Dashboard
Once you have logged in, you will see the Dashboard. The Dashboard shows a concise overview of your data centers, resource allocation, and options for help and support. You may click on the IONOS logo, in the Menu bar, at any time, to return to the Dashboard.
Inside the Dashboard, you can see the My Data Centers list and the Resource Allocation view. The Resource Allocation view shows the current usage of resources across your infrastructure.
Usually, clicking on a data center in the My Data Centers list opens the data center. However, if this is your first time using DCD, you will need to create your first Virtual Data Center (). Learn how to set VDC defaults in the .
Menu bar
The Menu bar, at the top of every DCD screen, has buttons that allow you to access the DCD features, notifications, and help. These buttons also allow you to manage your account.
Compute Engine
With IONOS Cloud Compute Engine, you can quickly provision Dedicated Core servers and vCPU Servers. Leverage our user guides, reference documentation, and FAQs to support your hosting needs.
The following sections have been renamed in the documentation portal:
Compute Engine is now called Compute.
Virtual Machines is now called Compute Engine.
Virtual Server(s) is now called Dedicated Core Server(s). This change does not impact the functionality of the product in any manner. As a result, the documentation portal now reflects the product name changes. For more information, see .
Product Overview
Developer Tools
Recommended How-To's
Frequently Asked Questions
Snapshots
Overview
Snapshots are images generated from any block storage that have already been provisioned. You can use snapshots on any block storage type, regardless of the storage type from which the snapshot was created.
You can also use snapshots for other storages. This feature is useful, for example, if you want to quickly roll out multiple Virtual Machines (VMs) with the same or similar configuration or when you need a recovery point.
You can create snapshots from provisioned Hard Disk Drive (HDD) and storages, regardless of the underlying storage type (HDD or SSD). After creation, a snapshot utilizes the complete HDD storage space assigned to your IONOS account. Therefore, ensure that you have enough HDD quotas available before you create a snapshot.
A snapshot covers the entire capacity of the block storage device. It will also contain the volume part with no data written to it. For example, if you have a block storage with a volume of 100GiB containing 10GiB of data written to it and the remaining volume is empty, the snapshot will still be for the entire 100GiB volume. Consequently, a new block storage volume must at least be the same size as the snapshot. If the new block storage volume is large, you may need to extend the partition manually after booting the s and mounting the respective volume to the VM.
Snapshots are not incremental. Each snapshot is a separate instance representing the state of the source block storage device during the snapshot creation.
Snapshots can be shared with groups so that the users in that specific group can receive access to the snapshot. However, snapshots are limited to use only at the data center location where they were originally created. They can be utilized in several as long as they operate at the exact data center location as the snapshot creation.
Snapshots have no usage quota and can be used as often as you want. Furthermore, snapshots do not have a retention period; hence, they are not deleted automatically.
Security Advice: Snapshots are stored within the exact location of the block storage volume. Using the solution, you can create redundancy by having your data backed up in different locations. Alternatively, you could also use a S3-capable storage solution and back up your data to any .
Prerequisite
Only contract administrators, owners, and users with the Create Snapshot permission can create a snapshot. Ensure that you have the necessary permission and sufficient memory available.
Snapshot authentication
You can create snapshots from provisioned block storage volumes only. It includes the authentication you specified during the creation of the snapshot. IONOS does not modify snapshots at any time. If you want to change the authentication configurations, we recommend doing it before reusing the snapshot on a new block storage device.
Create a Snapshot
You can create snapshots from any provisioned block storage, regardless of the underlying storage type. After creation, a snapshot utilizes the complete HDD storage space assigned to your IONOS account. Therefore, ensure that you have enough HDD quotas available before you create a snapshot.
The VM can be switched on or off when creating a snapshot. If you want to ensure that data that is still in the RAM of the VM is included in the snapshot, it is recommended that you synchronize the data (with sync under Linux) or shut down the guest operating system (with shutdown -h now under Linux) before creating the snapshot.
To create a snapshot, follow these steps:
Open the required data center.
(Optional) Shut down the server. Creating a snapshot while the server is running takes longer.
Open the context menu of the storage element and select Create Snapshot.
Result: The snapshot is created and can be access from the following locations:
Menu > Management > Images & Snapshots > Snapshot tab.
Delete a Snapshot
If you no longer need a snapshot and want to save your resources, you can delete it. You cannot restore a snapshot after it is deleted.
To delete a snapshot, follow these steps:
Log in to the DCD with your username and password.
Go to Menu > Management > Images & Snapshots.
Open the Snapshots tab and select the snapshot you would like to delete.
Result: The selected item is deleted and cannot be restored.
Networks
IONOS Cloud Networks enables IONOS virtual resources to securely communicate with each other, the internet, and on-premises networks. Our broad portfolio of networking products built using Software-Defined Networking (SDN) technology ensure customer workloads can scale and connect securely across both physical and virtual networks. Refer to our user guides, reference documentation, and FAQs to support your virtual networking needs.
Developer Tools
Recommended How-To's
Learn More
Configure a Network
Setting up a private network
DCD helps you connect the elements of your infrastructure and build a network to set up a functional virtual data center. Without a connected internet access element, your network is private.
The quickest way to connect elements is to drag them from the Palette directly onto elements that are already in the Workspace. The DCD will then show you whether and how the elements can be connected automatically.
1. Drag the elements from the Palette into the Workspace and connect them through their .
2. In the Workspace, select the required ; the Inspector will show its properties on the right.
3. From the Inspector pane, open the Network tab. Now you can access NIC properties.
4. Set NIC properties according to the following rules:
MAC: The MAC address will be assigned automatically upon provisioning.
Primary IP: The primary is automatically assigned by the IONOS DHCP server. You can, however, enter an IP address for manual assignment by selecting one of the reserved IPs from the drop-down menu. Private IP addresses (according to ) must be entered manually. The NIC has to be connected to the Internet.
Failover:
When ready, provision your changes. The will create a private network according to set properties.
Splitting LANs
1. To split a LAN, select the required LAN in the Workspace.
2. In the Inspector, open the Actions menu and select Split LAN.
3. Confirm by clicking Split LAN.
4. Make further changes to your data center and provision your changes when ready.
The selected LAN is split and new IPs are assigned to the NICs in the new LAN.
Merging LANs
1. To merge a LAN, select the required LAN in the Workspace.
2. To integrate this LAN into another LAN.
3. In the Inspector, open the Actions menu and select Merge LAN with another LAN.
4. In the dialog that appears, select the LANs to be merged with the selected LAN.
5. Select the checkboxes of the LANs you wish to keep separate.
6. Confirm by clicking Merge LANs.
(Optional) Make further changes to your data center.
7. Provision your changes
The selected LANs are merged and new IPs are assigned to the NICs in the newly integrated LAN.
A private LAN that is integrated into a public LAN also becomes a public LAN.
Adding Internet access
with internet access are assigned an IP automatically by the IONOS DHCP server. Please note that multiple servers sharing the same internet interface also share the same subnet. With required permissions, you can add as many internet access elements as you wish.
Users who do not have the permissions to add a new internet access element, can connect to an existing element in their VDC, provided they have the permissions to edit it.
1. To add internet access, drag the Internet element from the Palette onto the Workspace.
2. Connect this element with Servers.
3. Set further properties of the connection at the respective NIC.
Configure a Firewall
Activate and configure a Firewall for each Network Interface Card (NIC) to better protect your servers from attacks. IONOS Cloud Firewalls can filter incoming (ingress), outgoing (egress), or bidirectional traffic. When configuring firewalls, define appropriate rules to filter traffic accordingly.
Activate a Firewall
To activate a Firewall, follow these steps:
1. In the Workspace, select a Virtual Machine with a NIC.
2. From the Inspector pane, open the Network tab.
3. Open the properties of the NIC for which you want to set up a Firewall.
4. Choose either Ingress, Egress, or Bidirectional traffic flow type for which the Firewall needs to be activated.
Warning: Activating the Firewall without additional rules will block all incoming traffic. Make sure you set the Firewall rules by using Manage Rules.
Result: The Firewall is activated for the selected NIC.
Create a Firewall Rule
To create a Firewall rule, follow these steps:
1. In the Workspace, select a VM with a NIC.
2. From the Inspector pane, open the Network tab.
3. Open the properties of the NIC for which you wish to manages Firewall Rules.
4. Click Manage Rules.
5. Click Create Firewall Rule and choose from the following type of Firewall rules to add from the drop-down list:
Transmission Control Protocol (TCP) Rule
User Datagram Protocol (UDP) Rule
Internet Control Message Protocol (ICMP) Rule
6. Enter values for the following in a Firewall rule:
Name: Enter a name for the rule.
Direction Choose the traffic direction between Ingress and Egress.
Source MAC: Enter the Media Access Control (MAC) address to be passed through by the firewall.
7. (Optional) You can add Firewall rules from an existing template by using Rules from Template. The Generic Webserver, Mailserver, Remote Access Linux, and Remote Access Windows are the types of Firewall rules you can add from the existing rules template.
8. Alternatively, you may import an existing rule set from the Clone Rules from other NIC.
9. Click Save to confirm creating a Firewall rule.
Result: A Firewall Rule is created with the configured values.
Database Migration
You can migrate your existing databases over to DBaaS using the pg_dump, pg_restore and psql tools.
The -t <tablename> flag is optional and can be added if you only want to dump a single table.
This command will create a script file containing all instructions to recreate your database. It is the most portable format available. To restore it, simply feed it into psql. The database to restore to has to already exist.
The flag -F c is selecting the custom archive format. For more information, see .
To restore from a custom format archive you have to use pg_restore. The following command assumes that the database to be restored already exists.
When specifying the -C parameter, pg_restore can be instructed to recreate the database for you. For this to work you will need to specify a database that already exists. This database is used for initially connecting to and creating the new database. In this example we will use the database "postgres", which is the default database that should exist in every PostgreSQL cluster. The name of the database to restore to will be read from the archive.
Large databases can be restored concurrently by adding the -j <number> parameter and specifying the number of jobs to run concurrently.
For more information on pg_restore see the .
Note: The use of pg_dumpall is not possible because it requires a superuser role to work correctly. Superuser roles are not obtainable on managed databases.
Connect from Kubernetes
This guide shows you how to connect to a database from your managed Kubernetes cluster.
We assume the following prerequisites:
A datacenter with id xyz-my-datacenter.
A private LAN with id 3 using the network 10.1.1.0/24.
A database connected to LAN 3 with IP 10.1.1.5/24.
A Kubernetes cluster with id xyz-my-cluster.
In this guide we use DHCP to assign IPs to node pools. Therefore, it is important that the database is in the same subnet that is used by the DHCP server.
To enable connectivity, you must connect the node pools to the private LAN in which the database is exposed:
Wait for the node pool to become available. To test the connectivity let's create a pod that contains the Postgres tool pg_isready. If you have multiple node pools make sure to schedule the pod only the node pools that are attached to the additional LAN.
Let's create the pod...
... and attach to it.
If everything works, we should see that the database is accepting connections. If you see connection issues, make sure that the node is properly connected to the LAN. To debug the node start a debugging container ...
... and follow the .
PostgreSQL FAQs
Will DBaaS be ever offered on Cloud Cubes?
As for now, DBaaS is only offered on Virtual Servers. Cloud Cubes may be used in the future as well.
Is there a connection pooling option for PosgreSQL?
IONOS DBaaS doesn't provide connection pooling. However, you may use a connection pooler (such as pgbouncer) between your application and the database.
After the connection limit has been reached, will there be an error?
Depending on the library you are using, it should be something like:
failed to create DB connection: addr x.x.x.x:5432: connection refused.
How do we prevent reaching the connection limit?
The best way to manage connections is to have your application maintain a pool of at least 10-20 connections. It is considered bad practice to have a lot of DB connections. However, letting the user configure max_connections themselves in the future is an option.
Can I scale the deployment to increase its connection limit?
Yes, see for more info.
What are the supported backup methods?
We provide an automated backup within our cloud. If you want to backup to somewhere else, you may use a client-side tool, such as .
What are the main considerations for latency and performance?
The number of standby nodes (in addition to primary node) doesn’t really matter. If you have one or ten makes no difference. Synchronous modes are slower in write performance due to the increase in latency for communication between a primary node and a standby node.
Why can't I restore to the time I specified?
If you are receiving an error message Parameter out of bounds: The recovery target time is before the newest basebackup., check the earliestRecoveryTargetTime of your backup. Your target time of the restore needs to be after this timestamp. You can use an earlier earliestRecoveryTargetTime backup for your cluster if you have one.
If the earliestRecoveryTargetTime is missing in your backup, the cluster from where you want to restore wasn't able to do a base backup. This can happen, when you e.g. quickly delete a newly created cluster, since the base backup will be triggered up to a minute after the cluster is available.
Configure a Data Center
This tutorial contains a detailed description of how to manually configure your IONOS Cloud infrastructure for each server via the Virtual Data Center (). It comprises all the building blocks and the necessary resources required to configure, operate, and manage your products and services. You can configure and manage multiple VDCs.
Prerequisites: You will need appropriate permissions to create a .
It is also possible to configure settings for each server automatically.
Connect via SSH
When creating based on IONOS Linux images, you can inject into your . This lets you access your VM safely and allows for secure communication. SSH keys that you intend to use more often can be saved in the SSH Key Manager.
Types of SSH keys
Default SSH keys: SSH keys that you intend to use often and mark them as such in the SSH Key Manager. Default SSH keys are preselected when you configure storage devices. You can specify which SSH keys are actually to be used before and deselecting the preselected standard keys in favor of another SSH key.
Set Up Storage
Storage space is added to your by using storage elements in your . Storage name, availability zone, size, OS image, and boot options are configurable for each element.
Add Storage to a Server or a Cube
Install Windows VirtIO Drivers
Overview
VirtIO provides an efficient abstraction for hypervisors and a common set of IO virtualization drivers. It was chosen to be the main platform for IO virtualization in KVM. Currently, the following four drivers are available:
Balloon - The balloon driver affects the memory management of the guest OS.
Enable Flow Logs
Overview
Use the Flow logs feature to capture data that is related to IPv4 and IPv6 network traffic flows. Flow logs can be enabled for each network interface of a instance, as well as the public interfaces of the and .
Flow logs can help you with a number of tasks such as:
API How-Tos
Quick Links:
Access Logs
The logs that are generated by a database are stored temporarily on the same disk as the database. We provide logs for connections, disconnections, waiting for locks, DDL statements, any statement that ran for at least 500 ms, and any statement that caused an error (see postgreSQL ). Currently, we do not provide an option to change this configuration.
In order to conserve disk space, log files are rotated according to size. Logs should not consume more than 175 MB of disk storage. The files are continuously monitored and log messages are shipped to a central storage location with a retention policy of 30 days.
By using your cluster ID, you can fetch the logs for that cluster via our API.
PostgreSQL
With IONOS Cloud Database as a Service, you can quickly setup and manage a PostgreSQL database. Leverage our user guides, reference documentation, and FAQs to support your hosting needs.
Product Overview
Manage IP Failover
Managing IP Failover groups
To make sure that high-availability (HA) or setups on your are effective in case of events such as a physical server failure, you should set up "IP failover groups".
They are essential to all HA or fail-over setups irrespective of the mechanism or protocol used.
Enable IPv6
To enable IPv6 for Local Area Network (LAN) in the Data Center Designer (DCD), follow these steps:
Drag the Server element from the Palette onto the Workspace. The created server is automatically highlighted in turquoise. The allows you to configure the properties of this individual server instance.
Drop the internet element onto the Workspace, and connect it to a
Failover and Upgrade
Failover procedures
Planned failover: During a failure or planned failover, the client must reconnect to the database. A planned failover is signaled to the client by the closing of the TCP connection on the server. The client must also close the connection and reconnect.
In the event of a failure, the connection might not be closed correctly. The new leader will send a gratuitous ARP packet to update the MAC address in the client's ARP table. Open TCP connections will be reset once the client sends a TCP packet. We recommend re-establishing a connection to the database by using an exponential back-off retry with an initial immediate retry.
Troubleshooting
Permission problems
If you're receiving errors like ERROR: permission denied for table x, check that the permissions and owners are as you expect them.
PostgreSQL does have separate permissions and owners for each object (e.g. database, schema, table). Being the owner of the database only implies permissions to create objects in it, but does not grant any permissions on object in the database which are created by other users. For example, selecting data from a table in the database is permitted only when the user is the owner of the table or has been granted read privileges to it.
If you have an HA setup including a failover configuration on your VMs, you can create and manage IP failover groups that support your HA setup.
Firewall: Configure a firewall.
DHCP: It is often necessary to run a DHCP server in your virtual data center (e.g. PXE boot for fast rollout of VMs). If you use your own DHCP server, clear this check box so that your IPs are not reassigned by the IONOS DHCP server.
Additional IPs: In order to use "floating" or virtual IPs, you can assign additional IPs to a NIC by selecting them from the drop-down menu.
To show the owners and access privileges you can use this command. What each letter in access privileges stands for is documented in https://www.postgresql.org/docs/13/ddl-priv.html#PRIVILEGE-ABBREVS-TABLE
Include the output of this command if you open a support ticket related to permission problems.
Network issues
If you see error messages like psql: error: could not connect to server: ..., you can try to find the specific problem by executing these commands (on the client machine having the problems, assuming Linux):
To show local IP adresses:
Make sure that the IP address of the database cluster is NOT listed here. Otherwise this means that the IP address of the cluster collides with your local machines IP address. Make sure to select a non-DHCP IP address for the database cluster (between x.x.x.2/24 and x.x.x.10/24).
To list the known network neighbors:
Make sure that the IP address of the database cluster shows up here and is not FAILED. If it is missing: make sure that the database cluster is connected to the correct LAN in the correct datacenter.
Test that the database cluster IP is reachable:
This should show no package loss and rtt times should be around some milliseconds (may depend on your network setup).
To finally test the connection using the PostgreSQL protocol:
Some possible error messages are:
No route to host: Can't connect on layer 3 (IP). Maybe incorrect LAN connection.
Connection refused: Can reach the target, but it refuses to answer on this port. Could be that IP address is also used by another machine that has no PostgreSQL running.
password authentication failed for user "x": The password is incorrect.
If you're opening a support ticket, attach the output of the check-net-config.sh script, the output of psql -h $ip -U $user -d postgres and the command showing your problem.
Issues with backup restore
Under some circumstances, in-place restore might fail. This is because some SQL statements are not transactional (most notably DROP DATABASE). A typical use case for in-place restore arises after the deletion of a database.
If a database is dropped, first, the data is removed from disk and then the database is removed from pg_database. These two changes are not transactional. In this event, you will want to revert this change by restoring to a time before the drop was issued. Internally, Postgres replays all transactions until a transaction commits after the specified recovery target time. At this point all uncommitted transactions are aborted. However, the deletion of the database from disk cannot be inverted. As a result, the database is still listed in pg_database but trying to connect to it results in the following:
DBaaS will perform some initialization on start-up. At this point the database will go into an error loop. To restore a database to a working state again, you can request another in-place restore with an earlier target time, such that at least one transaction is between recovery target time and the drop statement. The problem was previously discussed in the Postgres mailing list here.
psql -U <username> -h <host> -p <port> -d <databasename> -f dump.sql
### Using the custom format
`pg_dump` can also be used to dump a database in an archived format. Archived formats cannot be restored using `psql`, instead `pg_restore` is used. This has some advantages like smaller filesize and bandwith savings, but also speedups in the restore process by restoring concurrently.
In this guide we will use the "custom" format. It is compressed by default and provides the most flexible restore options.
```bash
pg_dump -U <username> -h <host> -p <port> -F c <databasename> -f dump
postgres=# \c test
FATAL: database "test" does not exist
DETAIL: The database subdirectory "base/16421" is missing.
LAN: Select an IPv6 enabled LAN.
Firewall: Specify whether you want to enable or disable the firewall. For enabling the firewall, choose Ingress to create Flow Logs for incoming traffic, Egress for outgoing traffic, or Bidirectional to create Flow Logs for all traffic.
Flow Log: Select + to add a new Flow Log. Enter name, direction, action, target S3 bucket, and select + Flow Log to complete the configuration of the flow log. It becomes applied once you provision your changes.
IPv4 Configuration: This field is automatically populated. If Dynamic Host Configuration Protocol (DHCP) is enabled, the Internet Protocol version 4 (IPv4) address is dynamic, meaning it can change while the vCPU Server is operational or in the case of a restart. Add additional public IP addresses in Add IP. It is an optional field.
IPv6 Configuration: You can populate a NIC IPv6 CIDR block with prefix length /80 or allow it to be automatically assigned from the VDCs allocated range, as seen in the screenshot below. Add additional public IP addresses in Add IP. It is an optional field.
Setting up IPv6 for vCPUs
Setting up IPv6 for Dedicated Core servers
Log in to the Data Center Designer (DCD), explore the dashboard and menu options.
1. Drag the Dedicated Core server element from the Palette into the Workspace.
2. To configure your Dedicated Core server, enter the following details in the Settings tab of the Inspector pane:
Drag a Dedicated Core server element from the Palette onto the Workspace and configure its properties on the right
Name: Enter a server name unique to the VDC.
Availability Zone: Select a zone from the drop-down list to host the server on the chosen zone.
CPU Architecture: Choose between AMD or Intel cores.
Cores: Choose the number of CPU cores.
RAM: Choose any size starting from 0.25 GB to the maximum limit allotted to you. The size can be increased or reduced in steps of 0.25 GB. The maximum limit varies based on your and the . For more information about creating a full-fledged server, see .
Add storage to the Dedicated Core Server
1. Drag a Storage element from the Palette onto a Dedicated Core server in the Workspace.
2. To configure your Storage element, enter the following details in the Inspector pane:
Combining a Storage element with the Dedicated Core server in the Workspace joins two elements
Name: Enter a storage name unique to the VDC.
Availability Zone: Select a zone from the drop-down list to host the storage element associated with the server.
Size in GB: Choose the required storage capacity.
Performance: This option is available for SSD block storages only. Select a value from the drop-down list based on the requirement. You can either select Premium or Standard, and the performance of your storage element varies accordingly.
Image: Select an image from the drop-down list. You can select one of IONOS images or choose your own.
Password: Enter a password for the chosen image on the server—a root or an administrator password.
Backup Unit: Select a backup unit from the drop-down list. Click Create Backup Unit to instantly create a new backup unit if unavailable.
Connect your Dedicated Core server to the internet by configuring the Network settings in the Inspector pane
Provision Changes
1. Start the provisioning process by clicking PROVISION CHANGES in the Inspector pane.
2. Review your changes in the Validation tab of the Provision Data Center dialog.
3. Confirm changes by entering your password. Resolve conflicts without a password.
4. When you are ready, click Provision Now to start provisioning resources.
Once ready, finalize the setup by requesting that the resources are provisioned
Confirm by clicking Provision Now
The data center will now be provisioned. DCD will display a Provisioning Complete notification when your cloud infrastructure is ready.
You may configure the MAC and IP addresses once the resource is provisioned.
Next steps
After configuring data centers, you can specify a preferred default data center location, IP settings, and resource capacity for future VDCs. For more information about configuring VDC defaults, see My Settings.
Ad-hoc SSH keys: SSH keys that you only use once and don't intend to save in the SSH Key Manager for later re-use.
Generating an SSH key
SSH keys can be generated and used on macOS or Linux if both OpenSSH and the ssh-keygen command-line tools are installed. OpenSSH is a collection of tools for establishing SSH connections to remote servers, while ssh-keygen is a utility for generating SSH keys.
Manually generate SSH keys when working with OpenSSH via the Terminal application by following the steps below.
1. Enter the following command below into the Terminal window and press ENTER.
The key generation process is initiated by the command above. When you run this command, the ssh-keygen utility prompts you for a location to save the key.
2. Accept the default location by pressing the ENTER key, or enter the path to the file where you want to save the key /home/username/.ssh/id_rsa.
If you have previously generated a key pair, you may see the following prompt below. If you choose to overwrite the key, you will no longer authenticate with the previous key that was generated.
3. Enter the passphrase that will be used to encrypt the private key file on the disk. You can also press ENTER to accept the default (no passphrase). However, we recommend that you use a passphrase.
4. Enter your passphrase once more.
After you confirm the passphrase, the public and private keys are generated and saved in the specified location. Thus, the confirmation will look like this:
The public key is saved to the file id_rsa.pub which will be the key you upload to your DCD account. Your private key is saved to the id_rsa file in the .ssh directory and is used to verify that the public key you use belongs to the same DCD account.
You can copy the public key to your clipboard by running the following command:
Storing SSH keys
In the SSH Key Manager of the DCD, you can save and manage up to 100 public SSH keys for the setup of SSH accesses. This saves you from having to repeatedly copy and paste the public part of an SSH key from an external source.
1. To open the SSH Key Manager, go to Menu > MANAGER resources > SSH Key Manager.
2. In the SSH Key Manager, select + Add Key.
3. Enter a Name and click Add.
4. Copy and paste the public key to the SSH key field. Alternatively, you may upload it via Select key file. Please ensure the SSH keys you enter are valid. The DCD does not validate syntax or format.
5. (Optional) Activate the Default checkbox to have the SSH key automatically pre-selected when SSH access is configured.
6. Click Save to store the key.
Either copy/paste or upload the key file via SSH Key Manager.
The SSH key is stored in the SSH Key Manager and can be used for the configuration of SSH accesses.
Deleting an SSH key in the SSH Key Manager
To delete an existing SSH key, select the SSH key from the list and click Delete Key.
The SSH key is removed from the SSH Key Manager.
Connecting via OpenSSH
You can connect to your virtual instance via OpenSSH. Still, you will need the terminal application, which varies depending on your operating system. For:
Linux: Search Terminal or press CTRL+ALT+T
macOS: Search Terminal
Windows: Search Bash. If you don’t have Bash installed, use PuTTY instead.
The steps below will show you how to connect to your VM.
1. Open the Terminal application and enter the SSH connection command below. After the @, add the IP address of your VM instance. Then press ENTER.
When you log in for the first time, the server isn't recognized on your local machine, so you'll be asked if you're sure you want to keep connecting. You can type yes and then press ENTER.
2. Authentication is the next step in the connection process. If you've added the SSH keys, you'll be able to connect to the VM immediately or after entering your key pair's passphrase.
If you haven't already added SSH keys, you'll be asked for your password:
3. Once you’ve entered the password, press ENTER.
If the SSH key is configured correctly, this will log you into VM.
) from the Palette onto a Server or a Cube in the Workspace to connect them together. The highlighted VM will expand with a storage section.
Click the Unnamed HDD Storage to highlight the storage section. You can now see new options in the Inspector on the right.
A Cube comes with an SSD, but you may also add a HDD to the setup. Drag and drop the storage element directly onto the Cube
Note: You cannot change the storage type after provisioning.
Configure Storage
Enter a name that is unique within your VDC.
Select a zone in which you want the storage device to be maintained. When you select A (Auto), the system assigns the optimal Zone. The Availability Zone cannot be changed after provisioning.
Specify the required storage capacity. The size can be increased after provisioning, even while the server is running, as long as this is supported by its operating system. It is not possible to reduce the storage size after provisioning.
You can select one of the IONOS images or snapshots, or use your own. Only images and snapshots that you have access to are available for selection. Since provisioning does not require you to specify an image, you can also create empty storage volumes.
Authentication
Set the root or administrator password for your server according to the guidelines. This is recommended for both operating system types
Copy and paste the public part of your SSH key into this field.
Select the storage volume from which the server is to boot by clicking on BOOT or Make Boot Device.
Alternative Mode
When adding a storage element using the Inspector, select the appropriate check box in the Add Storage dialog box. If you wish to boot from the network, set this on the server: Server in the Workspace > Inspector > Storage.
It is recommended to always use VirtIO to benefit from the full performance of InfiniBand. IDE is intended for troubleshooting if, for instance, the operating system has no VirtIO drivers installed. In this case, Windows usually displays a "blue screen" when booting.
After provisioning, the properties of the selected image are displayed. You can make changes to these properties later, which will require a reboot. You can set the properties of your uploaded images before you apply them to storage volumes in the Image Manager.
(Optional) Add and configure further storage elements.
(Optional) Make further changes to your data center.
Provision your changes.
Result: The storage device is now provisioned and configured according to your settings.
Add a CD-ROM drive
To assign an image and specify a boot device, you need to add and configure a storage element.
Click on CD-ROM to add a CD-ROM drive so that you can use ISO images to install and configure an operating system from scratch.
Set up a network by connecting the server to other elements, such as an internet access element or other servers through their NICs.
Provision your changes.
Result: The server is available according to your settings.
Delete Storage
When you no longer need snapshots or images, you should remove them from your cloud infrastructure to avoid unnecessary costs. For backup purposes, you can create a snapshot before deleting it.
Note:
If you delete a server and its storage devices, or the entire data center, their backups are not deleted automatically. The corresponding backups are deleted when you delete a backup unit.
If you no longer need the backups of deleted , you should delete them manually from the to avoid unnecessary costs.
In the Workspace, select the storage device you wish to delete.
Open the context menu of the element and select Delete.
(Optional) Select the element and press the DEL key.
Provision your changes.
Result: The storage device is deleted and will no longer be available.
VIOSERIAL - The serial driver affects single serial device limitation within KVM.
NetKVM - The network driver affects Ethernet network adapters.
VIOSTOR - The block driver affects SCSI-based controllers.
Windows-based systems require VirtIO drivers primarily to recognize the VirtIO (SCSI) controller and network adapter presented by the IONOS KVM-based hypervisor. This can be accomplished in a variety of ways depending on the state of the virtual machine.
IONOS provides pre-configured Windows Server images that already contain the required VirtIO drivers and the optimal network adapter configuration. Additionally, a VirtIO ISO to simplify the driver installation process for Windows 2008 R2, Windows 2012 & Windows 2012 R2 systems is also available. This ISO can be found in the CD-ROM drop-down menu under IONOS Images which can be used for new Windows installations (only required for customer-provided images), as well as Windows images that have been migrated from other environments. Example: via VMDK upload.
Note: We recommend using the latest Windows VirtIO driver from IONOS.
Install Windows VirtIO drivers
To install Windows VirtIO drivers, follow these steps:
Add a CD-ROM drive.
Log in to the DCD with your username and password, and follow these instructions:
a. In the Workspace, select the required server.
b. In the Inspector pane, select the Storage tab.
c. Click CD-ROM to add a CD-ROM drive.
d. In the dialog box, enter the following:
Choose an IONOS Image with drivers (windows-VirtIO-driver-<version>.iso).
Select the Boot from Device checkbox.
Confirm your action by clicking Create CD-ROM Drive.
e. Provision your changes.
f. Connect to the server using the Remote Console. The installation menu opens.
g. Follow the options provided by the installation menu.
h. Remove the CD-ROM drive as soon as the menu asks you to do so, and shut down the VM.
i. In the DCD, specify from which storage to boot.
j. Restart the server using the DCD.
k. Provision your changes.
l. Connect to the server again using the Remote Console to make further changes.
Set optimal values: For an optimal configuration, apply the following settings:
MTU:
Internal network interface: 1500 MTU
Disable TCP Offloading/Chimney:
Default: netsh int tcp set global chimney=disabled
Everything:
Result: The installation will be active after a restart. You can use the netsh interface tcp show global command to verify the status of the configurations.
Set correct values for any network adapter automatically by executing the Get-NetAdapter command via PowerShell. The following output is displayed:
a. In the Name field, use the output value instead of Ethernet.
b. Create a new file from the File > New menu in the PowerShell ISE.
c. Copy and paste the following code and remember to update $name ="Ethernet" appropriately:
d. Click File > Execute.
e. Verify the settings.
f. Restart the VM.
Result: The correct settings are applied automatically.
6. Activate TCP/IP auto-tuning. It ensures optimal data transfer between the client and the server by monitoring network traffic and automatically adjusting the Receive Window Size. You must permanently activate the option for optimal performance.
Execute the netsh interface tcp set global autotuninglevel=normal command to activate TCP/IP auto-tuning.
Execute the netsh interface tcp show global command to check the current setting.
Debugging connectivity and security issues
Monitoring network throughput and performance
Logging data to ensure that firewall rules are working as expected
Flow logs are stored in a customer’s IONOS S3 Object Storage bucket, which you configure when you create a flow log collector.
Network traffic flows
A network traffic flow is a sequence of packets sent from a specific source to a specific unicast, anycast, or multicast destination. A flow could be made up of all packets in a specific transport connection or a media stream. However, a flow is not always mapped to a transport connection one-to-one.
A flow consists of the following network information:
Flow log data for a monitored network interface is stored as flow log records, which are log events containing fields that describe the traffic flow. For more information, see Flow Log Record.
Flow log records are written to flow logs, which are then stored in a user-defined IONOS S3 Object Storage bucketfrom where they can be accessed.
Traffic flows in your network are captured in accordance with the defined rules.
Flow logs are collected at a 10-minute rotation interval and have no impact on customer resources or network performance. Statistics about a traffic flow are collected and aggregated during this time period to create a flow log record.
No flow log file will be created if no flows for a particular bucket are received during the log rotation interval. This prevents empty objects from being uploaded to the IONOS S3 Object Storage.
The flow log file's name is prefixed with an optional object prefix, followed by a Unix timestamp and the file extension .log.gz, for example, flowlogs/webserver01-1629810635.log.gz.
Flow logs are retained in the IONOS S3 Object Storage bucket until they are manually deleted. Alternatively, you can configure objects to be deleted automatically after a predefined time period using a Lifecycle Policy for an object in the IONOS S3 Object Storage.
The IONOS S3 Object Storage owner of the object is an IONOS internal technical user named [email protected] (Canonical ID 31721881|65b95d54-8b1b-459c-9d46-364296d9beaf).
Never delete the IONOS Cloud internal technical user from your bucket as this disables the flow log service. The bucket owner also receives full permissions to the flow log objects per default.
Limitations
To use flow logs, you need to be aware of the following limitations:
You can't change the configuration of a flow log or the flow log record format after it's been created. In the flow log record, for example, you can't add or remove fields. Instead, delete the flow log and create a new one with the necessary settings.
There is a limit of one flow log created per NIC, NAT Gateway, and Network Load Balancer.
To make authenticated requests to the API, you must include a few fields in the request headers. Please find relevant descriptions below:
Request parameter headers
Header
Required
Type
Description
Authorization
yes
string
HTTP Basic authorization. A base64 encoded string of a username and password separated by a colon. [email protected]:password
X-Contract-Number
Examples
We use curl in our examples, as this tool is available on Windows 10, Linux and macOS. Please refer to our blogpost about curl on Windows if you encounter any problems:
Please ensure that the high-availability setup is fully installed on your VMs. Creating an IP failover group in the DCD alone is not enough to set up a failover scenario.
A failover group is characterized by the following components:
Members: The same (reserved, public) IP address is assigned to all members of an IP failover group so that communication within this group can continue in the event of a failure. You can set up multiple IP failover groups. A Dedicated Core Server can be a member of multiple IP failover groups. Dedicated Core Servers should be spread over different Availability Zones. The rules for managing the traffic between your VMs in event of a failure are specified at the operating system level using the options and features for setting up high-availability or fail-over configurations. Users must have access rights for the IPs they wish to use.
Master: During the initial provisioning, the master of an IP failover group in the DCD represents the master of the HA setup on your virtual machines. If you change the master later, you won't have to change the master of the IP failover group in the DCD.
Primary IP address: The IP address of the IP failover group can be provisioned as the primary or additional IP address. We recommend that you provide the IP address used for the IP failover group as the primary IP address, as it is used to calculate the gateway IP, which is advantageous for some backup solutions. Please note that this will replace the previously provisioned primary IP address. When there are multiple IP failover groups in a LAN, a involved in multiple of these groups can only be used once for the primary IP address. The DCD will alert you accordingly.
Limitations and restrictions
For technical reasons this feature can only be used subject to the following limitations:
In public LANs that do not contain load balancers.
With reserved public IP addresses only - DHCP-generated IP addresses cannot be used.
Virtual MAC addresses are not supported.
IP failover must be configured for all HA setups.
Creating an IP Failover Group
Prerequisites: Please make sure that you have the privileges to Reserve IPs. You should have access to the required IP address. The LAN for which you wish to create an IP failover group should be public (connected to the Internet), and should not contain a load balancer.
1. In the Workspace, select the required LAN.
2. In the Inspector, open the IP Failover tab.
3. Click Create Group. In the dialog box that appears, select the IP address from the IP drop-down menu.
Select the NICs that you wish to include in the IP failover group by selecting their respective checkboxes.
Select the Primary IP checkboxes for all NICs for which the selected address is to be the primary IP address.
The primary IP address previously assigned to a NIC in another IP failover group is replaced.
Select the master of the group by clicking the respective radio button.
4. Click Create.
5. Provision your changes.
The IP failover group is now available.
Editing an IP failover group
1. Click the IP address of the required IP failover group.
2. The properties of the selected group are displayed.
3. To change the IP address, click Change.
4. In the dialog box that appears, select a new IP address.
(Optional) If no IP address is available, reserve a new one by clicking +.
5. Specify the primary IP address by selecting the respective check box.
6. Confirm your changes by clicking Change IP.
7. To Change Master, select the new Master by clicking the respective radio button.
8. To add or remove members Click Manage.
9. Select or clear the checkboxes of the required NICs.
10. Confirm your changes by clicking Update Group.
Deleting an IP Failover Group
1. Click the IP address of the required failover group.
2. The properties of the selected IP failover group are displayed.
3. Click Remove. Confirm your action by clicking OK.
4. Provision your changes
The IP failover group is no longer available. The DCD no longer maps your HA setup.
to provide internet access. First, connect the server or cube to the internet and then to the Local Area Network (LAN).
Note: Upon provisioning, the data centre will be allocated a /56 network prefix by default.
IPv6 allocation in data center
By default, every new LAN has IPv6 addressing disabled. Select the checkbox Activate IPv6 for this LAN in LAN view.
Note: On selecting PROVISION CHANGES, you can populate the LAN IPv6 CIDR block with prefix length /64 or allow it to be automatically assigned from the VDCs allocated /56 range. /64 indicates that the first 64 bits of the 128-bit IPv6 address are fixed. The remaining bits (64 in this case) are flexible, and you can use all of them.
Activate IPv6 for this LAN
In the Inspector pane, configure your LAN device in the Network tab. Provide the following details:
Name: Your choice is recommended to be unique to this Virtual Data Center (VDC).
MAC: The Media Access Control (MAC) address will be assigned automatically upon provisioning.
LAN: Select a LAN for which you want to configure the network.
Firewall: To activate the firewall, choose between Ingress / Egress / Bidirectional.
IPv4 Configuration: Provide the following details:
Primary IP: The primary IP address is automatically assigned by the IONOS DHCP . You can, however, enter an IP address for manual assignment by selecting one of the reserved IPs from the drop-down list. Private IP addresses should be entered manually. The has to be connected to the Internet.
Failover:
IPv6 Configuration: Provide the following details:
NIC IPv6 CIDR: You can populate an IPv6 CIDR block with prefix length /80 or allow it to be automatically assigned from the VDCs allocated range, by selecting PROVISION CHANGES. You can also choose 1 or more individual /128 IPs. Only the first IP is automatically allocated. The remaining IPs can be assigned as per your requirement. The maximum number of IPv6 IPs that can be allocated per NIC is 50.
Start the provisioning process by clicking PROVISION CHANGES in the Inspector.
The Virtual Data Center (VDC) is provisioned with the new network settings.
Note:
IPv6 CIDR assigned to LANs(/64) and NICs(/80 and /128) must be unique.
You can create a max of 256 IPv6-enabled LANs per VDC.
Uncontrolled disconnection: Since we do not allow read connections to standby nodes, only primary disconnections are possible. However, uncontrolled disconnections can happen during maintenance windows, a cluster change, and during unexpected situations such as loss of storage disk space. Such disconnections are destructive for the ongoing transactions and also clients should reconnect.
If a node is disconnected from the cluster, then a new node will be created and provisioned. Losing a primary node leads to the same situation when a client should reconnect. Losing a replica is not noticeable to the customer.
PostgreSQL upgrades
IONOS Cloud updates and patches your database cluster to achieve high standards of functionality and security. This includes minor patches for PostgreSQL, as well as patches for the underlying OS. We try to make these updates unnoticeable to your operation. However, occasionally, we might have to restart your PostgreSQL instance to allow the changes to take effect. These interruptions will only occur during the maintenance window for your database, which is a weekly four-hour window.
When your cluster only contains one replica you might experience a short down-time during this maintenance window, while your database instance is being updated. In a replicated cluster, we only update standbys, but we might perform a switchover in order to change the leader node.
Considerations: Updates to a new minor version are always backward compatible. Such updates are done during the maintenance window with no additional actions from the user side.
Major Version Upgrades
Caution: Major changes of the PostgreSQL version are irreversible and can fail. You should read the official migration guide and test major version upgrades with an appropriate development cluster first.
Prerequisites:
Read the migration guide from Postgres (e.g. to version 13) and make sure your database cluster can be upgraded
Test the upgrade on development cluster with similar / the same data (you can create a new database cluster as a clone of your existing cluster)
Prepare for a downtime during the major version upgrade
Ensure the database cluster has enough available storage. While the upgrade is space-efficient (i.e. it does not copy the data directory), some temporary data is written to disk.
Before upgrading PostgreSQL major versions, customers should be aware that IONOS Cloud is not responsible for customer data or any utilized postgreSQL functionality. Hence, it is the responsibility of the customer to ensure that the migration to a new PostgreSQL major version does not impact their operations.
As per PostgreSQL official documentation: "New major versions also typically introduce some user-visible incompatibilities, so application programming changes might be required."
Supported Versions
Starting with version 10, PostgreSQL moved to a yearly release schedule, where each major version is supported for 5 years after initial release. You can find more details at https://www.postgresql.org/support/versioning/. We strive to support new versions as soon as possible.
When a major version approaches its end of life (EOL), we will announce the deprecation and removal of the version at least 3 months in advance. About 1 month before the EOL, no new database can be created with the deprecated version (the exact date will be part of the first announcement). When the EOL is reached, not yet upgraded databases will be upgraded in their next maintenance window.
Data Center Basics
Your IONOS Cloud infrastructure is set up in Virtual Data Centers (VDCs). Here you will find all the building blocks and the resources required to configure and manage your products and services.
Prerequisites: Make sure you have the appropriate permissions. Only Administrators or Users with the Create Data Center permission can create a VDC.
Creating a new VDC
1. On the Menu bar, click Data Center Designer. A drop-down panel will open.
You can create a VDC from the menu.
Or alternatively,
Name: Enter an appropriate name for your VDC.
Description: Describe your new VDC (optional).
Region: Choose the physical IONOS data center location that will host your infrastructure.
3. Confirm your actions by clicking Create Data Center.
4. The data center is created and opened in the Workspace. You will find the VDC has been added to the My Data Centers list in the Dashboard.
Inside the Data Center Designer
You can set up your data center infrastructure by using a drag-and-drop visual interface. The DCD User Interface (UI) contains the following elements:
Element icons
Square Element icons serve as building blocks for your VDC. Each Element represents an IONOS Cloud product or service. Keep in mind that some Elements are compatible, while others aren't. For example, a Server icon can be combined with the Storage ( or ) icon. In practice, this would represent the physical act of connecting a hard drive to a server machine. For more information, see .
The Palette and the Workspace
The Palette is a dynamic sidebar that contains VDC Elements. You can click and drag each Element from the Palette into your Workspace and position there, as required.
All cloud products and services are compatible with each other. You may create a Server and add Storage to it. A LAN Network will interconnect your Servers.
Some Elements may connect automatically via drag-and-drop. The DCD will then join the two if able. Otherwise, it will open configuration space for approval.
Selecting an element and pressing Delete or Backspace removes it from the Workspace.
The Context Menu
Right-clicking an element inside of the Workspace reveals additional functions. For example, you may right-click a Cube or a Server to Power it up or down. You may also use Pause or Delete, to remove it from your data center infrastructure.
The Context Menu always offers different options, depending on the Element.
The Inspector pane
When an Element is selected, the Inspector pane will appear on the right. You can configure Element properties, such as Name and .
This pane allows you to finalize the creation of your data center. Once your VDC is set up, click PROVISION CHANGES. This makes your infrastructure available for use.
Using the Start Center
The Start Center is an alternative option in VDC creation and management. You may access existing VDCs or create a new one from the Start Center view.
1. Inside the Dashboard Menu bar, select Data Center Designer > Open Start Center.
2 . The Start Center left section lists all your data centers in alphabetical order. The Create Data Center section, on the right, can also be used to create new VDCs.
3. The location region and version number are shown for each VDC. Version numbers begin at 0 and are incremented by 1 each time the data center is provisioned.
4. The Details button, to the right of each VDC, displays all associated , resources, and status. The different status indications are on, off, or de-allocated.
5. You can click on each VDC name on the list to open it.
Dedicated Core Servers
August 18
This is solely for informational purpose and does not require any action from you. IONOS has renamed Virtual Server(s) to Dedicated Core Server(s). This change does not impact the functionality of the product in any manner. As a result, the documentation portal now reflects the product name changes. For more information, see Product Renaming FAQs.
Dedicated Core Servers that you create in the are provisioned and hosted in one of IONOS physical data centers. Dedicated Core Servers behave exactly like physical . They can be configured and managed with your choice of the operating system. For more information about creating a Dedicated Core Server, see .
Boot options: For each server, you can select to boot from a virtual CD-ROM/DVD drive or from a storage device ( or ) using any operating system on the platform. The only requirement is the use of KVM . IONOS provides a number of with multiple versions of Microsoft Windows and different Linux distributions, including Red Hat Enterprise Linux.
Availability Zones
Secure your data, enhance reliability, and set up high-availability scenarios by deploying your Dedicated Core Servers and storage devices across multiple .
Assigning different Availability Zones ensures that servers or storage devices reside on separate physical resources at IONOS.
For example, a server or a storage device assigned to Availability Zone 1 resides on a different resource than a server or storage device assigned to Availability Zone 2.
You have the following Availability Zone options:
Zone 1
Zone 2
A - Auto (default; our system automatically assigns an Availability Zone upon provisioning)
Live Vertical Scaling (LVS)
If the capacity of your Virtual Data Center no longer matches your requirements, you can still increase or decrease your resources after provisioning. Upscaling resources allows you to change the resources of a Dedicated Core Server without restarting it, permitting you to add RAM or ("hot plug") to it while it is running. This change allows you to react to peak loads quickly without compromising performance.
After uploading, you can define the properties for your own images before applying them to new storage volumes. The settings must be supported by the image, otherwise, they will not work as expected. After provisioning, you can change the settings directly on the storage device, which will require a restart of the server.
The types of resources that you can scale without rebooting will depend on the operating system of your . Since kernel 2.6.25, Linux has LVO modules installed by default, but you may have to activate them manually depending on the derivative. For more information, see .
For IONOS images, the supported properties are already preset. Without restarting the Dedicated Core Server, its resources can be scaled as follows:
Upscaling: CPU, RAM, NICs, storage volumes
Downscaling: NICs, storage volumes
Scaling up is the increase or speed up of a component to handle a larger load. The goal is to increase the number of resources that support an application to achieve or maintain accurate performance. Scaling down means reducing system resources, irrespective of whether you have used the scaling up approach. Without restarting the Dedicated Core Server, only upscaling is possible.
Limitations
CPU Types: Dedicated Core Server configurations are subject to the following limitations, by CPU type:
AMD CPU
Components
Minimum
Maximum
Intel® CPU
Components
Minimum
Maximum
*Additional RAM sizes are available on request. To increase the RAM size, contact your sales representative or .
A single Intel® physical core with Hyper-Threading Technology is exposed to the operating system of your Dedicated Core Server as two distinct “logical cores”, which process separate threads.
RAM Sizes: Because the working memory (RAM) size cannot be processed during the initial configuration, newly provisioned servers with more than 8 GB of RAM may not start successfully when created from IONOS Windows images.
Live Vertical Scaling: Linux supports the entire scope of IONOS Live Vertical Scaling, whereas Windows is limited to CPU scaling. Furthermore, it is not possible to use LVS to reduce storage size after provisioning.
Connect via SSH
When creating storages based on IONOS Linux images, you can insert SSH keys into your VM. This lets you access your VM safely and allows for secure communication. SSH keys that you intend to use more often can be saved in the DCD's SSH Key Manager.
Note: IONOS Windows images do not support SSH key injection.
Types of SSH keys
Default SSH keys: SSH keys that you intend to use often and mark them as such in the SSH Key Manager. Default SSH keys are preselected when you configure storage devices. You can specify which SSH keys are actually to be used before and deselecting the preselected standard keys in favor of another SSH key.
Ad-hoc SSH keys: SSH keys that you only use once and don't intend to save in the SSH Key Manager for later re-use.
Generating an SSH key
SSH keys can be generated and used on macOS or Linux if both OpenSSH and the ssh-keygen command-line tools are installed. OpenSSH is a collection of tools for establishing SSH connections to remote servers, while ssh-keygen is a utility for generating SSH keys.
Manually generate SSH keys when working with OpenSSH via the Terminal application by following the steps below.
1. Enter the following command below into the Terminal window and press ENTER.
The key generation process is initiated by the command above. When you run this command, the ssh-keygen utility prompts you for a location to save the key.
2. Accept the default location by pressing the ENTER key, or enter the path to the file where you want to save the key /home/username/.ssh/id_rsa.
If you have previously generated a key pair, you may see the following prompt below. If you choose to overwrite the key, you will no longer authenticate with the previous key that was generated.
3. Enter the passphrase that will be used to encrypt the private key file on the disk. You can also press ENTER to accept the default (no passphrase). However, we recommend that you use a passphrase.
4. Enter your passphrase once more.
After you confirm the passphrase, the public and private keys are generated and saved in the specified location. Thus, the confirmation will look like this:
The public key is saved to the file id_rsa.pub which will be the key you upload to your DCD account. Your private key is saved to the id_rsa file in the .ssh directory and is used to verify that the public key you use belongs to the same DCD account.
You can copy the public key to your clipboard by running the following command:
Storing SSH keys
In the SSH Key Manager of the DCD, you can save and manage up to 100 public SSH keys for the setup of SSH accesses. This saves you from having to repeatedly copy and paste the public part of an SSH key from an external source.
1. To open the SSH Key Manager, go to Menu > MANAGER resources > SSH Key Manager.
2. In the SSH Key Manager, select + Add Key.
3. Enter a Name and click Add.
4. Copy and paste the public key to the SSH key field. Alternatively, you may upload it via Select key file. Please ensure the SSH keys you enter are valid. The DCD does not validate syntax or format.
5. (Optional) Activate the Default checkbox to have the SSH key automatically pre-selected when SSH access is configured.
6. Click Save to store the key.
The SSH key is stored in the SSH Key Manager and can be used for the configuration of SSH accesses.
Deleting an SSH key in the SSH Key Manager
To delete an existing SSH key, select the SSH key from the list and click Delete Key.
The SSH key is removed from the SSH Key Manager.
Connecting via OpenSSH
You can connect to your virtual instance via OpenSSH. Still, you will need the terminal application, which varies depending on your operating system. For:
Linux: Search Terminal or press CTRL+ALT+T
macOS: Search Terminal
Windows: Search Bash. If you don’t have Bash installed, use PuTTY instead.
The steps below will show you how to connect to your VM.
1. Open the Terminal application and enter the SSH connection command below. After the @, add the IP address of your VM instance. Then press ENTER.
Note: When you log in for the first time, the server isn't recognized on your local machine, so you'll be asked if you're sure you want to keep connecting. You can type yes and then press ENTER.
2. Authentication is the next step in the connection process. If you've added the SSH keys, you'll be able to connect to the VM immediately or after entering your key pair's passphrase.
If you haven't already added SSH keys, you'll be asked for your password:
3. Once you’ve entered the password, press ENTER.
If the SSH key is configured correctly, this will log you into VM.
Overview
A Cloud Cube is a virtual machine with an attached NVMe Volume. Each Cube you create is a new virtual machine you can use, either standalone or in combination with other IONOS Cloud products. For more information, see Cloud Cubes.
You can create and configure your Cubes visually using the DCD interface. For more information, see Set Up a Cloud Cube. However, the creation and management of Cubes are easily automated via the Cloud API, as well as our custom-made tools and SDKs.
Configuration templates
You may choose between eight template sizes. Each template varies by processor, memory, and storage capacity. The breakdown of resources is as follows:
Size
vCPUs
RAM
NVMe storage
Configuration templates are set upon provisioning and cannot subsequently be changed.
Resource usage
Counters: The use of Cubes' vCPU, RAM, and NVMe storage resources counts into existing resource usage. However, dedicated resource usage counters are enabled for Cloud Cubes. These counters permit granular monitoring of vCPUs and NVMe storage, which differ from Dedicated Core Servers for the enterprise VM instances and block storage.
Billing: Please note that suspended Cubes continue to incur costs. If you do not delete unused instances, you will continue to be charged for usage. Save on costs by creating snapshots of that you do not immediately need and delete unused instances. At a later time, use these snapshots to recreate identical Cubes as needed. Please note that recreated instances may be assigned a different .
Storage options
Included direct-attached storage: A default Cube comes ready with a high-speed direct-attached NVMe storage volume. Please check Configuration Templates for NVMe Storage sizes.
Add-on network block storage: You may attach more or (Standard or Premium) block storage. Each Cube supports up to 23 block storage devices in addition to the existing NVMe volume. Added HDD and SSD devices, as well as CD-ROMs, can be unmounted and deleted any time after the Cube is provisioned for use.
Boot options: Any storage device, including the CD-ROM, can be selected as the boot volume. You may also boot from the network.
Images and snapshots: Images and snapshots can be created from and copied to direct-attached storage, block storage devices, and CD-ROM drives. Also, direct-attached storage volume snapshots and block storage volumes can be used interchangeably
Disaster recovery
A recovery point is generated daily for each Cube NVMe storage volume. This recovery point can be used to recreate the instance again with the same contents, except for those stored in added volumes.
IONOS Cloud network block storage devices are already protected by a double-redundant setup, which is not included in the recovery points. Instead, recovered block storage devices will automatically be mounted to new Cubes instances.
Limitations
Cloud Cubes are limited to a maximum of 24 devices. The NVMe volume already occupies one of these slots.
You may not change the properties of a configuration template (vCPU, RAM, and direct-attached storage size) after the Cube is provisioned.
The direct-attached NVMe storage volume is set upon provisioning and cannot be unmounted or deleted from the instance.
If available account resources are not sufficient for your tasks, please contact our support team to increase resource limits for your account.
Set User Privileges
Only contract owners, administrators, and users with valid access rights can view, use, or edit resources in a VDC. These access rights are assigned to groups and are inherited by group members.
Set access rights and ownership
A resource creator, by default, is the owner of the resource and can specify access rights to it. The Security tab of the respective resource displays its ownership details. The following table displays the access rights necessary to access and use a resource:
Set restrictions using 2-factor authentication
In addition to enabling access to a resource, you can also activate the for your data centers and snapshots. Only users authorized with the 2-factor authentication can access the data centers and snapshots and unauthorized users cannot view or access the resources, even if they belong to an authorized group.
Depending on their role, users can set access rights at the resource level and via the User Manager.
Manage access rights at the resource level
Prerequisites: Only contract owners, administrators, or users with relevant access rights can share the required resource. Other user types have read-only access and cannot provision changes.
To manage access rights at the resource level, follow these steps:
Log in to the DCD with your username and password.
Open the data center:
Images: Menu > Resource Manager > Image Manager > Image.
Note:
To restrict or disable access, you can clear the respective checkbox or click Remove Group. Remember that, clicking Remove Group disables access for all members of the selected group.
Set access rights via the User Manager
Contract owners and administrators can set the access rights and also limit who else can access a resource by defining its permissions in the User Manager.
To set access rights via the User Manager, follow these steps:
Log in to the DCD with your username and password.
Go to the Menu > Management > Users & Groups.
Select the required resource in the Resources tab.
Note:
To revoke the permission, you can clear the respective checkbox or click Remove Group. Remember that, clicking Remove Group disables access for all members of the selected group.
Assigning resources to a group
To assign resources to a group, follow these steps:
Log in to the DCD with your username and password.
Go to the Menu > Management > Users & Groups.
Select the required group in the Groups tab.
Note: To disable access, you can clear the respective checkbox or click Revoke Access.
For more information about creating and managing the groups, see .
Set Up a Cluster
Prerequisites: Prior to setting up a database, please make sure you are working within a provisioned VDC that contains at least one virtual machine from which to access the database. The VM you create is counted against the quota allocated in your contract.
Note: Database Manager is available only for contract administrators, owners, and users with Access and manage DBaaS privilege. You can set the privilege via the DCD group privileges.
Creating a Cluster
1. To create a Postgres cluster, go to Menu > Databases.
2. In the Databases tab, click + Add in the Postgres Clusters section to create a new Postgres Cluster.
3. Provide an appropriate Display Name.
4. To create a Postgres Cluster from the available backups directly, you can go to the Create from Backup section and follow these steps:
Select a Backup from the list of cluster backups in the dropdown.
Select the Recovery Target Time field. A modal will open up.
Select the recovery date from the calendar.
5. Choose a Location where your data for the database cluster will be stored. You can select an available datacenter within the cluster's data directory to create your cluster.
6. Select a Backup Location that is explicitly your backup location (region). You can have off-site backups by using a region that is not included in your database region.
7. In the Cluster to Datacenter Connection section, provide the following information:
Data Center: Select a datacenter from the available list.
LAN: Select a LAN for your datacenter.
Private IP/Subnet: Enter the private IP or subnet using the available .
Note: To know your private IP address/Subnet, you need to:
Create a single server connected to an empty private LAN and check the IP assigned to that NIC in that LAN. The DHCP in that LAN always uses a /24 subnet, so you must reuse the first 3 IP blocks to reach your database.
8. Select the appropriate Postgres Version. IONOS Database Manager supports versions 11, 12, 13, 14, and 15.
Deprecation Notice: Support for version 11 will soon be removed and should not be used for new clusters.
9. Enter the number of Postgres Instances in the cluster. One Postgres instance always manages the data of exactly one database cluster.
Note: Here, you will have a primary node and one or more standby nodes that run a copy of the active database, so you have n-1 standby instances in the cluster.
10. Select the mode of replication in the Synchronization Mode field; asynchronous mode is selected by default. The following are the available replication modes:
Asynchronous mode: In asynchronous mode, the primary PostgreSQL instance does not wait for a replica to indicate that it wrote the data. The cluster can lose some committed transactions to ensure availability.
Synchronous mode: Synchronous replication allows the primary node to be run standalone. The primary PostgreSQL instance will wait for any or all replicas. So, no transactions are lost during failover.
Strictly Synchronous: It is similar to the synchronous mode but requires two operating nodes.
11. Provide the initial values for the following:
CPU Cores: Select the number of CPU cores using the slider or choose from the available shortcut values.
RAM Size: Select the RAM size using the slider or choose from the available shortcut values.
Storage Type: is set by default.
12. Provide the Database User Credentials, such as a suitable username and an associated password.
Note: The credentials will be overwritten if the user already exists in the backup.
13. In the Maintenance Window section, you can set a Maintenance time using the pre-defined format (hh:mm:ss) or the clock. Select a Maintenance day from the dropdown list. The maintenance occurs in a 4-hour-long window. So, adjust the time accordingly.
14. Click Save to create the Postgres Cluster.
Your Postgres Cluster is now created.
Manage User Access
This tutorial guides you through creating and managing Users, User Groups, and Resources in the .
Prerequisites: Make sure you have the appropriate privileges. Only contract administrators and owners can manage users within a VDC.
Set Up a Cloud Cube
Create a Cube
1. Drag the Cube element from the Palette into the Workspace.
2. Click the Cube element to highlight it. The Inspector will appear on the right.
Flow log record
A flow log record is a record of a network flow in your virtual data center (). By default, each record captures a network internet protocol (IP) traffic flow, groups it, and is enhanced with the following information:
Account ID of the resource
Unique identifier of the network interface
Configure Flow Logs
The information and assistance available in this category make it easier for you to work with flow logs using the (DCD). For the time being, you have the option of doing either of the following.
Create a flow log
You can create flow logs for your network interfaces as well as the public interfaces of the Network Load Balancer and Network Address Translation () Gateway. Flow logs can publish data to your buckets in the .
Backup and Recovery
Backup and Recovery
Backups
PostgreSQL Backups:
High Availability and Scaling
Cluster options
Single-node cluster: A single-node cluster only has one node which is called the primary node. This node accepts customer connections and performs read/write operations. This is a single point of truth as well as a single point of failure.
Multi-node cluster: In addition to the primary node, this cluster contains standby nodes that can be promoted to primary if the current primary fails. The nodes are spread across availability zones. Currently, we use warm standby nodes, which means they don't serve read requests. Hot standby functionality (when the nodes can serve read requests) might be added in the future.
MongoDB
With IONOS Cloud MongoDB, you can quickly set up and manage MongoDB database clusters. It is an open-source, NoSQL database solution that offers document based storage, monitoring, encryption, and sharding. To provision to your workload use cases, IONOS provides MongoDB editions such as Playground, Business, and Enterprise models.
Your identification has been saved in /home/username/.ssh/id_rsa.
Your public key has been saved in /home/username/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:AcP/ieiAOoD7MjrKepXks/qHAhrRasGOysiaIR94Quk [email protected]The key's randomart image is:
+---[RSA 3072]----+
| .o |
| .o |
|.. .. |
|.oo . .. |
|+=.+ . .So . |
|X+. * . . o |
|&Eo. * |
|&Oo.o o |
|@O++.. |
+----[SHA256]-----+
Clear-Host
$name ="Ethernet"
Set-NetAdapterAdvancedProperty-name $name -RegistryKeyword "MTU" -Registryvalue 1500
Set-NetAdapterAdvancedProperty -name $name -RegistryKeyword "*rss" -Registryvalue 0
Set-NetAdapterAdvancedProperty -name $name -RegistryKeyword"*TCPChecksumOffloadIPv4" -Registryvalue 0
Set-NetAdapterAdvancedProperty -name $name -RegistryKeyword "*UDPChecksumOffloadIPv4" -Registryvalue 0
netsh interface tcp set global chimney=disabled
netsh interface tcp set global autotuninglevel=normal
netsh interface tcp set global netdma=disabled
netsh interface tcp set global dca=disabled
netsh interface tcp set global ecncapability=disabled
netsh interface tcp set global timestamps=enabled
Get-NetAdapterAdvancedProperty
netsh int tcp show global
Snapshots: Menu > Resource Manager > Image Manager > Snapshot.
IP addresses: Menu > Resource Manager > IP Manager.
Kubernetes Cluster: Menu > Resource Manager > Kubernetes Manager.
Select the required resource in the Resources tab.
Select Security > Visible to Groups.
From the + Add Group drop-down list, select the required groups to enable access.
Select Read to allow users to see and use the resource. However, they cannot modify the respective resource.
(Optional) Select further permissions (Edit, Share). You may only share those permissions that you have.
(Optional) To protect a resource (data center, snapshots) more thoroughly by only allowing access to users whose login is secured with a 2-factor authentication, select the 2-Factor Protected checkbox.
Select the Visible to Groups tab.
From the + Add Group list, add the required groups to enable access.
(Optional) Select Edit to enable write access or Share to enable resource sharing.
(Optional) To protect a resource (data center, snapshots) more thoroughly by only allowing access to users whose login is secured with a 2-factor authentication, select the 2-Factor Protected checkbox.
Select the Resources of Group tab.
Select the required resource by clicking on + Grant Access. This enables read access to the selected resource.
(Optional) Select Edit to enable write access or Share to enable resource sharing.
Access rights
Users can
Read
view and use the resource, but they cannot modify it. Read access is automatically granted as soon as a user is assigned to a group that has this access right.
Edit
modify and delete the resource.
Share
share a resource, including their access rights, with the groups to which they belong.
The VDC consists of several key sections: the Palette, the Workspace and the Inspector
Individual element icons
Once joined, the elements create a new combined icon in the Workspace
Context menu
Inspector Pane
Using the Start Center in DCD
Then, select the recovery time using the clock.
Once done, click the Add Connection option to establish your cluster to datacenter connection.
To prevent a collision with the DHCP IP range, it is recommended to use IP addresses ending between x.x.x.3/24 and x.x.x.10/24 (which are never assigned by DHCP).
If you have disabled DHCP on your private LAN, you must discover the IP address on your own.
Storage Size: Enter the size value in Gigabytes.
The Estimated price will be displayed based on the input. The estimated cost is exclusive, where certain variables like traffic and backup are not considered.
If you have an HA setup including a failover configuration on your VMs, you can create and manage IP failover groups that support your High Availability (HA) setup.
Firewall: Configure the firewall.
DHCP: It is often necessary to run a Dynamic Host Configuration Protocol (DHCP) server in your VDC (e.g. Preboot Execution Environment (PXE) boot for fast rollout of VMs). If you use your own DHCP server, clear this checkbox so that your IPs are not reassigned by the IONOS DHCP server.
Add IP: In order to use "floating" or virtual IPs, you can assign additional IPs to a NIC by selecting them from the drop-down menu.
DHCPv6: It is often necessary to run your own DHCPv6 server in your Virtual Data Center (VDC) (e.g. PXE boot for fast rollout of VMs). If you use your own DHCPv6 server, clear this checkbox so that your IPs are not reassigned by the IONOS DHCPv6 server.
Add IP: In order to use "floating" or virtual IPs, you can assign additional IPs to a NIC by selecting them from the drop-down menu.
Your identification has been saved in /home/username/.ssh/id_rsa.
Your public key has been saved in /home/username/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:AcP/ieiAOoD7MjrKepXks/qHAhrRasGOysiaIR94Quk [email protected]The key's randomart image is:
+---[RSA 3072]----+
| .o |
| .o |
|.. .. |
|.oo . .. |
|+=.+ . .So . |
|X+. * . . o |
|&Eo. * |
|&Oo.o o |
|@O++.. |
+----[SHA256]-----+
A new VDC in the Data Center Designer (DCD) is manageable by contract owners. To assign resource management capabilities to other members in VDC, you can add users and groups and grant them appropriate privileges to work with the data center resources.
Create a user
The User Manager lets you create new users, add them to user groups, and assign privileges to each group. Privileges either limit or increase your access based on the user role. The User Manager lets you control user access to specific areas of your VDC.
In the DCD, go to menu > Management > Users & Groups.
Management drop-down menu
Click + Create in the Users tab.
Enter the user's First Name, Last Name, Email, and Password.
Note: The email address of the new user must be unique.
Click Create.
Creating a new user in VDC
Result: A user is successfully created and listed in the Users list.
Create a group
The creation of groups is useful when you need to assign specific duties to the members of a group. You can create a group and add members to this group. You can then assign privileges to the entire group.
In the Groups tab, click + Create.
Enter a Group Name.
Click Create to confirm.
Result: The group is now created and visible in the Groups list. You can now assign permissions, users, and resources to your group.
User groups can be created directly from the Groups tab in the User Manager
Assign privileges to a group
In the Groups tab, select a group from the Groups list.
In the Privileges tab, select checkboxes next to the privilege name.
Note: You do not need to save your selections. This action automatically grants or removes privileges.
Result: The group has the required privileges now.
Assigning privileges to the group
Note: To remove the privileges for a group, clear the checkbox next to the privilege name.
Add users to a group
Users are added to your new group on an individual basis. Once you have created a new member, you must assign them to the group.
In the Groups tab, select the required group.
In the Members tab, add users from the + Add User drop-down list.
Choose a user from the drop-down list and add them to the highlighted group as a member
Result: The users are now assigned to the group. These users have privileges and access rights to the resources corresponding to their group.
Benefits of user group assignment
When assigning a user to a group, whether you are a contract owner or an administrator, you can:
Template: choose the appropriate configuration template.
vCPUs: set automatically when a Template is chosen.
RAM in GB: set automatically when a Template is chosen.
Storage in GB: set automatically when a Template is chosen.
4. You will also notice that the Cube comes with an Unnamed Direct Attached Storage. Click on the storage device and rename it in the Inspector.
Highlight the Direct Attached Storage element within the Cube and configure the storage device from the Inspector pane
Name: Your choice is recommended to be unique to this Virtual Data Center (VDC).
Size in GB: Specify the required storage capacity.
Image: You can select one of IONOS' images or use your own.
Password: The combination should be between 8 and 50 characters in length; using only Latin characters and numbers.
Backup Unit: Backs up all data with version history to local storage or your private cloud storage.
Add more Storage
1. Drop a Storage element from the Palette onto a Cube in the Workspace to connect both.
Drag an additional HDD from the Palette onto a Cube in the Workspace. A separate configuration is available
2. In the Inspector, configure your Storage device in the Settings tab.
Name: Your choice is recommended to be unique to this Virtual Data Center (VDC).
Availability Zone: Choose the Zone where you wish to host the Storage device.
Size in GB: Specify the required storage capacity for the SSD.
Performance: Depends on the size of the SSD.
Image: You can select one of IONOS' images or use your own.
Password: The combination should be between 8 and 50 characters in length; using only Latin characters and numbers.
Backup Unit: Backs up all data with version history to local storage or your private cloud storage.
Connect to the internet
1. Each compute instance has a NIC, which is activated via the Autoport symbol. Connect the Cube to the Internet by dragging a line from the Cube's Autoport to the Internet's NIC.
Connect the Cube to the Internet and configure the network from the Network tab of the Inspector
2. In the Inspector, configure your LAN device in the Network tab.
Name: Your choice is recommended to be unique to this Virtual Data Center (VDC).
MAC: The MAC address will be assigned automatically upon provisioning.
Primary IP: The primary IP address is automatically assigned by the IONOS DHCP server. You can, however, enter an IP address for manual assignment by selecting one of the reserved IPs from the drop-down menu. Private IP addresses should be entered manually. The has to be connected to the Internet.
Failover: If you have an HA setup including a failover configuration on your VMs, you can create and manage IP failover groups that support your HA setup.
Firewall: Configure a firewall.
DHCP: It is often necessary to run a DHCP server in your virtual data center (e.g. PXE boot for fast rollout of VMs). If you use your own DHCP server, clear this checkbox so that your IPs are not reassigned by the IONOS DHCP server.
Additional IPs: In order to use "floating" or virtual IPs, you can assign additional IPs to a NIC by selecting them from the drop-down menu.
Suspend a Cube
1. Choose a Cube. From the Settings tab in the Inspector, select Power > Suspend.
2.(Optional) In the dialog that appears, connect using Remote Console and shut down the VM at the operating system level to prevent data loss.
3. Confirm your action by checking the appropriate box and clicking Apply SUSPEND.
4. Provision your changes. Confirm the action by entering your password.
Result: The Cube is suspended but not deleted.
Resume a Cube
1. Choose a Cube. From the Settings tab in the Inspector, select Power > Resume.
2. Confirm your action by checking the appropriate box and clicking Apply RESUME.
3. Provision your changes. Confirm the action by entering your password.
Result: The Cube is resumed.
Inspector pane
Power State alert
The server is switched off. CPU, RAM, and IP addresses are released and billing is suspended. Connected storage devices will still be billed. Reserved IP addresses are not removed from the server. The deallocated virtual machine is marked by a red cross in DCD.
Provision Changes
1. Start the provisioning process by clicking PROVISION CHANGES in the Inspector.
Finalize your Cube setup
Click Provision Now once you have resolved all errors
2. The Provision Data Center dialog opens. Review your changes in the Validation tab.
3. Confirm changes with your password. Resolve outstanding errors without a password.
4. Once ready, click Provision Now to start provisioning resources.
Result: The data center is now provisioned with the new Cube. DCD will display a Provisioning Complete notification once your cloud infrastructure is ready.
Drag the Cube element from the Palette into the Workspace. Highlighting it opens the Inspector on the right
The flow's status, indicating whether it was accepted or rejected by the software-defined networking (SDN) layer
The flow log record is in the following format:
Available Fields
The following table describes all of the available fields for a flow log record.
Field
Type
Description
Example Value
version
string
The flow log version. Version 2 is the default.
2
account-id
Flow log record example
The following are examples of flow log records that capture specific traffic flows. For information on how to create flow logs, see configure flow logs
Accepted record
In this example, traffic to the network interface 7ffd6527-ce80-4e57-a949-f9a45824ebe2 for the account 12345678 was accepted.
Rejected record
In this example, traffic to the network interface 7ffd6527-ce80-4e57-a949-f9a45824ebe2 for the account 12345678 was rejected.
You have permission to edit the required data center.
You have the privilege.
You are the owner or have write access to permissions of an .
You have an IONOS S3 Object Storage instance with a bucket that exists for your flow logs. To create an IONOS S3 Object Storage bucket, see .
Procedure
Select the appropriate tab for the instance or interface for which you want to activate flow logs in the workspace.
In the Inspector pane, open the Network tab.
Open the properties of the Network Interface Controller (NIC).
Accessing flow logs
Activate flow logs
Configure flow logs
Open the Flow Log drop-down and fill in the following fields:
For Name, enter a name for the flow log rule. The name will also be the first part of the objects’ name prefix.
For Direction, choose Ingress to create flow logs for incoming traffic, Egress for outgoing traffic, or Bidirectional to create flow logs for all traffic.
For Action
Characters / (slash) and %2F are not supported as object prefix characters.
You cannot edit/modify changes to the fields of a flow log rule after activating it.
Result: An activated flow log rule is visualized by a green light on the NIC properties. The green light indicates that the configuration has been validated and is valid for provisioning.
A summary of the flow logs rule can be seen by opening the drop-down of the flow log and selecting the name of the flow log rule.
At this point, you may make further changes to your data center (optional).
When ready, select Provision changes. After provisioning is complete, the network interface's flow logs are activated.
Flow logs can be provisioned on both new and previously provisioned instances.
Delete a flow log
Prerequisites
Before you delete a flow log, make sure that you meet the following prerequisites:
You are logged on to the .
You are the
You have to edit the required data center.
Procedure
Select the relevant VM of the interface for which you want to delete the flow logs in the Workspace.
In the Inspector pane, open the Network tab.
Open the properties of the NIC.
6. In the confirmation message, select OK
7. Select Provision changes. After provisioning is complete, the network interface's flow logs are deleted and no longer captured.
Deleting a flow log does not delete the existing log streams from your bucket. Existing flow log data must be deleted using the respective service's console. In addition, deleting a flow log that publishes to IONOS S3 Object Storage does not remove the bucket policies and log file access control lists (ACLs).
In the Inspector pane, open the Settings tab.
To activate flow logs, open the Flow Log drop-down and fill in the following fields:
A cluster can have multiple backups. They are created
When a cluster is created
When the PostgreSQL version is changed to a higher major version
When a Point-In-Time-Recovery operation is conducted.
At any time, Postgres only ships to one backup. We use base backups combined with continuous WAL archiving. A base backup is done via pg_basebackup regularly, and then WAL records are continuously added to the backup. Thus, a backup doesn't represent a point in time but a time range. We keep backups for the last 7 days so recovery is possible for up to one week in the past.
Data is added to the backup in chunks of 16MB or after 30 minutes, whichever comes first. Failures and delays in archiving do not prevent writes to the cluster. If you restore from a backup then only the data that is present in the backup will be restored. This means that you may lose up to the last 30 minutes or 16MB of data if all replicas lose their data at the same time.
You can restore from any backup of any PostgreSQL cluster as long as the backup was created with the same or an older PostgreSQL major version.
Backups are stored encrypted in an IONOS S3 Object Storage bucket in the same region your database is in. Databases in regions without IONOS S3 Object Storage will be backed up to eu-central-2.
Warning: When a database is stopped all transactions since the last WAL segment are written to a (partial) WAL file and shipped to the IONOS S3 Object Storage. This also happens when you delete a database. We provide an additional security timeout of 5 minutes to stop and delete the database gracefully. However, under rare circumstances it could happen that this last WAL Segment is not written to the IONOS S3 Object Storage (e.g. due to errors in the communication with the IONOS S3 Object Storage) and these transactions get lost.
As an additional security mechanism you can check which data has been backed up before deleting the database. To verify which was the last archived WAL segment and at what time it was written you can connect to the database and get information from the pg_stat_archiver.
The `last_archived_time might be older than 30 minutes (WAL files are created with a specific timeout, see above) which is normal if there is no new data added.
Recovery
We provide Point-in-Time-Recovery (PITR). When recovering from a backup, the user chooses a specific backup and provides a time (optional), so that the new cluster will have all the data from the old cluster up until that time (exclusively). If the time was not provided, the current time will be used.
It is possible to set the recoveryTargetTime to a time in the future. If the end of the backup is reached before the recovery target time is met then the recovery will complete with the latest data available.
Note: WAL records shipping is a continuous process and the backup is continuously catching up with the workload. Should you require that all the data from the old cluster is completely available in the new cluster, stop the workload before recovery.
Failover and Upgrade
Failover procedures
Planned failover: During a failure or planned failover, the client must reconnect to the database. A planned failover is signaled to the client by the closing of the TCP connection on the server. The client must also close the connection and reconnect.
In the event of a failure, the connection might not be closed correctly. The new leader will send a gratuitous ARP packet to update the MAC address in the client's ARP table. Open TCP connections will be reset once the client sends a TCP packet. We recommend re-establishing a connection to the database by using an exponential back-off retry with an initial immediate retry.
Uncontrolled disconnection: Since we do not allow read connections to standby nodes, only primary disconnections are possible. However, uncontrolled disconnections can happen during maintenance windows, a cluster change, and during unexpected situations such as loss of storage disk space. Such disconnections are destructive for the ongoing transactions and also clients should reconnect.
If a node is disconnected from the cluster, then a new node will be created and provisioned. Losing a primary node leads to the same situation when a client should reconnect. Losing a replica is not noticeable to the customer.
PostgreSQL upgrades
IONOS Cloud updates and patches your database cluster to achieve high standards of functionality and security. This includes minor patches for PostgreSQL, as well as patches for the underlying OS. We try to make these updates unnoticeable to your operation. However, occasionally, we might have to restart your PostgreSQL instance to allow the changes to take effect. These interruptions will only occur during the maintenance window for your database, which is a weekly four-hour window.
When your cluster only contains one replica you might experience a short down-time during this maintenance window, while your database instance is being updated. In a replicated cluster, we only update standbys, but we might perform a switchover in order to change the leader node.
Considerations: Updates to a new minor version are always backward compatible. Such updates are done during the maintenance window with no additional actions from the user side.
Major Version Upgrades
Caution: Major changes of the PostgreSQL version are irreversible and can fail. You should read the official migration guide and test major version upgrades with an appropriate development cluster first.
Prerequisites:
Read the migration guide from Postgres (e.g. to version 13) and make sure your database cluster can be upgraded
Test the upgrade on development cluster with similar / the same data (you can create a new database cluster as a clone of your existing cluster)
Prepare for a downtime during the major version upgrade
Ensure the database cluster has enough available storage. While the upgrade is space-efficient (i.e. it does not copy the data directory), some temporary data is written to disk.
Before upgrading PostgreSQL major versions, customers should be aware that IONOS Cloud is not responsible for customer data or any utilized postgreSQL functionality. Hence, it is the responsibility of the customer to ensure that the migration to a new PostgreSQL major version does not impact their operations.
As per PostgreSQL official documentation: "New major versions also typically introduce some user-visible incompatibilities, so application programming changes might be required."
Supported Versions
Starting with version 10, PostgreSQL moved to a yearly release schedule, where each major version is supported for 5 years after initial release. You can find more details at https://www.postgresql.org/support/versioning/. We strive to support new versions as soon as possible.
When a major version approaches its end of life (EOL), we will announce the deprecation and removal of the version at least 3 months in advance. About 1 month before the EOL, no new database can be created with the deprecated version (the exact date will be part of the first announcement). When the EOL is reached, not yet upgraded databases will be upgraded in their next maintenance window.
Database scaling
Existing clusters can be scaled in two ways: horizontal and vertical.
Horizontal scaling is defined as configuring the number of instances that run in parallel. The number of nodes can be increased or decreased in a cluster.
Scaling up the number of instances does not cause a disruption. However, decreasing may cause a switch over, if the current primary node is removed.
Note: This method of scaling is used to provide high availability. It will not increase performance.
Vertical scaling refers to configuring the size of the individual instances. This is used if you want to process more data and queries. You can change the number of cores and the size of memory to have the configuration that you need. Each instance is maintained on a dedicated node. In the event of scaling up or down, a new node will be created for each instance.
Once the new node becomes available, the server will switch from the old node to the new node. The old node is then removed. This process is executed sequentially if you have multiple nodes. We will always replace the standby first and then the primary. This means that there is only one switchover.
During the switch, if you are connected to the DB with an application, the connection will be terminated. All ongoing queries will be aborted. Inevitably, there will be some disruption. It is therefore recommended that the scaling is performed outside of peak times.
You can also increase the size of storage. However, it is not possible to reduce the size of the storage, nor can you change the type of storage. Increasing the size is done on-the-fly and causes no disruption.
Replication modes
The synchronization_mode determines how transactions are replicated between multiple nodes before a transaction is confirmed to the client. IONOS DBaaS supports three modes of replication: Asynchronous (default), Synchronous and Strict Synchronous. In either mode the transaction is first committed on the leader and then replicated to the standby node(s).
Asynchronous replication does not wait for the standby before confirming a transaction back to the user. Transactions are confirmed to the client after being written to disk on the primary node. Replication takes place in the background. In asynchronous mode the cluster is allowed to lose some committed (not yet replicated) transactions during a failover to ensure availability.
The benefit of asynchronous replication is the lower latency. The downside is that recent transactions might be lost if standby is promoted to leader. The lag between the leader and standby tends to be a few milliseconds.
Caution: Data loss might happen if the server crashes and the data has not been replicated yet.
Synchronous replication ensures that a transaction is committed to at least one standby before confirming the transaction back to the client. This standby is known as synchronous standby. If the primary node experiences a failure then only a synchronous standby can take over as primary. This ensures that committed transactions are not lost during a failover. If the synchronous standby fails and there is another standby available then the role of the synchronous standby changes to the latter. If no standby is available then the primary can continue in standalone mode. In standalone mode the primary role cannot change until at least one standby has caught up (regained the role of synchronous standby). Latency is generally higher than with asynchronous replication, but no data is lost during a failover.
At any time there will be at most one synchronous standby. If the synchronous standby fails then another healthy standby is automatically selected as the synchronous standby.
Caution: Turning on non-strict synchronous replication does not guarantee multi node durability of commits under all circumstances. When no suitable standby is available, the primary node will still accept writes, but does not guarantee their replication.
Strict synchronous replication is the same as synchronous replication with the exception that standalone mode is not permitted. This mode will prevent PostgreSQL from switching off the synchronous replication on the primary when no synchronous standby candidates are available. If no standby is available, no writes will be accepted anymore, so this mode sacrifices availability for replicated durability.
If replication mode is set to synchronous (either strict or non-strict) then data loss cannot occur during failovers (e.g. node failures). The benefit of strict replication is that data is not lost in case of a storage failure of the primary node and a simultaneous failure of all standby nodes.
Synchronization mode considerations
Please note that synchronization modes can impact DBaaS in several ways:
Aspect
Asynchronous
Synchronous
primary failure
A healthy standby will be promoted if the primary node becomes unavailable.
Only standby nodes that contain all confirmed transactions can be promoted.
Standby failure
No effect on primary. Standby catches up once it is back online.
In strict mode at least one standby must be available to accept write requests. In non-strict mode the primary continues as standalone. There is a short delay in transaction processing if the synchronous standby changes.
The performance penalty of synchronous over asynchronous replication depends on the workload. The primary handles transactions the same way in all replications modes, with the exception of COMMIT statements (incl. implicit transactions). When synchronous replication is enabled, the commit can only be confirmed to the client once it is replicated. Thus, there is a constant latency overhead for each transaction, independent of the transaction's size and duration.
Changing the commit guarantees per transaction
By default, the replication mode of the database cluster determines the guarantees of a committed transaction. However, some workloads might have very diverse requirements regarding accepted data loss vs performance. To address this need, commit guarantees can be changed per transaction. See synchronous_commit (PostgreSQL documentation) for details.
Caution: You cannot enforce a synchronous commit when the cluster is configured to use asynchronous replication. Without a synchronous standby any setting higher than local is equivalent to local, which doesn't wait for replication to complete. Instead, you can configure your cluster to use synchronous replication and choose synchronous_commit=local whenever data loss is acceptable.
Developer Tools
Recommended How-To's
Learn how to create a MongoDB database cluster via the DCD.
Learn how to create a MongoDB database cluster using the Cloud API.
Learn how to create a Sharded MongoDB database cluster using the Cloud API.
Learn how to manage an existing MongoDB cluster attributes such as renaming a database cluster, upgrading MongoDB version, scaling clusters, and so on by using the Cloud API.
A vCPU Server that you create is a new virtual machine provisioned and hosted in one of IONOS physical data centers. A vCPU Server behaves exactly like physical servers and you can use them either standalone or in combination with other IONOS Cloud products.
You can create and configure your vCPU Server visually using the DCD interface. For more information, see Set Up a vCPU Server. However, the creation and management of a vCPU Server can be easily automated via the Cloud API, as well as our custom-made tools like SDKs.
vCPU Servers add a new dimension to your computing experience. These servers are configured with virtual CPUs and distributed among multiple users sharing the same physical server. The performance of your vCPU Server relies on various factors, including the underlying CPU of the physical server, virtual machine configurations, and the current load on the physical server. Our Data Center Dashboard (DCD) lets you closely monitor your CPU utilization and other essential metrics through the Monitoring Manager.
Boot options: For each vCPU Server, you can select to boot from a virtual CD-ROM/DVD drive or from a storage device ( or ) using any operating system on the platform. The only requirement is the use of KVM . IONOS provides a number of ready-to-boot images with current versions of Linux operating systems.
Availability Zones
Secure your data, enhance reliability, and set up high-availability scenarios by deploying your vCPU Servers and storage devices across multiple allowing you to deploy your Shared vCPU instances in different geographic regions.
Assigning different Availability Zones ensures that vCPU Servers or storage devices reside on separate physical resources at IONOS. This helps ensure high availability and fault tolerance for your applications, as well as providing low-latency connections to your target audience.
For example, a vCPU Server or a storage device assigned to Availability Zone 1 resides on a different resource than a vCPU Server or storage device assigned to Availability Zone 2.
You have the following Availability Zone options:
Zone 1
Zone 2
A - Auto (default; our system automatically assigns an Availability Zone upon provisioning)
Live Vertical Scaling (LVS)
If the capacity of your no longer matches your requirements, you can still increase or decrease your resources after provisioning. Upscaling resources allows you to change the resources of a vCPU Server without restarting it, permitting you to add RAM or ("hot plug") to it while it is running. This change allows you to react to peak loads quickly without compromising performance.
After uploading, you can define the properties for your own images before applying them to new storage volumes. The settings must be supported by the image, otherwise, they will not work as expected. After provisioning, you can change the settings directly on the storage device, which will require a restart of the vCPU Server.
The types of resources that you can scale without rebooting will depend on the operating system of your . Since kernel 2.6.25, Linux has LVO modules installed by default, but you may have to activate them manually depending on the derivative. For more information, see .
For IONOS images, the supported properties are already preset. Without restarting the vCPU Server, its resources can be scaled as follows:
Upscaling: CPU, RAM, NICs, storage volumes
Downscaling: NICs, storage volumes
Scaling up is the increase or speed up of a component to handle a larger load. The goal is to increase the number of resources that support an application to achieve or maintain accurate performance. Scaling down means reducing system resources, whether or not you have used the scaling up approach. Without restarting the vCPU Server, only Upscaling is possible.
vCPU Server Features
vCPU Server provides the following features:
Flexible Resource Allocation provides you with presets, which are recommended vCPU-to-RAM configurations for your virtual machines. Furthermore, this option empowers you to add or remove compute resources flexibly in order to meet your specific needs.
The Robust Compute Engine platform supports the vCPU servers, ensuring seamless integration. Additionally, the features offered by the Compute Engine platform remain accessible for utilization with vCPU servers
Virtualization Technology
vCPU Server Benefits
vCPU Server provides the following benefits:
Cost-Effective: vCPU Server helps reduce costs when compared to major hyperscalers with similar resource configurations. This makes it an ideal choice for small to medium-sized businesses or individuals with budget constraints.
Scalability: With IONOS vCPU Server, you have the flexibility to scale your computing resources up or down based on your requirements. This ensures that you can meet the demands of your applications without overprovisioning or paying for unused resources.
Reliability and Availability:
Limitations of vCPU Servers
This section lists the limitations of vCPU Servers:
CPU Family of a vCPU Server cannot be chosen at the time of creation and cannot be changed later. vCPU Server configurations are subject to the following:
Components
Minimum
Maximum
*Larger RAM sizes can be made available on request.
RAM Sizes: Because the working memory (RAM) size cannot be processed during the initial configuration, a newly provisioned vCPU Server with more than 8 GB of RAM may not start successfully when created from the IONOS Windows images.
Live Vertical Scaling: Linux supports the entire scope of IONOS Live Vertical Scaling, whereas Windows is limited to CPU scaling. Furthermore, it is not possible to use LVS to reduce storage size after provisioning.
Note: If the available account resources are not sufficient for your tasks, please contact our support team to increase resource limits for your account.
OpenSSH Instructions
Generating an SSH key
SSH keys can be generated and used on macOS or Linux if both OpenSSH and the ssh-keygen command-line tools are installed. OpenSSH is a collection of tools for establishing SSH connections to remote servers, while ssh-keygen is a utility for generating SSH keys.
An SSH key is composed of two files. The first is the private key, which should never be shared. The other is a public key that enables you to access your provisioned Cubes. When you generate the keys, you will use ssh-keygen to store them in a secure location so that you can connect to your instances without encountering the login prompt.
Manually generate SSH keys when working with OpenSSH via the Terminal application by following the steps below.
Enter the following command below into the Terminal window and press ENTER.
The key generation process is initiated by the command above. When you run this command, the ssh-keygen utility prompts you for a location to save the key.
Accept the default location by pressing the ENTER key, or enter the path to the file where you want to save the key /home/username/.ssh/id_rsa.
If you have previously generated a key pair, you may see the following prompt below. If you choose to overwrite the key, you will no longer authenticate with the previous key that was generated.
Enter the passphrase that will be used to encrypt the private key file on the disk. You can also press ENTER to accept the default (no passphrase). However, we recommend that you use a passphrase.
Enter your passphrase once more.
After you confirm the passphrase, the public and private keys are generated and saved in the specified location. Thus, the confirmation will look like this:
The public key is saved to the fileid_rsa.pubwhich will be the key you upload to your account. Your private key is saved to the id_rsa file in the .ssh directory and is used to verify that the public key you use belongs to the same DCD account.
You can copy the public key to your clipboard by running the following command:
Adding the SSH key to the DCD Resource Manager
In addition to the SSH Keys stored in the , the IONOS Cloud Cubes SSH key concept includes:
Default keys
Ad-hoc SSH Keys.
Default keys are SSH keys that you intend to use frequently and have marked as such in the SSH Key Manager. When you configure storage devices, the are pre-selected. You can, however, specify which SSH keys are to be used before provisioning and deselect the preselected standard keys in favor of another SSH key.
Ad-hoc SSH keys, on the other hand, are SSH keys that you only use once and do not intend to save in the SSH Key Manager for future use.
The DCD's SSH Key Manager allows you to save and manage up to 100 public SSH keys for SSH access setup. This saves you from having to copy and paste the public part of an SSH key from an external source multiple times.
Log in to your DCD account after copying the SSH key to the clipboard (Link).
1. Open the SSH Key Manager: Menu > Management > SSH Keys
2. Select the + Add Key in the top left corner.
3. Paste the SSH key from the clipboard into the SSH Key field. If you have saved your SSH Key in a file, you can upload it by selecting the Choose file button in the Select Key file field.
Make sure the SSH keys you enter are valid. The DCD does not validate the syntax or format of the keys.
Optional: Select the Default checkbox to have the SSH key pre-selected when configuring SSH access.
4. Click Save to save the key. The SSH key has now been saved in the SSH Key Manager and is visible in the SSH Key Manager's table of keys.
Connecting via OpenSSH
You can connect to your Cubes instance via OpenSSH. Still, you will need the terminal application, which varies depending on your operating system. For:
Linux: Search Terminal or press CTRL+ALT+T
macOS: Search Terminal
Windows: Search Bash. If you don’t have Bash installed, use PuTTY instead.
The steps below will show you how to connect to your Cubes.
Open the Terminal application and enter the SSH connection command below. After the @, add the of your Cubes instance. Then press ENTER.
When you log in for the first time, the server isn't recognized on your local machine, so you'll be asked if you're sure you want to keep connecting. You can type yes and then press ENTER.
Authentication is the next step in the connection process. If you've added the SSH keys, you'll be able to connect to the Cubes immediately or after entering your key pair's passphrase.
If you haven't already added SSH keys, you'll be asked for your password:
Nothing is displayed in the terminal when you enter your password, making it easier to paste in the initial password. Pasting into text-based terminals is different from other desktop applications. It is also different from one window manager to another:
For Linux Gnome Terminal, use CTRL+SHIFT+V.
For macOS, use the SHIFT-CMD-V or a middle mouse button.
For Bash on Windows, right-click on the window bar, choose Edit, then Paste. You can also right-click to paste if you enable QuickEdit mode.
Once you’ve entered the password, press ENTER.
If the SSH key is configured correctly, this will log you into the .
OpenSSH Instructions
Generating an SSH key
SSH keys can be generated and used on macOS or Linux if both OpenSSH and the ssh-keygen command-line tools are installed. OpenSSH is a collection of tools for establishing SSH connections to remote servers, while ssh-keygen is a utility for generating SSH keys.
An SSH key is composed of two files. The first is the private key, which should never be shared. The other is a public key that enables you to access your provisioned Cubes. When you generate the keys, you will use ssh-keygen to store them in a secure location so that you can connect to your instances without encountering the login prompt.
Manually generate SSH keys when working with OpenSSH via the Terminal application by following the steps below.
Enter the following command below into the Terminal window and press ENTER.
The key generation process is initiated by the command above. When you run this command, the ssh-keygen utility prompts you for a location to save the key.
Accept the default location by pressing the ENTER key, or enter the path to the file where you want to save the key /home/username/.ssh/id_rsa.
If you have previously generated a key pair, you may see the following prompt below. If you choose to overwrite the key, you will no longer authenticate with the previous key that was generated.
Enter the passphrase that will be used to encrypt the private key file on the disk. You can also press ENTER to accept the default (no passphrase). However, we recommend that you use a passphrase.
Enter your passphrase once more.
After you confirm the passphrase, the public and private keys are generated and saved in the specified location. Thus, the confirmation will look like this:
The public key is saved to the fileid_rsa.pubwhich will be the key you upload to your account. Your private key is saved to the id_rsa file in the .ssh directory and is used to verify that the public key you use belongs to the same DCD account.
You can copy the public key to your clipboard by running the following command:
Adding the SSH key to the DCD Resource Manager
In addition to the SSH Keys stored in the , the IONOS Cloud Cubes SSH key concept includes:
Default keys
Ad-hoc SSH Keys.
Default keys are SSH keys that you intend to use frequently and have marked as such in the SSH Key Manager. When you configure storage devices, the are pre-selected. You can, however, specify which SSH keys are to be used before provisioning and deselect the preselected standard keys in favor of another SSH key.
Ad-hoc SSH keys, on the other hand, are SSH keys that you only use once and do not intend to save in the SSH Key Manager for future use.
The DCD's SSH Key Manager allows you to save and manage up to 100 public SSH keys for SSH access setup. This saves you from having to copy and paste the public part of an SSH key from an external source multiple times.
Log in to your DCD account after copying the SSH key to the clipboard (Link).
1. Open the SSH Key Manager: Menu > Management > SSH Keys
2. Select the + Add Key in the top left corner.
3. Paste the SSH key from the clipboard into the SSH Key field. If you have saved your SSH Key in a file, you can upload it by selecting the Choose file button in the Select Key file field.
Make sure the SSH keys you enter are valid. The DCD does not validate the syntax or format of the keys.
Optional: Select the Default checkbox to have the SSH key pre-selected when configuring SSH access.
4. Click Save to save the key. The SSH key has now been saved in the SSH Key Manager and is visible in the SSH Key Manager's table of keys.
Connecting via OpenSSH
You can connect to your Cubes instance via OpenSSH. Still, you will need the terminal application, which varies depending on your operating system. For:
Linux: Search Terminal or press CTRL+ALT+T
macOS: Search Terminal
Windows: Search Bash. If you don’t have Bash installed, use PuTTY instead.
The steps below will show you how to connect to your Cubes.
Open the Terminal application and enter the SSH connection command below. After the @, add the of your Cubes instance. Then press ENTER.
When you log in for the first time, the server isn't recognized on your local machine, so you'll be asked if you're sure you want to keep connecting. You can type yes and then press ENTER.
Authentication is the next step in the connection process. If you've added the SSH keys, you'll be able to connect to the Cubes immediately or after entering your key pair's passphrase.
If you haven't already added SSH keys, you'll be asked for your password:
Nothing is displayed in the terminal when you enter your password, making it easier to paste in the initial password. Pasting into text-based terminals is different from other desktop applications. It is also different from one window manager to another:
For Linux Gnome Terminal, use CTRL+SHIFT+V.
For macOS, use the SHIFT-CMD-V or a middle mouse button.
For Bash on Windows, right-click on the window bar, choose Edit, then Paste. You can also right-click to paste if you enable QuickEdit mode.
Once you’ve entered the password, press ENTER.
If the SSH key is configured correctly, this will log you into the .
Set Up a Dedicated Core Server
August 18
This is solely for informational purposes and does not require anything from you. IONOS has renamed Virtual Server(s) to Dedicated Core Server(s). This change does not impact the functionality of the product in any manner. As a result, the documentation portal now reflects the product name changes. For more information, see .
The user who creates the Dedicated Core server has full root or administrator access rights. A server, once provisioned, retains all its settings (resources, drive allocation, password, etc.), even after a restart at the operating system level. The server will only be removed from your Virtual Data Center once you
Set Up a vCPU Server
A user with full root or administrator access rights can create a vCPU Server. A vCPU Server, once provisioned, retains all its settings, such as resources, drive allocation, password, etc., even after a restart at the operating system level. A vCPU Server is deleted from your only when you delete it from the DCD. For more information, see .
Create a vCPU Server
Overview
Block Storage is a type of IT architecture in which data is stored as a file system. It provides endless possibilities for storing large amounts of information. It guarantees the safety of resource planning systems and provides instant access to the required amount of data without delay.
IONOS provides you with several ready-made that you can use immediately. You can also use your own images by uploading them via our access. For more information, see . Your IONOS account supports many types of images as well as ISO images from which you can install an operating system or software directly, using an emulated CD-ROM drive.
Storage types and options
Private Images
You can migrate your images into the IONOS cloud infrastructure by uploading them via the FTP. For more information, see . Your IONOS account supports many types of block storage images as well as ISO images, using an emulated CD-Rom drive, from which you can install an operating system or software directly.
Image types
The following image types are supported; hence, you can upload any of these:
Block Storage FAQs
Which virtualization technology does IONOS use?
IONOS systems are built on Kernel-based Virtual Machine (KVM) hypervisor and libvirt virtualization management. We have adapted both of these components to our requirements and optimized them for the delivery of diverse cloud services, with a special focus on security and guest isolation.
Activate Extensions
Available PostgreSQL extensions
There are several PostgreSQL extensions preinstalled, that you can enable for your cluster. You can enable the extension by logging into your cluster and executing:
The following table shows which extensions are enabled by default and which can be enabled (PostgreSQL version 12):
Extension
View Cluster Metrics
Get Metrics via Telemetry API
Metrics can be retrieved via the as described below:
Request
Response
Overview
MongoDB is a widely used NoSQL database system that excels in performance, scalability, and flexibility, making it an excellent choice for managing large volumes of data. MongoDB offers different editions tailored to meet the requirements of enterprise-level deployments, namely MongoDB Business and MongoDB Enterprise editions. You can try out MongoDB for free with the MongoDB Playground edition and further upgrade to Business and Enterprise editions.
MongoDB Playground is a free edition that offers a platform to experience the capabilities of MongoDB with IONOS. It provides one playground instance for free and each additional instances created further are charged accordingly. You can prototype and learn how best the offering suits your enterprise.
MongoDB Business is a comprehensive edition that combines the power and flexibility of MongoDB with additional features and support to address the needs of businesses across various industries. It provides an all-in-one solution that enables organizations to efficiently manage their data, enhance productivity, and ensure the reliability of their applications.
SELECT now(); # verify server time
SELECT * FROM pg_stat_archiver; # get information about last archival wal and time
string
The IONOS Cloud account ID of the owner of the resource containing the interface for which flow logs are collected.
12345678
interface_id
string
The interface unique identifier (UUID) for which flow logs are collected.
7ffd6527-ce80-4e57-a949-f9a45824ebe2
srcaddr
string
The source address for incoming traffic, or the IPv4 address of the network interface for outgoing traffic.
172.17.1.100
dstaddr
string
The destination address for outgoing traffic, or the IPv4 address of the network interface for incoming traffic.
172.17.1.101
srcport
uint16
The source port from which the network flow originated.
59113
dstport
uint16
The destination port for the network flow.
20756
protocol
uin8
The Internet Assigned Numbers Authority (IANA) protocol number of the traffic. For more information, see Assigned Internet Protocol Numbers
6
packets
uint64
The number of packets transferred during the network flow capture window.
17
bytes
uint64
The number of bytes transferred during the network flow capture window.
1325
start
string
The timestamp, in UNIX EPOCH format, of when the first packet of the flow was received within the grouping interval.
1587983051
end
string
The timestamp, in UNIX EPOCH format, of when the last packet of the flow was received within the grouping interval.
1587983052
action
string
The action associated with the traffic:
ACCEPT: traffic accepted by the firewall
REJECT: traffic rejected by the firewall
ACCEPT
log-status
string
The flow log logging status:
OK: normal flow logging
SKIPDATA: Some flow log records were skipped during the grouping interval
OK
Consistency model
Strongly consistent (expect for lost data.)
Strongly consistent (expect for lost data.)
Data loss during failover
Non-replicated data is lost.
Not possible.
Data loss during primary storage failure
Non-replicated data is lost.
Non-replicated data is lost in standalone mode.
Latency
Limited by the performance of the primary.
Limited by the performance of the primary, the synchronous standby and the latency between them (usually below 1ms).
enables efficient and secure isolation between different virtual machines (VMs), ensuring the performance of one VM does not impact the others.
Reliable Performance and computing capabilities make it suitable for a wide range of applications. The underlying infrastructure is optimized to provide reliable CPU performance, ensuring your applications run smoothly.
Easy Management via the intuitive Data Center Designer. You can easily create, modify, and delete vCPU Servers, monitor their usage, and adjust the resources according to your needs.
IONOS's cloud infrastructure ensures high availability and reliability. By distributing resources across multiple physical servers, IONOS minimizes the impact of hardware failures, providing a stable and resilient environment for your applications.
Easy Setup: Setting up IONOS vCPU Server is straightforward. The IONOS DCD and Cloud API offers controls for provisioning and configuring vCPU Servers, allowing you to get up and running quickly.
to capture only traffic allowed by the firewall, or
Any
for all traffic.
For Target S3 bucket, enter a valid existing IONOS S3 Object Storage bucket name and an optional object name prefix where flow log records should be written.
Select Add flowlog to complete the configuration of the flow log. It becomes applied once you provision your changes.
There is a limit of one flow log created per NIC, NAT Gateway, and Network Load Balancer (NLB).
For Name, enter a name for the flow log rule. The name will also be the first part of the objects’ name prefix.
For Direction, choose Ingress to create flow logs for incoming traffic, Egress for outgoing traffic, or Bidirectional to create flow logs for all traffic.
For Action, choose Rejected to capture only traffic blocked by the firewall, Accepted to capture only traffic allowed by the firewall, or Any for all traffic.
For Target S3 bucket, enter a valid existing IONOS S3 Object Storage bucket name and an optional object name prefix where flow log records should be written.
Select Add flowlog to complete the configuration of the flow log. It becomes applied once you provision your changes.
Prerequisites: Make sure you have the appropriate privileges. Only contract administrators, owners, or users with the Create Data Center privilege can set up a VDC. Other user types have read-only access and can't provision changes.
1. Drag the Dedicated Core server element from the Palette onto the Workspace.
The created Dedicated Core server is automatically highlighted in turquoise. The Inspector pane allows you to configure the properties of this individual server instance.
Create a Dedicated Core server by dragging it onto the Workspace. Fill out the Inspector pane on the right with server properties
2. In the Inspector pane on the right, configure your server in the Settings tab.
Availability Zone: The zone where you wish to physically host the server. Choosing A - Auto selects a zone automatically. This setting can be changed after provisioning.
CPU Architecture: Choose between AMD or Intel cores. You can later change the CPU type for a server that is already running, though you will have to restart it first.
Cores: Specify the number of CPU cores. You may change these after provisioning. Note that there are configuration limits.
RAM: Specify RAM size; you may choose any size between 0.25 GB to 240 GB in steps of 0.25 GB. This setting can be increased after provisioning.
SSH Keys: Select premade . You must first have a key stored in the SSH Key Manager. Learn how to .
Ad-hoc Key: Copy and paste the public part of your SSH key into this field.
Add a bootable drive
Drag a storage element (HDD or SSD) from the Palette onto a Dedicated Core server in the Workspace to connect them together. The highlighted VM will expand with a storage section.
Click the Unnamed HDD Storage to highlight the storage section. Now you can see new options in the Inspector pane on the right.
Storage type cannot be changed after provisioning.
Configure Storage
Enter a name that is unique within your VDC.
Select a zone in which you want the storage device to be maintained. When you select A (Auto), our system assigns the optimal Zone. The Availability Zone cannot be changed after provisioning.
Specify the required storage capacity. You can increase the size after provisioning, even while the vCPU Server is running, as long as its operating system supports it. It is not possible to reduce the storage size after provisioning.
You can select one of IONOS images or snapshots, or use your own. Only images and snapshots that you have access to are available for selection. Since provisioning does not require you to specify an image, you can also create empty storage volumes.
Authentication
Set the root or administrator password for your Dedicated Core server according to the guidelines. This is recommended for both operating system types.
Select an SSH key stored in the SSH Key Manager.
Copy and paste the public part of your SSH key into this field.
Select the storage volume from which the Dedicated Core server is to boot by clicking on BOOT or Make Boot Device.
Provision your changes. The storage device is now provisioned and configured according to your settings.
Alternative Mode
When adding a storage element using the Inspector pane, select the appropriate check box in the Add Storage dialog box. If you wish to boot from the network, set this on the Dedicated Core server: Dedicated Core server in the Workspace > Inspector pane > Storage.
It is recommended to always use VirtIO to benefit from the full performance of InfiniBand. IDE is intended for troubleshooting if, for instance, the operating system has no VirtIO drivers installed. In this case, Windows usually displays a "blue screen" when booting.
After provisioning, the Live Vertical Scaling properties of the selected image are displayed. You can make changes to these properties later, which will require a reboot. You can set the properties of your uploaded images before you apply them to storage volumes in the Image Manager.
(Optional) Add and configure further storage elements.
(Optional) Make further changes to your data center.
Provision your changes. The storage device is now provisioned and configured according to your settings.
Add a CD-ROM drive
To assign an image and specify a boot device, you need to add and configure a storage element.
Click on CD-ROM to add a CD-ROM drive so that you can use ISO images to install and configure an operating system from scratch.
Set up a network by connecting the Dedicated Core server to other elements, such as an internet access element or other servers through their NICs.
Provision your changes.
The Dedicated Core server is available according to your settings.
Stop, Start, or Reset a Dedicated Core Server
We maintain dedicated resources available for each customer. You do not share your physical CPUs with other IONOS clients. For this reason, the servers switched off at the operating system level, still incur costs.
You should use the DCD to shut down virtual machines so that resources are completely deallocated, and no costs are incurred. Dedicated Core servers deallocated this way remain in your infrastructure while the resources are released and can then be redistributed.
This can only be done in the DCD. Shutting down a VM at the operating system level alone does not deallocate the resources or suspend the billing. Regardless of how the VM is shut down, it can only be restarted using the DCD.
A reset forces the Dedicated Core server to shut down and reboot but may result in data loss.
Stop a Dedicated Core Server
Stopping a VM will:
Suspend billing
Cut power to your VM
De-allocate any dynamically assigned IP address
1. Choose a Dedicated Core server. From the Settings tab in the Inspector pane, select Power > Stop.
2. In the dialog box that appears, confirm your action by selecting the appropriate checkbox and clicking Apply STOP.
3. Provision your changes. Confirm the action by entering your password.
Start a Dedicated Core Server
1. Choose a Dedicated Core server. From the Settings tab in the Inspector pane, select Power > Start.
2. In the dialog box that appears, confirm your action by selecting the appropriate box and clicking Apply START.
3. Provision your changes. Confirm the action by entering your password.
Result: The Dedicated Core server is booted. A new public IP address is assigned depending on the configuration, and billing is resumed.
Reset a Dedicated Core Server
1. Choose a Dedicated Core server. From the Settings tab in the Inspector pane, select Power > Reset.
2. (Optional) In the dialog box that appears, connect using the Remote Console and shut down the VM at the operating system level to prevent data loss.
3. Confirm your action by selecting the appropriate box and clicking Apply RESET.
4. Provision your changes. Confirm the action by entering your password.
Result: The Dedicated Core server shuts down and reboots.
Scale a Dedicated Core Server
1. In the Workspace, select the required Dedicated Core server and use the Inspector pane on the right.
If you want to change multiple VMs, select the data center and change the properties in the Settings tab.
In this tab, you will find an overview of all assets belonging to the selected VDC. You can change cores, RAM, server status, and storage size without having to manually update each VM in the Workspace.
2. Modify storage:
(Optional) Create a snapshot of the system for recovery in the event of problems.
3. In the Workspace, select the required Dedicated Core server and increase the CPU size.
4. Provision your changes. You must set the new size at the operating system level of your VM.
Result: The size of the CPU is adjusted in the DCD.
Delete a Dedicated Core Server
When you no longer need a particular Dedicated Core server, with or without the associated storage devices, in your cloud infrastructure, you can remove it with a single mouse click or via the keyboard.
To ensure that no processes are interrupted and no data is lost, we recommend you turn off the Dedicated Core server before you delete it.
1. Select the Dedicated Core server in the Workspace.
2. Right-click and open the context menu of the element. Select Delete.
2. You may also select the element icon and press the DEL key.
3. In the dialog box that appears, choose whether you also want to delete storage devices that belong to the server.
4. Provision your changes.
Result: The Dedicated Core server and its storage devices are deleted.
When you delete a Dedicated Core server and its storage devices, or the entire data center, their backups are not deleted automatically. When you delete a Backup Unit, the associated backups are also deleted.
When you no longer need the backups of deleted VMs, delete them manually from the Backup Unit Manager to avoid unnecessary costs.
Prerequisites: Make sure you have the appropriate privileges. Only contract administrators, owners, and users with the Create Data Center privilege can set up a VDC. Other user types have read-only access and cannot provision changes.
1. Drag the vCPU Server element from the Palette onto the Workspace.
The created vCPU Server is automatically highlighted in turquoise. The Inspector pane allows you to configure the properties of this individual vCPU instance.
Create a vCPU Server by dragging it onto the Workspace. Fill out the Inspector pane on the right with vCPU properties
2. In the Inspector pane on the right, configure your vCPU Server in the Settings tab.
Availability Zone: The zone where you wish to physically host the vCPU. Choosing A - Auto selects a zone automatically. This setting can be changed after provisioning.
Preset: Select an appropriate configuration from the drop-down list. The values S, M, L, XL, and XXL contain predefined vCPU-to-RAM ratios. You can always override the values to suit your needs and the Preset automatically changes to Custom when you edit the predefined ratio indicating that you are no longer using the predefined ratio.
vCPUs: Specify the number of vCPUs. You may change these after provisioning. The capabilities are limited to your customer contract limits. For more information about the contract resource limits in DCD, see .
RAM: Specify RAM size; you may choose any size between 0.25 GB to 240 GB in steps of 0.25 GB. This setting can be increased after provisioning.
SSH Keys: Select premade . You must first have a key stored in the SSH Key Manager. For more information about how to create and add SSH Keys, see .
Ad-hoc Key: Copy and paste the public part of your SSH key into this field.
Add a bootable drive
Drag a storage element (HDD or SSD) from the Palette onto a vCPU server in the Workspace to connect them together. The highlighted vCPU will expand with a storage section.
Click the Unnamed HDD Storage to highlight the storage section. Now you can see new options in the Inspector pane on the right.
Storage type cannot be changed after provisioning.
Configure Storage
Enter a name that is unique within your VDC.
Select a zone in which you want the storage device to be maintained. When you select A (Auto), our system assigns the optimal Zone. The Availability Zone cannot be changed after provisioning.
Specify the required storage capacity. You can increase the size after provisioning, even while the vCPU Server is running, as long as its operating system supports it. It is not possible to reduce the storage size after provisioning.
You can select one of IONOS images or snapshots, or use your own. Only images and snapshots that you have access to are available for selection. Since provisioning does not require you to specify an image, you can also create empty storage volumes.
Authentication
Set the root or administrator password for your vCPU according to the guidelines. This is recommended for both operating system types.
Select an SSH key stored in the SSH Key Manager.
Copy and paste the public part of your SSH key into this field.
Select the storage volume from which the vCPU is to boot by clicking on BOOT or Make Boot Device.
Provision your changes. The storage device is now provisioned and configured according to your settings.
Alternative Mode
When adding a storage element using the Inspector, select the appropriate checkbox in the Add Storage dialog box. If you wish to boot from the network, set this on the vCPU: vCPU in the Workspace > Inspector > Storage.
It is recommended to always use VirtIO to benefit from the full performance of InfiniBand. IDE is intended for troubleshooting if, for instance, the operating system has no VirtIO drivers installed. In this case, Windows usually displays a "blue screen" when booting.
After provisioning, the Live Vertical Scaling properties of the selected image are displayed. You can make changes to these properties later, which will require a reboot. You can set the properties of your uploaded images before you apply them to storage volumes in the Image Manager.
(Optional) Add and configure further storage elements.
(Optional) Make further changes to your data center.
Provision your changes. The storage device is now provisioned and configured according to your settings.
Add a CD-ROM drive
To assign an image and specify a boot device, you need to add and configure a storage element.
Click on CD-ROM to add a CD-ROM drive so that you can use ISO images to install and configure an operating system from scratch.
Set up a network by connecting the vCPU Server to other elements, such as an internet access element or other vCPU Server through their NICs.
Provision your changes.
The vCPU Server is available according to your settings.
Stop, Start or Reset a vCPU Server
At IONOS, we maintain dedicated resources for each customer. Hence, you do not share your physical CPU with other IONOS clients. For this reason, the vCPU Server switched off at the operating system level, still incurs costs.
You can shut down a vCPU Server completely via the DCD and deallocate all its resources to avoid incurring costs. A vCPU Server deallocated this way remains in your infrastructure while the resources are released and can then be redistributed.
Shutting down a vCPU Server at the operating system level alone does not deallocate the resources or suspend the billing. Regardless of how you shut down the vCPU Server, you can restart it only via the DCD.
A reset forces the vCPU Server to shut down and reboot but may result in data loss.
Stop a vCPU Server
1. Choose a vCPU Server. From the Settings tab in the Inspector pane, select Power > Stop.
2. In the dialog box that appears, confirm your action by selecting the appropriate checkbox and clicking Apply STOP.
3. Provision your changes. Confirm the action by entering your password.
Result: The vCPU Server stops and billing is suspended.
Start a vCPU Server
1. Choose a vCPU Server. From the Settings tab in the Inspector pane, select Power > Start.
2. In the dialog box that appears, confirm your action by selecting the appropriate checkbox and clicking Apply START.
3. Provision your changes. Confirm the action by entering your password.
Result: The chosen vCPU Server is booted. A new public IP address is assigned to it depending on the configuration and billing is resumed.
Reset a vCPU Server
1. Choose a vCPU Server. From the Settings tab in the Inspector pane, select Power > Reset.
2. (Optional) In the dialog box that appears, connect using the Remote Console and shut down the vCPU Server at the operating system level to prevent data loss.
3. Confirm your action by selecting the appropriate checkbox and clicking Apply RESET.
4. Provision your changes. Confirm the action by entering your password.
Result: The vCPU Server shuts down and reboots.
Scale a vCPU Server
1. In the Workspace, select the required vCPU Server and use the Inspector pane on the right.
If you want to make changes to multiple vCPU Servers, select the data center and change the properties in the Settings tab.
In this tab, you will find an overview of all assets belonging to the selected VDC. You can change vCPUs, RAM, vCPU Server status, and storage size without having to manually update each vCPU Server in the Workspace.
2. Modify storage:
(Optional) Create a snapshot of the system for recovery in the event of problems.
3. In the Workspace, select the required vCPU Server and increase the CPU size.
4. Provision your changes. You must set the new size at the operating system level of your vCPU Server.
Result: The size of the CPU is adjusted in the DCD.
Delete a vCPU Server
When you no longer need a particular vCPU Server, with or without the associated storage devices, in your cloud infrastructure, you can remove it with a single mouse click or via the keyboard.
To ensure that no processes are interrupted, and no data is lost, we recommend you turn off the vCPU Server before you delete it.
1. Select the vCPU Server in the Workspace.
2. Right-click and open the context menu of the element. Select Delete Server.
2. You may also select the element icon and press the DEL key.
3. In the dialog box that appears, choose whether you also want to delete storage devices that belong to the vCPU Server.
4. Provision your changes.
Result: The vCPU Server and its storage devices are deleted.
When you delete a vCPU Server and its storage devices, or the entire data center, their backups are not deleted automatically. When you delete a Backup Unit, the associated backups are also deleted.
When you no longer need the backups of a deleted vCPU Server, delete them manually from the Backup Unit Manager to avoid unnecessary costs.
The virtual storage devices you create in the DCD are provisioned and hosted in one of the IONOS physical data centers. Virtual storage devices are used in the same way as physical storage devices and can be configured and managed within the server's operating system.
A virtual storage device is equivalent to an iSCSI block device and behaves exactly like direct-attached storage. IONOS block storage is managed independently of servers. It is therefore easily scalable. You can assign a hard disk image to each storage device via DCD (or API). You can use one of the IONOS images, your own image, or a snapshot created with DCD (or API). You have a choice of hard disk drive (HDD) and solid-state drive (SSD) storage technologies while SSD is available in two different performance classes. For more information about setting up the storage, see Set Up Storage.
Up to 24 storage volumes can be connected to a Dedicated Core Server or a Cloud Cube (while the Cloud Cube already has one virtual storage device attached per default). You can use any mix of volume types if necessary.
IONOS Cloud provides HDD and SSD block storage in a double-redundant setup. Each virtual storage volume is replicated four times and stored on distributed physical devices within the selected data center location.
HDD storage
The following performance and configuration limits apply per HDD volume. The performance of HDD storage is static and independent of its volume size.
HDD storage performance
Read/write speed, sequential: 200 Mb/s at 1 MB block size
Read/write speed, full random:
Regular: 1,100 IOPS at 4 kB block size
Burst: 2,500 IOPS at 4 kB block size
HDD storage limits
Minimum Size per Volume: 1 GB
Maximum Size per Volume: 4 TB
Larger volumes can be made available on request. For more information, please contact IONOS Cloud Support.
SSD storage
SSD storage volumes are available in two performance classes - SSD Premium and SSD Standard. The performance of SSD storage depends on the volume size. Please find the respective performance and configuration limits listed below.
SSD Premium storage performance
Read/write speed, sequential: 1 Mb/s pro GB at 1 MB block size
Read speed, full random: 75 IOPS per GB at 4 KB block size
Write speed, full random: 50 IOPS per GB at 4 KB block size
SSD Premium storage limits
Minimum Size per Volume: 1 GB
Maximum Size per Volume: 4 TB
Maximum Read/write speed, sequential: 600 Mb/s per volume at 1 MB block size
Larger volumes can be made available on request. For more information, please contact .
SSD Standard storage performance
Read/write speed, sequential: 0,5 Mb/s pro GB at 1 MB block size
Read speed, full random: 40 IOPS per GB at 4 KB block size
SSD storage performance
The performance of SSD storage is directly related to the volume size. To get the full benefits of high-speed SSDs, we recommend that you book SSD storage units of at least 100 GB. You can use smaller volumes for your VDC, but performance will be suboptimal, compared to that of the larger units. When storage units are configured in DCD, expected performance is predicted based on the volume size (Inspector > Settings). For storage volumes of more than 600 GB the performance is capped at the maximum as specified in the documentation above.
Availability Zones
Secure your data, enhance reliability, and set up high-availability scenarios by deploying your Dedicated Core Servers and storage devices across multiple Availability Zones.
Assigning different Availability Zones ensures that redundant modules reside on separate physical resources at IONOS. For example, a server or a storage device assigned to Availability Zone 1 resides on a different resource than a server or storage device assigned to Availability Zone 2.
For HDD and SSD Storage, you have the following Availability Zone options:
Zone 1
Zone 2
Zone 3
A - Auto (default; the system automatically assigns an Availability Zone upon provisioning)
The server Availability Zone can also be changed after provisioning. The storage device's Availability Zone is set on first provisioning and cannot be changed subsequently. However, you can take a snapshot and then use it to provide a storage device with a new Availability Zone.
Authentication
The first time you create a storage unit based on a public image, you must select at least one authentication method. Without authentication, the image on the storage unit cannot be provisioned. The authentication methods available depend on the IONOS operating system image you select.
Authentication methods depend on the operating system.
Authentication methods
SSH key
Password
IONOS Linux images
+
+
IONOS Windows images
-
+
We recommend using both SSH and a password with IONOS Linux images. This will allow you to log in with the Remote Console. It is not possible to provision a storage unit with a Linux image without specifying a password or an SSH key.
Passwords: Provisioning a storage device with a Windows image is not possible without specifying a password. It must be between 8 and 50 characters long and may only consist of numbers (0 - 9) and letters (a-z, A - Z). For IONOS Linux images, you can specify a password along with SSH keys, so that you can also log in without the SSH, such as with the Remote Console. The password is set as the root or administrator password with corresponding permissions.
SSH (Secure Shell): To use SSH, you must have an SSH key pair consisting of public and private keys. The private key is installed on the client (the computer you use to access the server), and the public key is installed on the (virtual) instance (the server you wish to access). The IONOS SSH feature requires that you have a valid SSH public/private key pair and that the private key is installed as appropriate for your local operating system.
If you set an invalid or incorrect SSH key, it must be corrected on the side of the virtual machine.
Limitations
IONOS is focused on ensuring the uninterrupted and cost-efficient operation of your services. This is why we offer a selection of tested operating systems for immediate use in your virtual cloud instances. To ensure uninterrupted, secure, and stable performance, all operating systems, regardless of their source, should meet the following requirements:
VirtIO drivers are essential for the operation of virtual network cards.
The following are the recommended drivers for the operation of virtual storage:
VirtIO (maximum performance)
IDE (for vStorage, an alternative connection by IDE is available, but it will not deliver the potential performance offered by IONOS).
QXL drivers are required to use the Remote Console.
We guarantee operation for the selected operating system as long as vendor or upstream support is available.
In general, all current Linux distributions and their derivatives are supported.
Microsoft Windows Server versions are also supported as long as vendor support is available.
The older an OS version, the greater the risk of performance and stability losses. It is recommended that you always switch to the current versions well before the manufacturer's support for your old version expires. This will greatly improve your operating system's security and functionality.
When operating software appliances, it is recommended that you use the images that have been specially prepared for the KVM hypervisor.
If you are using special software appliances or operating systems that are not listed here, please contact IONOS Cloud Support. We would be happy to explore the possibility of using such systems within the IONOS Enterprise Cloud and advise you on the best possible implementation.
Currently, IONOS does not support the Bring-Your-Own-License (BYOL) option for license or subscription based operating systems like Microsoft Windows Server or Red Hat Enterprise Linux. If you want to use one of these two options for private images, IONOS will still grant you the license and charge you when a virtual machine boots from the private image.
Private image authentication
Private images inherit the same authentication defined during their creation. Therefore, the option to set an administrator password or apply an SSH key is not displayed when using a private image.
You can create snapshots from provisioned block storage volumes only. It includes the authentication you specified during the creation of the snapshot. IONOS does not modify snapshots at any time. If you want to change the authentication configurations, we recommend doing it before reusing the snapshot on a new block storage device.
Upload an image via the FTP
IONOS offers you FTP access to each data center location so you can upload your own images. Access to images is location-specific, meaning if you have uploaded an image from location A, it can be accessed only from that specific location. You can also set access rights to only allow authorized users to access and use them. Only images and snapshots to which you have access are displayed.
To upload an image, follow these steps:
Log in to the DCD with your username and password.
Go to the Menu > Resource Manager > Images & Snapshots.
Set up a connection from your computer to the IONOS FTP server. You can use an FTP client such as FileZilla or tools from your operating system to establish a connection.
Upload the image via the appropriate FTP URL to the corresponding IONOS data center location.
After uploading, the image is converted to a RAW format. As a result, dynamic HDD images are always used at their maximum size. A dynamic image, for example, whose file size is 3 GB, but which comes from a 50 GB hard disk, will be a 50 GB image again after conversion to the IONOS format. The conversion process generally takes a few minutes based on the size of your image.
Result: You will be notified by an email when your image is available. Only images and snapshots to which you have access are displayed.
Note:
The disk space required for an uploaded image will not affect the resources of your IONOS account and you will not be charged.
Image file names can contain any of the following special characters: a-z A-Z 0-9 - . / _ ( ) # ~ + = blanks.
Images created from UEFI boot machines cannot be uploaded. Only MBR boot images are supported.
Establish an FTP connection to upload images via the Windows Explorer
In Windows 10, you can upload an image, without additional software. To establish an FTP connection, follow these steps:
Open Windows Explorer.
Select Add a network location from the context menu.
Enter the IONOS FTP address as the location of the website. Example: ftps://ftps-fkb.ionos.com. An image is only available at the location where it was uploaded.
Select Log on anonymously in the next dialog box that appears.
Enter a name for the connection in the following dialog box. The name will later be visible in Windows Explorer. Example: upload_fkb.
Click Finish to confirm your action.
Result: The FTP connection is available in Windows Explorer.
Upload your image through the established FTP connection
Open the FTP access on your local computer.
In the login dialog box, enter the credentials of your IONOS account.
Copy the image from your local computer and paste it to a folder in the data center. The image type must be, either HDD or iso.
Result: As soon as the upload begins, you will receive a confirmation e-mail from IONOS. After the upload has been completed, the image can be accessed via the Manage Images and Snapshots window and also when you choose a private image from the Own Images drop-down list when associating a Storage.
Access and manage a private image
After completing the upload and conversion process, you can manage your uploaded images via the DCD.
To access and manage your images, follow these steps:
Log in to the DCD with your username and password.
Go to the Menu > Management > Images & Snapshots.
Modify the following details, if necessary:
Name: Rename the image, if required.
Live Vertical Scaling: Enable this option if your image supports live vertical scaling, so that the boots from this image.
License Type: Specify the license type of the image that will be propagated to the when booting from this image.
Delete a private image
You can delete your private image if you no longer need it, thus saving resources.
To delete an image, follow these steps:
Log in to the DCD with your username and password.
Go to the Menu > Management > Images & Snapshots.
Open the Image tab and select the private image you would like to delete.
Click Delete.
In the dialog that appears, confirm your action by entering your password and clicking OK.
Result: The selected image is deleted and cannot be restored.
Some software images are only designed for certain virtualization systems. Without VirtlO drivers, VM will not work properly with the hypervisor. You can set the storage bus type to IDE temporarily to install the VirtlO drivers.
How do I install VirtIO drivers for Windows?
For a Windows VM to work properly with our hypervisor, VirtI/O drivers are required.
Install Windows using the original IDE driver
You can now install the VirtIO drivers from the ISO provided by IONOS.
Add a CD-ROM drive to your server
Select the windows-virtio-driver.iso ISO
Boot from the selected ISO to start the automatic installation tool
Can I run a virtualization platform on a Dedicated Core Server?
Our hypervisor informs the guest operating system that it is located in a virtualized environment. Some virtualized systems do not support virtualized environments and cannot be executed on an IONOS Dedicated Core Server. We generally do not recommend using your virtualization technology in virtual hosts.
How do I upload my images with FTP?
You can upload your images to the FTP server in your region. The available regions are:
Location
FTP access endpoint
Frankfurt am Main (DE)
ftps://ftp-fra.ionos.com
Karlsruhe (DE)
ftps://ftp-fkb.ionos.com
Berlin (DE)
ftps://ftp-txl.ionos.com
In the DCD, FTP addresses are also listed at several spots:
Menu > Help (Question Mark icon) > FTP Image Upload
Menu > Management > Image Manager > FTP Image Upload
Your own images are only available in the region where you uploaded them. Accordingly, only images located in the same region as the virtual data center are available for selection in a virtual data center. For example, if you upload an image to the FTP server in Frankfurt, you can only use that image in a virtual data center in Frankfurt.
Can I use an encrypted connection for FTP uploads?
We strongly recommend that you select FTPS (File Transfer Protocol with Transport Layer Security) as the transfer protocol. This can easily be done using "FileZilla", for example. Simple FTP works as well, but your access data is transmitted in plain text.
Why are image files in the FTP account 0 bytes in size?
After a file has been uploaded to the FTP server, it is protected from deletion, converted, and then made available as an image. When this process is finished, the file size is reduced to 0 bytes to save space but left on the FTP server. This is to prevent a file with the same name from being uploaded again and interfering with the processing of existing images. If an image is no longer needed, contact IONOS Cloud Suppport.
How do I delete snapshots?
Snapshots that you no longer need can be deleted in the Image Manager.
Live Vertical Scaling is supported by all our images. Please note that the Windows OS only allows CPU core scaling.
Can I connect one storage device to multiple servers?
It is not possible to connect multiple servers to one storage device, but you can connect multiple servers in a network without performance loss.
Which image types are supported?
IONOS Cloud allows the customer to upload their own images to the infrastructure via upload servers. This procedure is to be completed individually for each data center location. IONOS Cloud optionally offers transmission with secure transport (TLS). The uploading of HDD and CD-ROM/DVD-ROM images is supported. Specifically, the uploading of images in the following formats is supported:
CD-ROM / DVD-ROM:
*.iso ISO 9660 image file
HDD Images:
*.vmdk vmware HDD images
*.vhd, *.vhdx HyperV HDD images
*.cow, *.qcow, *.qcow2 Qemu HDD images
*.raw binary HDD image
*.vpc VirtualPC HDD image
*.vdi VirtualBox HDD image
Note: Images created from UEFI boot machines cannot be uploaded. Only MBR boot images are supported.
How do I change the Availability Zone of a storage device?
Once a storage device is provisioned, it is not possible to change its Availability Zone. You could, however, create a snapshot and then use it to provision a storage device with a new Availability Zone.
Does IONOS support RHEL images? What are the charges?
Yes, IONOS is authorized to provide and operate Red Hat Enterprise Linux within the IONOS public cloud infrastructure.
As this is a paid Linux distribution, IONOS charges a certain fee for the usage of IONOS RHEL images. The following table lists the charges.
Product Item
Meter Description
Unit
Price Group
EUR
GPB
USD
CAD
MXN
RHEL1100
Enabled
Version
Description
plpython3u
X
1.0
PL/Python3U untrusted procedural language
pg_stat_statements
X
1.7
track execution statistics of all SQL statements executed
intarray
Note: With select * from pg_available_extensions; you will see more available extensions, but many of them can't be enabled or used without superuser rights and thus aren't listed here.
Follow MaaS documentation for more information on how to authenticate and available endpoints.
Metrics Overview
Name
Labels
Description
ionos_dbaas_postgres_connections_count
contract_number, instance, postgres_cluster, role, state
Number of connections per instance and state. The state is one of the following: active, disabled, fastpath function call, idle, idle in transaction, idle in transaction (aborted).
ionos_dbaas_postgres_cpu_rate5m
contract_number, instance, postgres_cluster, role
The average CPU utilization over the past 5 minutes.
MongoDB Enterprise is a powerful edition of the popular NoSQL database system, MongoDB, specifically designed to meet the demanding requirements of enterprise-level deployments. It offers a comprehensive set of features, advanced security capabilities, and professional support to ensure the optimal performance, scalability, and reliability of your database infrastructure.
IONOS DBaaS offers you a replicated MongoDB setup in minutes.
DBaaS currently supports MongoDB Playground versions 5.0 and 6.0.
DBaaS currently supports MongoDB Business versions 5.0 and 6.0.
DBaaS currently supports MongoDB Enterprise versions 5.0 and 6.0.
Locations:
Offered in the following locations: de/fra, de/txl, gb/lhr, es/vit, us/ewr, us/mci and fr/par.
Offered in the following locations: de/fra, de/txl, gb/lhr, es/vit, us/ewr, us/mci and fr/par.
Offered in the following locations: de/fra, de/txl, gb/lhr, es/vit, us/ewr, us/las, us/mci and fr/par.
Features
The MongoDB Playground, MongoDB Business, and MongoDB Enterprise editions offer the following key capabilities:
Availability: Single instance database cluster with a small cube template availability.
Security: Communication between instances and between the client and the database cluster is protected with Transport Layer Security (TLS) using Let's Encrypt.
Resources: Cluster instances are dedicated Servers, with a dedicated CPU, storage, and RAM.
Backup: Backups are disabled for this edition. You need to upgrade to MongoDB Business or MongoDB Enterprise to avail database backup capabilities.
High availability: Multi-instance database clusters across different physical hosts with automatic data replication and failure handling.
Security: Communication between instances and between the client and the is protected with Transport Layer Security (TLS) using Let's Encrypt.
Management: Efficient monitoring and management are essential for maintaining the health and performance of MongoDB deployments. IONOS MongoDB Business Edition includes powerful monitoring and management tools to simplify these tasks. The MongoDB management enables centralized monitoring, proactive alerts, and automated backups, allowing businesses to efficiently monitor their clusters and safeguard their data.
Resources: Cluster instances are dedicated Servers, with a dedicated CPU, storage, and RAM. All data is stored on high-performance directly attached NVMe devices and encrypted at rest.
Backup: Daily snapshots are kept for up to seven days.
Restore: Databases can be restored from snapshots.
Shards: Supports horizontal scalability through , which allows for data to be distributed across multiple servers. For an example of how to create a sharded cluster, see .
Resources: Cluster instances are Virtual Servers with a boot and a data volume attached. The data volume is encrypted at rest.
BI Connector: The MongoDB Connector for BI allows you to query MongoDB data with SQL using tools such as Tableau, Power BI, and Excel. For an example of how to create a cluster with a BI Connector, see .
Network: Clusters can only be accessed via private LANs.
High availability: Multi-instance clusters across different physical hosts with automatic data replication and failure handling.
Platform Tasks
Note: IONOS Cloud does not allow full access to the MongoDB cluster. For example, due to security reasons, you cannot use all roles and need to create users via the IONOS API.
DBaaS services offered by IONOS Cloud:
Our platform is responsible for all back-end operations required to maintain your database in optimal operational health. The following services are offered:
Database management via the DCD or the DBaaS API.
Configuring default values, for example for data replication and security-related settings.
Automated backups for 7 days.
Regular patches and upgrades during the maintenance.
Disaster recovery via automated backup.
Service monitoring: both for the database and the underlying infrastructure.
Customer database administration duties:
Tasks related to the optimal health of the database remain the responsibility of the user. These include:
choosing adequate sizing,
data organization,
creation of indexes,
updating statistics, and
consultation of access plans to optimize queries.
Terminology
Cluster: The whole MongoDB cluster is currently equal to the replica set.
Instance: A single server or replica set member inside a MongoDB cluster.
Modify Cluster Attributes
Once the PostgreSQL cluster is up and running, you can customize several attributes. For the first public release, you can alter the displayName attribute. You can also arrange the maintenanceWindow and change network connections.
Note: The sample UUID is 498ae72f-411f-11eb-9d07-046c59cc737e
Quick Links:
Quick Links:
Renaming the database cluster
With the PATCH request, you can change the name of your database cluster.
Response
Upgrading the cluster version in-place
DBaaS supports upgrading Postgres to a higher major version in-place. To do so, simply issue a PATCH request containing the target Postgres version:
The upgrade procedure is efficient and should only take a few minutes (even for large databases). The database will be unavailable (potentially multiple times) until the upgrade is complete. Once the upgrade is done, the creation of a new backup is triggered.
Once the upgrade is triggered it cannot be undone. If the upgrade fails or causes unexpected behaviors for the application then the old state can be restored by creating a new database from the previous backup. A in-place restore will only apply the old data and not roll back to the older Postgres version.
Caution: Executing in-place upgrades drops objects and extensions from the database that could be incompatible with the new version. If you are unsure whether your application is affected by the changes then try the upgrade on a clone first.
Increasing cluster storage size in-place
DBaaS supports increasing the storage size of your cluster in-place. To do so, simply issue a PATCH request containing the new storage size:
The resizing happens online without interruptions.
Caution: Decreasing the storage size is not supported with this method.
Scaling a cluster vertically (RAM, CPU)
DBaaS supports increasing and decreasing the size of your database instances. To do so, simply issue a PATCH request containing the new size (you can also specify only one of cores or ram, if you don't want to change both):
Caution: This change requires for the underlying nodes to be replaced and therefore will cause one failover.
Scaling a cluster horizontally (replicas)
DBaaS supports increasing and decreasing the amount of your database replicas. To do so, simply issue a PATCH request containing the new replica count (between 1 and 5):
Caution: Scaling down may cause one or more failovers and interrupt open connections.
Setting maintenance windows
If you do not provide a window during the creation of your database, a random window will be assigned for the database. You can update the window at any time, as shown in the example below.
When your cluster only contains one replica you might experience a short down-time during this maintenance window, while your database instance is being updated. In a replicated cluster, we only update standbys, but we might perform a switchover, in order to change the leader node.
Changing the connection
After creating your database you can change the connection to your private LAN or temporarily remove it completely. You can change it to either be connected to a different LAN, or simply update the IP. However, you always have to include all properties of the connections list for the request, even if you only want to update the database IP address. The newly provided LAN has to be in the same location as the database cluster. Updating the IP address also updates the record of the DNS name of the database.
Note: When you change the connection to a new LAN, the database will no longer be reachable in the old network almost immediately. However, the new connection will only be established, after your dedicated VMs are updated, which can take a couple of minutes, depending on the number of instances you specified.
In order to remove the connection, you have to specify an empty list in the request body:
Restore from Backup
You can restore a database from a previous backup either in-place or to a different cluster.
Note: Choose the resources carefully for your new database cluster. The operation may fail if there is insufficient disk space or RAM. We recommend at least 4 GB of RAM for the new database, which can be scaled down after the restore operation.
Listing all available backups
To restore from a backup you will need to provide its ID. You can request a list of all available backups:
Request
Response
Listing backups per cluster
You can also list backups belonging to a specific cluster. For this, you need a clusterId.
Our chosen clusterId is: 498ae72f-411f-11eb-9d07-046c59cc737e
Request
Response
Restoring from backup in-place
You can now trigger a restore of the chosen cluster. Your database will not be available during the restore operation.
The recoveryTargetTime is an ISO-8601 timestamp that specifies the point in time up to which data will be restored. It is non-inclusive, meaning the recovery will stop right before this timestamp.
You should choose a backup with the most recent earliestRecoveryTargetTime. However, this timestamp should be strictly less than the desirable recoveryTargetTime. For example suppose you have three backups with earliestRecoveryTargetTime from 1st, 2nd and 3rd of january 2022 at 0:00:00 espectively. If you want to restore to the recoveryTargetTime2022-01-02T20:00:00Z, you should use chose the backup from 2nd of january.
Note: To restore a cluster in-place you can only use backups from that cluster. If that backup is from an older Postgres version (after a major version upgrade), only the data is applied. The database will continue running the updated version.
Request
Response
The API will respond with a 202 Accepted status code if the request is successful.
Restoring to a different target
You can also create a new cluster as a copy from a backup by adding the fromBackup field in your POST request. You can use any backup from any cluster as long as the target cluster has the same or a more recent version of PostgreSQL.
The field takes the same arguments as shown above, backupId and recoveryTargetTime.
Note: A backup is a continuous process, so if you have any ongoing workload in your current cluster, do not expect the old data to appear instantly. If you wish to avoid a slight delay, you need to stop the workload prior to backing up.
If you want a new database to have all the data from the old one (clone database) use a backup with the most recent earliestRecoveryTargetTime and omit recoveryTargetTime from the POST request.
Note: You can use the POST and fromBackup functionality to move a database to another region since the new database cluster doesn't need to be in the same region as the original one.
Request
Account Settings
Introduction
The Account Management panel is accessed by clicking on your name and email address. Here you can perform key administrative tasks related to your account and contract. Only Contract Owners have complete access. Consult access levels by user Role:
The rate of disk I/O time, in seconds, over a five-minute period. Provides insight into performance of a disk, as high values may indicate that the disk is being overused or is experiencing performance issues.
ionos_dbaas_postgres_instance_count
contract_number, instance, postgres_cluster, role
Desired number of instances. The number of currently ready and running instances may be different. ionos_dbaas_postgres_role provides information about running instances split by role.
ionos_dbaas_postgres_load5
contract_number, instance, postgres_cluster, role
Linux load average for the last 5 minutes. This metric is represented as a number between 0 and 1 (can be greater than 1 on multicore machines), where 0 indicates that the CPU core is idle and 1 indicates that the CPU core is fully utilized. Higher values may indicate that the system is experiencing performance issues or is approaching capacity.
ionos_dbaas_postgres_memory_available_bytes
contract_number, instance, postgres_cluster, role
Available memory in bytes.
ionos_dbaas_postgres_memory_total_bytes
contract_number, instance, postgres_cluster, role
Total memory of the underlying machine in bytes. Some of it is used for our management and monitoring tools and not available to PostgreSQL. During horizontal scaling you might see different values for each instance.
ionos_dbaas_postgres_role
contract_number, instance, postgres_cluster, role
Current role of the instance. Provides whether an instance is currently "master" or "replica".
ionos_dbaas_postgres_storage_available_bytes
contract_number, instance, postgres_cluster, role
Free available disk space per instance in bytes.
ionos_dbaas_postgres_storage_total_bytes
contract_number, instance, postgres_cluster, role
Total disk space per instance in bytes. During horizontal scaling you might see different values for each instance.
ionos_dbaas_postgres_transactions:rate2m
contract_number, datid, datname, instance, postgres_cluster, role
Per-second average rate of SQL transactions (that have been committed), calculated over the last 2 minutes.
Security: Communication between instances and between the client and the cluster is protected with Transport Layer Security (TLS) using Let's Encrypt.
Backup: Daily snapshots are kept for up to seven days.
Restore: Databases can be restored from a specific snapshot given by its ID or restored from a point in time given by a timestamp.
Offsite Backup: Backup data is stored in a location other than the deployed database cluster.
Enterprise Support: With MongoDB Enterprise, you gain access to professional support from the MongoDB team ensuring that you receive timely assistance and expert guidance when needed. IONOS offers enterprise-grade Service Level Agreements (SLAs), guaranteeing rapid response times and 24/7 support to address any critical issues that may arise.
You can set default values for future VDCs. Each time you open a new VDC, DCD will place your resources in the preset location, assigning them the same number of cores, memory size, storage capacity, and reserved IP addresses. For example, you can specify that all new VDCs must be located in Karlsruhe, or that all processors will use the Intel architecture.
1. Go to Account Management > My Settings.
2. In the My Settings panel, set default values for Session, Data Center, Server, and Storage.
My Settings lets you set defaults for any infrastructure created in subsequent data centers
Your new values are valid immediately. You may undo your changes by clicking on Reset or the Reset All button.
Password & Security
Your IONOS Cloud account comes with a number of security features to protect you from unauthorized access:
Changing your password
You define the password for your IONOS account yourself during the registration process. Your password must contain at least eight characters and a mixture of upper and lowercase letters and special characters.
1. Go to Account Management > Password & Security > Change Password.
2. Enter your Current Password and the New Password twice. Click Change Password.
The password is changed and becomes effective with the next login.
In addition to log-in credentials, this authentication method also requires an app-generated security code. Once 2-Factor Authentication has been activated, you can only access your account by receiving this code from the Google Authenticator App. This method can be extended to hide specific data centers and snapshots from users, even if they belong to an authorized group. This feature is only available in DCD.
Prerequisites: The Google Authenticator App is compatible with all Android or iOS mobile devices. You can install it on your device, free of charge, from the Google Play Store or from Apple iTunes. The app must be able to access your camera and the time on the mobile device needs to be set automatically.
Users can turn on 2-Factor Authentication for their own accounts. Make sure it is not already activated by a Contract Owner or Administrator.
1. Go to Account Management > Password &Security.
2. Check the box: Enable 2-Factor Authentication. The Set Up Assistant will open.
Enable 2-Factor Authentication from the Password & Security tab of the Account Settings
3. Proceed through each step by clicking Next.
Install the Google Authenticator app;
Scan the QR code using the app;
Enter the Security Token;
Confirm.
2-Factor Authentication is now on. You will need to provide a security code next time you log in.
4. To deactivate, return to Account Management > Security.
5. Uncheck the box: Enable 2-Factor Authentication. The setting is effective upon the next login.
Contract owners or administrators can turn on 2-Factor Authentication for other user accounts in order to maintain heightened security.
1. Go to Menu Bar > Manager Resources > User Manager.
2. Select the required user.
3. In Meta Data, check the box: Force 2-Factor Auth. Click Save.
The setting will be effective upon the next login. The user will be guided through the Set Up Assistant to complete the activation. For details on how to complete the
Setting Support PIN
To ensure support calls are made by authorized users, we usually ask for the support PIN to verify the account. You can set your support PIN in the DCD and change it at any time. To set or change your support PIN, use the following procedure:
1. Go to Account Management > Password & Security > Set Support PIN.
2. Enter your support PIN in the PIN field. Click Set Support PIN.
The support PIN is now saved. You can use it to verify your account with Customer Support.
Resource Overview
In this tab, you can track the global usage of resources available in your account.
Furthermore, this page provides an overview of usage limits per virtual instance.
Cost and Usage
In this tab, you can view the breakdown of estimated costs for the next invoice. The costs displayed in the DCD are a non-binding extrapolation based on your resource allocation since the last invoice. Please refer to your invoice for the actual costs. For more pricing information, please visit our Features and prices page.
1. Go to Account Management > Cost and Usage. The list breaks down your Snapshot, IP address, and Data Center usage.
2. You may click the down arrow to expand each section to view individual item charges.
The Total amount displayed excludes VAT.
Payment Method
As a contract owner, you can choose between two payment methods: direct debit or a credit card.
1. Open the Account Management > Payment Method.
2. Choose either method, enter your information, and Submit.
Credit card data are safely stored with our payment service provider. If you choose to pay by direct debit, you will receive a form from us with which we ask you to give us a direct debit authorisation in writing.
Contract Owners
Custom settings: If you wish to change your e-mail address or username, please contact your sales representative or our IONOS enterprise support team.
Removing a user account: As a contract owner or administrator, you can cancel a user account by removing the user from the User Manager. Resources created by the user are not deleted.
Canceling your account: If you wish to cancel your Enterprise Cloud (IaaS) contract and delete your account including all VDCs completely, please contact your IONOS account manager or the IONOS enterprise support team.
If you are a 1&1 IONOS hosting customer, please refer to the following help page: Cancel an IONOS Contract.
Compute Engine FAQs
August 18
This is solely for informational purpose and does not require any action from you. IONOS has renamed Virtual Server(s) to Dedicated Core Server(s). This change does not impact the functionality of the product in any manner. As a result, the documentation portal now reflects the product name changes. For more information, see .
Dedicated Core Servers
What are the maximum resources available for a Server?
Cores
Dedicated Core Server configurations are subject to the following limits, according to the CPU type:
AMD CPU: Up to 62 cores and 230 GB RAM
Intel® CPU: Up to 51 Intel® cores and 230 GB RAM
A single Intel® physical core with Hyper-Threading Technology is exposed to the operating system of your Dedicated Core Servers as two distinct “logical cores”, which process separate threads.
Because the size of the working memory (RAM) cannot be processed during the initial configuration, newly provisioned servers with more than 8 GB of RAM may not start successfully when created from IONOS Windows images.
We recommend initially setting the RAM size to 8 GB; RAM size can then be scaled as needed after the initial provisioning and configuration.
HDD storage
Minimum: 1 GB
Maximum: 4 TB
SSD storage
Minimum: 1 GB
Maximum: 4 TB
You can scale up the HDD and SSD storage volumes on need basis.
What are the Availability Zones?
IONOS data centers are divided into separate areas called Availability Zones.
You can enhance reliability and set up high-availability scenarios by deploying redundant Dedicated Core Servers and storage devices across multiple Availability Zones.
See also:
How do I change the Availability Zone?
Select the server in the DCD Workspace
Use Inspector > Properties > Availability Zone menu to change the Availability Zone
What is Live Vertical Scaling?
Live Vertical Scaling (LVS) technology permits you to scale the number of CPU cores and amount of RAM while the server is running, without having to restart it. Please note that Windows only allows scaling the number of CPU cores, but not the amount of RAM. For scaling to more than eight CPU cores, Windows requires a reboot.
See also:
Why do I sometimes see steal time in my Dedicated Core servers?
Steal time in a refers to instances when the hypervisor, responsible for managing VMs and hardware, temporarily reallocates a portion of CPU cycles from dedicated cores to perform essential tasks like storage replication and firewall enforcement. While VMs may perceive this as "stolen processing time," it typically has a low impact on performance, especially with Dedicated Core servers. The IONOS Cloud platform prioritizes efficient resource management to ensure your VMs run smoothly.
How do I reboot a Dedicated Core server?
Dedicated Core servers can be restarted at the operating system level (using the reboot command, for instance). You can also use the DCD reset function, which functions similarly to a physical server's reset button.
See also:
How do I shut down a Dedicated Core server?
You should use the DCD to shut down your server completely. Your VM will then be marked as "shut down" in the DCD. Shutting down a VM at the operating system level alone does not deallocate its resources or suspend the billing.
See also:
How do I delete a Dedicated Core server?
You can delete a Dedicated Core server from the DCD Workspace by right-clicking on it and selecting Delete Server from the list, or by selecting the server and pressing the Del key on your keyboard.
See also:
What do I do when my VM isn't accessible?
Try to connect to your VM using the Remote Console to see if it is up and running. If you have trouble logging on to your VM, please provide our support team with screenshots of error messages and prompts from the Remote Console.
Windows users: Please send us a screenshot of the Task Manager.
Linux users: Please send us the output of uptime and top.
How do I get the root/admin passwords with IONOS images?
When using IONOS-provided images, you set the passwords yourself prior to provisioning.
Why does my newly provisioned server not start?
Newly provisioned servers with more than 8 GB of RAM may not start successfully when created from IONOS Windows images, because the RAM size cannot be processed during the initial configuration.
An error is displayed according to the server version; for example, Windows Server 2012 R2 displays the following message:
"Windows could not finish configuring the system. To attempt to resume configuration, restart the computer."
We recommend initially setting the RAM size to 8 GB, and rescaling it as needed after the initial provisioning and configuration is complete.
Which CPU architecture should I choose?
The choice of CPU architecture primarily depends on your workload and performance requirements. Intel® processors are oftentimes more powerful than AMD processors. Intel® processors are designed for compute-intensive applications and workloads where the benefits of hyperthreading and multitasking can be fully exploited. Intel® cores cost twice as much as AMD cores. Therefore, it is recommended that you measure and compare the actual performance of both CPU architectures against your own workload. You can change the CPU type in the DCD or use the API, and see for yourself whether Intel® processors deliver significant performance gains, or more economical AMD cores still meet your requirements.
With our unique "Core Technology Choice" feature, we are the only cloud computing provider that makes it possible to flexibly change the processor architecture per virtual instance.
What do I do if the cursor in the Remote Console disappears?
When the cursor disappears after logging on to the Remote Console, you can reconnect to the server using the appropriate menu entry.
vCPU Servers
What are the maximum resources available for a vCPU Server?
Cores
vCPU Server configurations are subject to the following limits:
Up to 120 cores and 512 GB RAM
A CPU Family of a vCPU server cannot be chosen at the time of creation and cannot be changed later.
A single Intel® physical core with Hyper-Threading Technology is exposed to the operating system of your vCPU Server as two distinct “logical cores”, which process separate threads.
Because the size of the working memory (RAM) cannot be processed during the initial configuration, newly provisioned servers with more than 8 GB of RAM may not start successfully when created from IONOS Windows images.
We recommend initially setting the RAM size to 8 GB; RAM size can then be scaled as needed after the initial provisioning and configuration.
HDD storage
Minimum: 1 GB
Maximum: 4 TB
SSD storage
Minimum: 1 GB
Maximum: 4 TB
You can scale up the HDD and SSD storage volumes on need basis.
What are the Availability Zones?
IONOS data centers are divided into separate areas called Availability Zones.
You can enhance reliability and set up high-availability scenarios by deploying redundant vCPU Servers and storage devices across multiple Availability Zones.
See also:
How do I change the Availability Zone?
Select the vCPU Server in the DCD Workspace.
Navigate to the Inspector pane > Properties > Availability Zone menu to change the Availability Zone.
What is Live Vertical Scaling?
Live Vertical Scaling (LVS) technology permits you to scale the number of CPU cores and amount of RAM while the server is running, without having to restart it. Please note that Windows only allows scaling the number of CPU cores, but not the amount of RAM. For scaling to more than eight CPU cores, Windows requires a reboot.
See also:
How do I reboot a server?
Servers can be restarted at the operating system level (using the reboot command, for instance). You can also use the DCD reset function, which functions similarly to a physical server's reset button.
See also:
How do I shut down a server?
You should use the DCD to shut down your server completely. Your VM will then be marked as "shut down" in the DCD. Shutting down a VM at the operating system level alone does not deallocate its resources or suspend the billing.
See also:
How do I delete a server?
You can delete a server from the DCD Workspace by right-clicking on it and selecting Delete Server from the list, or by selecting the server and pressing the Del key on your keyboard.
See also:
What do I do when my VM isn't accessible?
Try to connect to your VM using the Remote Console to see if it is up and running. If you have trouble logging on to your VM, please provide our support team with screenshots of error messages and prompts from the Remote Console.
Windows users: Please send us a screenshot of the Task Manager.
Linux users: Please send us the output of uptime and top.
How do I get the root/admin passwords with IONOS images?
When using IONOS-provided images, you set the passwords yourself prior to provisioning.
Why does my newly provisioned server not start?
Newly provisioned servers with more than 8 GB of RAM may not start successfully when created from IONOS Windows images, because the RAM size cannot be processed during the initial configuration.
An error is displayed according to the server version; for example, Windows Server 2012 R2 displays the following message:
"Windows could not finish configuring the system. To attempt to resume configuration, restart the computer."
We recommend initially setting the RAM size to 8 GB, and rescaling it as needed after the initial provisioning and configuration is complete.
Which CPU architecture should I choose?
A CPU Family of a vCPU server cannot be chosen at the time of creation and cannot be changed later.
What do I do if the cursor in the Remote Console disappears?
When the cursor disappears after logging on to the Remote Console, you can reconnect to the server using the appropriate menu entry.
PVPanic Device
What is the PVPanic device for?
The device monitors VM/OS crashes. PVPanic is a simulated device, through which a guest panic event is sent to the hypervisor, and a QMP event is generated.
Do I need to restart the VM to get PVPanic?
No, the PVPanic device is plug-and-play. However, installing drivers may require a restart.
What happens if Windows VMs complain about an unknown device?
This is no cause for concern. First of all, you do not need to reboot the VM. However, you will need to reinstall appropriate drivers (which are provided by IONOS Cloud).
Are there any risks when enabling the use of PVPanic?
There are no issues found when enabling pvpanic. However, users cannot choose whether or not to enable the device; it is always available for use.
Something else to consider - PVPanic does not offer bidirectional communication between the VM and the hypervisor. Instead, the communication only goes from the VM towards the hypervisor.
Are there any compatibility issues with AMD or Intel processors?
There are no special requirements or limitations to any components of a virtualized server. Therefore, PVPanic is completely compatible with AMD and Intel processors.
Do we support hardware solutions?
The PVPanic device is implemented as an ISA device (using IOPORT).
Does my Linux image support the Pvpanic device?
Check the kernel config CONFIG_PVPANIC parameter.
For example:
m = PVPanic device is available as moduley = PVPanic device is native available in the kerneln = PVPanic device is not available
When the device is not available (CONFIG_PVPANIC=n), use another kernel or image.
How do I install the device driver for the pvpanic device on Windows?
For your virtual machines running Microsoft Windows, we provide an ISO image that includes all the relevant drivers for your instance. Just log into DCD, open your chosen virtual data center, add a CD-ROM drive and insert the driver ISO as shown below (this can also be done via CloudAPI).
Please note that a reboot is required to add the CD drive.
Once provisioning is complete, you can log into your OS by adding drivers for the unknown device through the Device Manager. Just enter devmgmt.msc in the Windows search bar, console, or PowerShell to open it.
Since this is a Plug & Play driver, there is no need to reboot the machine.
Boot with cloud-init
Overview
Cloud-init is a software package that automates the initialization of servers during system boot. When you deploy a new Linux server from an image, cloud-init gives you the option to set default user data. User data must be written in shell scripts or cloud-config directives using YAML syntax. This method is highly compatible across platforms and fully secure.
Compatibility: This service is supported on all public IONOS Cloud Linux distributions (Debian, CentOS, and Ubuntu). You may submit user data through the DCD or via . Existing cloud-init configurations from other providers are compatible with IONOS Cloud.
Limitations: Cloud-init is available on all public images supplied by IONOS Cloud. If you wish to use your own Linux image, please make sure that it is cloud-init supported first. Otherwise, there is no guarantee that the package will function as intended. Windows images are currently out of scope; adding them may be considered at a later stage.
Provisioning: Cloud-init can only be set at initial provisioning. It cannot be applied to instances that have already been provisioned. Settings can't be changed once provisioned.
Laptops: When using a laptop, please scroll down the properties panel, as additional fields are not immediately visible on a small screen.
Supported user data formats
This tutorial demonstrates the use of cloud-config and user-data scripts. However, the cloud-init package supports a variety of formats.
Data Format
Description
Configuring user data via DCD
1. In the DCD, create a new virtual instance and attach any storage device to it.
2. Ensure the storage device is selected. Its Inspector pane should be visible on the right.
3. When choosing the Image, you may either use your own or pick one that is supplied by IONOS.
For IONOS supplied images, select No image selected > IONOS Images.
Alternatively, for private images select No image selected > Own Images.
4. Once you choose an image, additional fields will appear in the Inspector pane.
5. A Root password is required for Remote Console access. You may change it later.
6. SSH keys are optional. You may upload a new key or use an existing file. SSH keys can also be injected as user data utilizing cloud-init.
7. You may add a specific key to the Ad-hoc SSH Key field.
8. Under Cloud-init user data, select No configuration and a window will appear.
9. Input your cloud-init data. Either use a bash script or a cloud-config file with YAML syntax. Sample scripts are provided below.
10. To complete setup, return to the Inspector and click Provision Changes. Cloud-init automatically runs at boot, applying the changes requested.
When the DCD returns the message that has been successfully completed this means the infrastructure is virtually set up. However, bootstrapping, which includes the execution of cloud-init data, may take additional time. This execution time is not included in the success message. Please allow extra time for the tasks to complete before testing.
Using shell scripts
Using shell scripts is an easy way to bootstrap a server. In the example script below, the code creates and configures our CentOS web server.
Allow enough time for the instance to launch and run the commands in your script, and then check to see that your script has completed the tasks that you intended.
The above example will install a web server and rewrite the default index.html file. To test if cloud-init bootstrapped your successfully, you can open the corresponding in your browser. You should be greeted with a “Hello World” message from your web server.
Using cloud-config directives
Cloud-init images can also be bootstrapped using cloud-config directives. The cloud-init website outlines all supported modules and gives examples of basic directives.
Modules
Examples
Example 1: Creating a swap partition
The following script is an example of how to create a swap partition with second block storage, using a YAML script:
Example 2: Resizing the file system
The following script is an example of how to resize your file system according to the chosen size of the block storage. It will also create a user with an SSH key, using a cloud-config YAML script:
Output log files
The cloud-init output log file (/var/log/cloud-init-output.log) captures console output. Depending on the default configuration for logging, a second log file exists under /var/log/cloud-init.log. **** This provides a comprehensive record based on user data.
Configuring user data via API
Cloud API provides enhanced convenience if you want to automate the provisioning and configuration of cloud instances. Cloud-init is configured on the volume resource in Cloud API V6 (or later). Please find the link to the documentation below:
Name: userData
Type: string
Description: The cloud-init configuration for the volume as base64 encoded string. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either public image or imageAliasthat has cloud-init compatibility in conjunction with this property.
is a software package that automates the initialization of during system boot. When you deploy a new Linux server from an , cloud-init gives you the option to set default user data.
User data must be written in shell scripts or cloud-config directives using YAML syntax. You can modify IONOS cloud-init's behavior via user-data. You can pass the user data in various formats to the IONOS cloud-init at launch time. Typically, this happens as a template, a parameter in the CLI, etc. This method is highly compatible across platforms and fully secure.
Boot with Cloud-Init
Overview
is a software package that automates the initialization of during system boot. When you deploy a new Linux server from an , cloud-init gives you the option to set default user data.
User data must be written in shell scripts or cloud-config directives using YAML syntax. You can modify IONOS cloud-init's behavior via user-data. You can pass the user data in various formats to the IONOS cloud-init at launch time. Typically, this happens as a template, a parameter in the CLI, etc. This method is highly compatible across platforms and fully secure.
Overview
The helps you interconnect the elements of your infrastructure and build a network to set up a functional . Virtual networks work just like normal physical networks. Transmitted data is completely isolated from other subnets and cannot be intercepted by other users.
You cannot find any switches in the DCD by design. Switching, routing, and forwarding functionality is deeply integrated into our network stack, which means we are responsible for distributing your traffic. If you wish to route from one of your to the next by means of a , the VM must be configured accordingly, and the routing table adjusted.
IP settings: By default, are assigned by our DHCP server. You can also assign IP addresses yourself. MAC addresses cannot be modified.
Firewall: In order to protect your network against unauthorized access or attacks from the Internet, you can activate the firewall for each . By default, this will block all traffic, and you need to configure the rules to specify what traffic can pass through. Ingress, Egress and Bidirectional firewalls are supported. For TCP, UDP, ICMP and ICMPv6 protocols, you can specify rules for individual source or target IPs.
Enable 2-Factor Authentication for an individual user from the User Manager panel.
Begins with #cloud-config or Content-Type: text/cloud-config.
For a commented example of supported configuration formats, see the examples.
Upstart Job
Begins with #upstart-job or Content-Type: text/upstart-job.
This content is stored in a file in /etc/init, and upstart consumes the content as per other upstart jobs.
Cloud Boothook
Begins with #cloud-boothook or Content-Type: text/cloud-boothook.
This content is boothook data. It is stored in a file under /var/lib/cloud and then runs immediately.
This is the earliest hook available. There is no mechanism provided for running it only one time. The boothook must take care of this itself. It is provided with the instance ID in the environment variable INSTANCE_ID. Use this variable to provide a once-per-instance set of boothook data
Base64
If user-data is base64-encoded, cloud-init determines if it can understand the decoded data as one of the supported types. If it understands the decoded data, it decodes the data and handles it appropriately. If not, it returns the base64 data intact.
User-Data Script
Begins with #!or Content-Type: text/x-shellscript.
The script is run by /etc/init.d/cloud-init-user-scripts during the first boot cycle. This occurs late in the boot process (after the initial configuration actions are performed).
Include File
Begins with #include or Content-Type: text/x-include-url.
The file contains a list of URLs, one per line. Each of the URLs is read, and their content is passed through this same set of rules. The content read from the URL can be MIME-multi-part or plaintext.
You may either use an IONOS image or upload your own via FTP and select it instead.
Configuration of Cloud-init User Data
Cloud Config data
Compatibility: This service is supported on all public IONOS Cloud Linux distributions. You may submit user data through the DCD or via Cloud API. Existing cloud-init configurations from other providers are compatible with IONOS Cloud.
Limitations: Cloud-init is available on all public Linux images supplied by IONOS Cloud. If you wish to use your own Linux image, please make sure that it is cloud-init supported first. Otherwise, there is no guarantee that the package will function as intended. Windows images are currently out of scope; adding them may be considered at a later stage.
Provisioning: Cloud-init can only be set at initial provisioning. It cannot be applied to instances that have already been provisioned. Settings cannot be changed once provisioned.
Laptops: When using a laptop, scroll down the properties panel of the block storage volume that you want to create and configure, as additional fields are not immediately visible on a small screen. Clout-Init may only become visible when an supported image has been selected.
Supported user data formats
The following table demonstrates the use of cloud-config and user-data scripts. However, the cloud-init package supports a variety of formats.
Data Format
Description
Base64
If the user data is base64 encoded, cloud-init verifies whether the decoded data is one of the supported types. It decodes and handles the decoded data appropriately if it comprehends it. If not, the base64 data is returned unaltered.
User-Data Script
Begins with #! or Content-Type: text/x-shellscript. The script is run by /etc/init.d/cloud-init-user-scripts during the first boot cycle. This occurs late in the boot process after the initial configuration actions are performed.
Include File
Begins with #include or Content-Type: text/x-include-url. The include file is the content. It contains a collection of URLs, one in each line. Each URL is read, and its content passes through the same set of rules. The content read from the URL can be MIME-multi-part or plaintext.
Configuring user data via the DCD
Log in to the DCD with your username and password.
In the Workspace, create a new virtual instance and attach any storage device to it.
Select the storage device and from the Inspector pane associate an Image with it.
To associate a private image, select Own Images from the drop-down list.
To associate a public image, select IONOS Images from the drop-down list.
Once you choose an image, additional fields will appear in the Inspector pane.
You may either use an IONOS image or upload your own via FTP and select it instead.
Enter a Password. It is required for Remote Console access. You may change it later.
(Optional) Upload a new SSH key or use an existing file. SSH Keys can also be injected as user data utilizing cloud-init.
(Optional) Add a specific key to the Ad-hoc SSH Key field.
Select No configuration for Cloud-Init user data and the Cloud-Init User Data window appears.
Enter your User Data either using a bash script or a cloud-config file with a YAML syntax. For sample scripts, see , , and .
Configuration of Cloud-init User Data
To complete setup, return to the Inspector pane and click Provision Changes.
Result: At boot, Cloud-Init executes automatically and applies the specified changes. The DCD returns a message when provisioning is complete, indicating that the infrastructure is virtually ready. However, bootstrapping, which includes the execution of cloud-init data, may require additional time. The message that DCD returns does not mention the additional time required for execution. We recommend allowing extra time for task completion before testing.
Use shell scripts
Using shell scripts is an easy way to bootstrap a server. The code creates, installs, and configures our CentOS web server in the following example. It also rewrites the default index.html file.
Note: Allow enough time for the instance to launch and run the commands in your script, and later verify if your script has completed the tasks you intended.
To test if the cloud-init bootstrapped your VM successfully, you can open the corresponding IP address in your browser. You will be greeted with a “Hello World” message from your web server.
Use cloud-config directives
You can also bootstrap cloud-init images using cloud-config directives. The cloud-init website outlines all the supported modules and provides examples of basic directives.
Example 1: Create a swap partition
The following script is an example of how to create a swap partition with second block storage using a YAML script:
Example 2: Resize the file system
The following script is an example of how to resize your file system according to the chosen size of the block storage. It will also create a user with an SSH key using a cloud-config YAML script:
Output log files
The cloud-init output log file (/var/log/cloud-init-output.log) captures console output. Depending on the default configuration for logging, a second log file exists within /var/log/cloud-init.log. This provides a comprehensive record based on the user data.
Configure user data via API
The cloud API offers increased convenience if you want to automate the provisioning and configuration of cloud instances. Enter the following details:
Name: Enter the userData.
Type: Enter the type in the form of a string.
Description: The cloud-init configuration for the volume as base64 encoded string. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either public image or imageAliasthat has cloud-init compatibility in conjunction with this property.
Cloud-init is configured on the volume resource for cloud API V6 or later versions. For more information, see CLOUD API (6.0).
Curl example
The following script is an example of how to configure userData using curl:
Compatibility: This service is supported on all public IONOS Cloud Linux distributions. You may submit user data through the DCD or via Cloud API. Existing cloud-init configurations from other providers are compatible with IONOS Cloud.
Limitations: Cloud-init is available on all public Linux images supplied by IONOS Cloud. If you wish to use your own Linux image, please make sure that it is cloud-init supported first. Otherwise, there is no guarantee that the package will function as intended. Windows images are currently out of scope; adding them may be considered at a later stage.
Provisioning: Cloud-init can only be set at initial provisioning. It cannot be applied to instances that have already been provisioned. Settings cannot be changed once provisioned.
Laptops: When using a laptop, scroll down the properties panel of the block storage volume that you want to create and configure, as additional fields are not immediately visible on a small screen. Clout-Init may only become visible when an supported image has been selected.
Supported user data formats
The following table demonstrates the use of cloud-config and user-data scripts. However, the cloud-init package supports a variety of formats.
Data Format
Description
Base64
If the user data is base64 encoded, cloud-init verifies whether the decoded data is one of the supported types. It decodes and handles the decoded data appropriately if it comprehends it. If not, the base64 data is returned unaltered.
User-Data Script
Begins with #! or Content-Type: text/x-shellscript. The script is run by /etc/init.d/cloud-init-user-scripts during the first boot cycle. This occurs late in the boot process after the initial configuration actions are performed.
Include File
Begins with #include or Content-Type: text/x-include-url. The include file is the content. It contains a collection of URLs, one in each line. Each URL is read, and its content passes through the same set of rules. The content read from the URL can be MIME-multi-part or plaintext.
Configuring user data via the DCD
Log in to the DCD with your username and password.
In the Workspace, create a new virtual instance and attach any storage device to it.
Select the storage device and from the Inspector pane associate an Image with it.
To associate a private image, select Own Images from the drop-down list.
To associate a public image, select IONOS Images from the drop-down list.
Once you choose an image, additional fields will appear in the Inspector pane.
You may either use an IONOS image or upload your own via FTP and select it instead.
Enter a Password. It is required for Remote Console access. You may change it later.
(Optional) Upload a new SSH key or use an existing file. SSH Keys can also be injected as user data utilizing cloud-init.
(Optional) Add a specific key to the Ad-hoc SSH Key field.
Select No configuration for Cloud-Init user data and the Cloud-Init User Data window appears.
Enter your User Data either using a bash script or a cloud-config file with a YAML syntax. For sample scripts, see , , and .
Configuration of Cloud-init User Data
To complete setup, return to the Inspector pane and click Provision Changes.
Result: At boot, Cloud-Init executes automatically and applies the specified changes. The DCD returns a message when provisioning is complete, indicating that the infrastructure is virtually ready. However, bootstrapping, which includes the execution of cloud-init data, may require additional time. The message that DCD returns does not mention the additional time required for execution. We recommend allowing extra time for task completion before testing.
Use shell scripts
Using shell scripts is an easy way to bootstrap a server. The code creates, installs, and configures our CentOS web server in the following example. It also rewrites the default index.html file.
Note: Allow enough time for the instance to launch and run the commands in your script, and later verify if your script has completed the tasks you intended.
To test if the cloud-init bootstrapped your VM successfully, you can open the corresponding IP address in your browser. You will be greeted with a “Hello World” message from your web server.
Use cloud-config directives
You can also bootstrap cloud-init images using cloud-config directives. The cloud-init website outlines all the supported modules and provides examples of basic directives.
Example 1: Create a swap partition
The following script is an example of how to create a swap partition with second block storage using a YAML script:
Example 2: Resize the file system
The following script is an example of how to resize your file system according to the chosen size of the block storage. It will also create a user with an SSH key using a cloud-config YAML script:
Output log files
The cloud-init output log file (/var/log/cloud-init-output.log) captures console output. Depending on the default configuration for logging, a second log file exists within /var/log/cloud-init.log. This provides a comprehensive record based on the user data.
Configure user data via API
The cloud API offers increased convenience if you want to automate the provisioning and configuration of cloud instances. Enter the following details:
Name: Enter the userData.
Type: Enter the type in the form of a string.
Description: The cloud-init configuration for the volume as base64 encoded string. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either public image or imageAliasthat has cloud-init compatibility in conjunction with this property.
Cloud-init is configured on the volume resource for cloud API V6 or later versions. For more information, see CLOUD API (6.0).
Curl example
The following script is an example of how to configure userData using curl:
IONOS Cloud allows virtual entities to be equipped with network cards (“network interface cards”; NICs). Only by using these virtual network interface cards, it is possible to connect multiple virtual entities together and/or to the Internet.
Parameter
Size
Performance
Throughput, internal
MTU 1,500
Up to 6 Gbps
Throughput, external
MTU 1,500
The maximum external throughput may only be achieved with a corresponding upstream of the provider.
Compatibility
The use of virtual MAC addresses and/or the changing of the MAC address of a network adapter is not supported. Among others, this limitation also applies to the use of CARP (Common Address Redundancy Protocol).
Gratuitous ARP (RFC 826) is supported.
Virtual Router Redundancy Protocol (VRRP) is supported based on gratuitous ARP. For VRRP to work IP failover groups must be configured.
External Network
Depending on the location, different capacities for transmitting data to or from the Internet are available for operating the IONOS Cloud service. Due to the direct connection between the data centers at the German locations, the upstream can be used across locations.
The total capacities of the respective locations are described below:
Location
Connection
Redundancy level
AS
Berlin (DE)
2 x 100 Gbps
N+1
AS-8560
Frankfurt am Main (DE)
IONOS backbone AS-8560, to which IONOS Cloud is redundantly connected, has a high-quality edge capacity of 1.100 Gbps with 2.800 IPv4/IPv6 peering sessions, available in the following Internet and peering exchange points: AMS-IX, BW-IX, DE-CIX, ECIX, Equinix, FranceIX, KCIX, LINX.
Internal Network
IONOS Cloud operates redundant networks at each location. All networks are operated using the latest components from brand manufacturers with connections up to 100 Gbps.
IONOS Cloud uses high-speed networks based on InfiniBand technology both for connecting the central storage systems and for handling internal data connections between customer servers.
Core Network
IONOS Cloud operates a high availability core network at each location for the redundant connection of the product platform. All services provided by IONOS Cloud are connected to the Internet via this core network.
The core network consists exclusively of devices from brand manufacturers. The network connections are completed via an optical transmission network, which, by use of advanced technologies, can provide transmission capacities of several hundred gigabits per second. Connection to important Internet locations in Europe and America guarantees the customer an optimal connection at all times.
Data is not forwarded to third countries. At the customer’s explicit request, the customer can opt for support in a data center in a third country. In the interests of guaranteeing a suitable data protection level, this requires a separate agreement (within the meaning of article 44-50 DSGVO and §§ 78 ff. BDSG 2018).
IP Address Management
IONOS Cloud provides the customer with public IP addresses that, depending on the intended use, can be booked either permanently or for the duration for which a server exists. These IP addresses provided by IONOS Cloud are only needed if connections are to be established over the internet. Internally, VMs can be freely networked. For this, IONOS Cloud offers a DHCP server that allows assignment of IP addresses. However, one can establish one’s own addressing scheme.
Every virtual network interface card that is connected to the internet is automatically assigned a public IPv4 address by DHCP. This IPv4 address is dynamic, meaning it can change while the server is operational or in the case of a restart.
Customers can reserve static public IPv4 addresses for a fee. These reserved IPv4 addresses can be assigned to a virtual network interface card, which is connected to the internet, as primary or additional IP addresses.
Private IPv4 Addresses
In networks that are not connected to the Internet, each virtual network interface card is automatically assigned a private IPv4 address. This is assigned by the DHCP service. These IPv4 addresses are assigned statically to the MAC addresses of the virtual network interface cards.
The use of the IP address assignment can be enabled or disabled for each network interface card. Any private IPv4 addresses pursuant to RFC 1918 can be used in private networks.
Network
address range
CIDR
notation
Abbreviated CIDR notation
Number of
addresses
Number of networks as per network class
(historical)
10.0.0.0 to 10.255.255.255
10.0.0.0/8
10/8
224 =
16.777.216
Public IPv6 Addresses
By default, every VDC is assigned a public /56 IPv6 CIDR block. Customers can choose to enable IPv6 in a LAN as per their needs and a maximum of 256 IPv6 enabled LANs can be created per VDC. On enabling IPv6 in a LAN, the customer can either select a /64 IPv6 CIDR block from the /56 IPv6 CIDR block assigned to the VDC or have a /64 block automatically assigned to the LAN. Public IPv6 addresses are assigned to both private and public LANs.
Every connected virtual NIC is then assigned a /80 IPv6 CIDR block and a single /128 IPv6 address either automatically, or the customer can also select both. The /80 and /128 address must both be assigned from the /64 IPv6 CIDR block assigned to the corresponding LAN. The first public IPv6 address is assigned by DHCP and in total a maximum of 50 IPv6 addresses can be assigned per NIC. IPv6 addresses are static, meaning they remain assigned in the case of a VM restart.
DDoS Protect
IONOS DDoS Protect is a managed Distributed Denial of Service defense mechanism, which ensures that every customer resource hosted on IONOS Cloud is secure and resilient against Layer 3 and Layer 4 DDoS attacks. This is facilitated by a filtering and scrubbing technology, which in event detection of an attack filters the malicious DDoS traffic and lets through only the genuine traffic to its original destination. Hence, enabling applications and services of our customers to remain available under a DDoS attack.
Known attack vectors regularly evolve and new attack methods are added. IONOS Cloud monitors this evolution and dedicates resources to adapt and enhance DDoS Protect as much as possible to capture and mitigate the threat.
The service is available in all of our data centers.
The service is available in two packages:
DDoS Protect Basic: This package is enabled by default for all customers and does not require any configuration. It provides basic DDoS Protection for every resource on IONOS Cloud from common volumetric and protocol attacks and has the following features:
DDoS traffic filtering - All suspicious traffic is redirected to the filtering platform where the DDoS traffic is filtered and the genuine traffic is allowed to the original destination.
Always-On attack detection - The service is always on by default for all customers and does not require any added configuration or subscription.
Automatic Containment - Each time an attack is identified the system automatically triggers the containment of the DDoS attack by activating the DDoS traffic and letting through only genuine traffic.
Protect against common Layer 3 and 4 attacks - This service protects every resource on IONOS Cloud from common volumetric and protocol attacks in the Network and Transport Layer such as UDP, SYN floods, etc.
DDoS Protect Advanced: This package offers everything that's part of the DDoS Protect Basic package plus advanced security measures and support.
24/7 DDoS Expert Support - Customers have 24/7 access to IONOS Cloud DDoS expert support. The team is available to assist customers with their concerns regarding ongoing DDoS attacks or any related issues.
Proactive Support - The IONOS Cloud DDoS support team, equipped with alarms, will proactively respond to a DDoS attack directed towards a customer's resources and also notify the customer in such an event.
On-demand IP specific DDoS filtering - If a customer suspects or anticipates a DDoS attack at any point in time, he can request to enable DDoS filtering for a specific IP or server owned by him. Once enabled, all traffic directed to that IP will be redirected to the IONOS Cloud filtering platform where DDoS traffic will be filtered and genuine traffic will be passed to the original destination.
On-demand Attack Diagnosis - At the customer's request, a detailed report of a DDoS attack is sent to the customer, explaining the attack and other relevant details.
Note! IONOS Cloud sets forth Security as a Shared Responsibility between IONOS Cloud and the customer. We at IONOS Cloud strive at offering a state-of-the-art DDoS defense mechanism. Successful DDoS defense can only be achieved by a collective effort on all aspects including optimal use of firewalls and other settings in the customer environment.
To set up a database inside an existing datacenter, you should have at least one server in a private LAN.
You need to choose an IP address, under which the database leader should be made available.
There is currently no IP address management for databases. If you use your own subnet, you may use any IP address in that subnet. If you rely on DHCP for your servers, then you must pick an IP address of the subnet that is assigned to you by IONOS.
To find the subnet you can look at the NIC configuration. To prevent a collision with the DHCP IP range, pick an IP between x.x.x.3/24 and x.x.x.10/24 (which are never assigned by DHCP).
Caution: The deletion of a LAN with an attached database is forbidden. A special label deleteprotected will be attached to the LAN. If you want to delete the LAN, either attach the database to a different LAN (via PATCH request to update the database) or delete the database.
Alternatively, you can detach a database from the LAN to delete it. The database will remain disconnected.
Resource considerations
CPU, RAM, storage, and number of database clusters are counted against quotas. Contact to determine your RAM requirements.
Database performance depends on the storage type. Choose the type that is suitable for your workload.
The are stored alongside the database. The amount of WAL files can grow and shrink depending on your workload. Plan your storage size accordingly.
Database backups
All database clusters are backed up automatically. You can choose the location where cluster backups are stored by providing the backupLocation parameter as part of the cluster properties during cluster creation. When no backup location is provided it defaults to be the closest available location to your clusters' location. As of now, the backup location can't be changed after creation.
Note: Having the backup in the same location as your database increases the risk of data loss in case a whole location would experience a disaster. On the other hand chosing a remote location may impact the performance during node recreation.
Creating the cluster
This request will create a database cluster with two instances of PostgreSQL version 15.
Note: Only contract admins, owners, and users with "Access and manage DBaaS" privilege are allowed to create and manage databases. When a database is created it can be accessed in the specified LAN by using username and password specified during creation.
Note: This is the only opportunity to set the username and password via the API. The API does not provide a way to change the credentials yet. However, you can change them later by using raw SQL.
The datacenter must be provided as a UUID. The easiest way to retrieve the UUID is through the .
Note: The sample UUID is 498ae72f-411f-11eb-9d07-046c59cc737e
Request
Response
Your values will differ from those in the sample code. Your response will have different IDs, timestamps etc.
At this point, you have created your first PostgreSQL cluster. The deployment of the database will take 20 to 30 minutes. You can check if the request was correctly executed.
Note that the state will show as BUSY
Querying database status
Note: The sample UUID is 498ae72f-411f-11eb-9d07-046c59cc737e
You may have noticed that the state is BUSY and that the database is not yet reachable. This is because the cloud will create a completely new cluster and needs to provision new nodes for all the requested replicas. This process runs asynchronously in the background and might take up to 30 minutes.
The notification mechanism is not available yet. However, you can poll the API to see when the state switches to AVAILABLE.
Request
To query a single cluster, you will require the id from your "create" response.
If you don't know your PostgreSQL cluster ID, you can also list all clusters and look for the one for which to query the status.
Response
Note: You cannot configure the port. Your cluster runs in the default port 5432.
Connect to cluster
Now that everything is set up and successfully created, you can connect to your PostgreSQL cluster. Initially, the cluster only contains one database, called postgres, to which you can connect. For example, using psql and the credentials that you set in the POST request above you can connect with this:
Alternatively, you can also use the DNS Name returned in the response instead of the IP address. This record will also be updated when you change the IP address in the future:
This initial user is no superuser, for security reasons and to prevent conflicts with our management tooling. It only has CREATEDB and CREATEROLE, but not SUPERUSER, REPLICATION or BYPASSRLS (row level security) permissions ().
The following roles are available to grant: cron_admin, pg_monitor, pg_read_all_stats, and pg_stat_scan_tables, see list of .
Initial setup of databases, users, tables etc
Creating additional users, roles, databases, schemas, and other objects must be done by you yourself from inside SQL. Since this highly depends on your architecture, just some pointers:
Database
The PUBLIC role is a special role, in the sense that all database users inherit these permissions. This is also important if you want to have a user without write permissions, since by default PUBLIC is allowed to write to the public schema.
The official docs have a detailed walkthrough on .
Roles
If you want multiple user with the same permissions, you can group them in a role and GRANT the role to the users later.
For improved security you should only grant the required permissions. If you e.g. want to grant permission to a specific table, you also need to grant permissions to the schema:
To set the default privileges for new object in the future, see .
Users
Users are basically just roles with the LOGIN permission, so everything from above also applies.
Also see the docs on .
Congratulations: You now have a ready to use PostgreSQL cluster!
#!/bin/bash
# Use this for your user data (script from top to bottom)
# install httpd (Linux 2 version)
yum update -y
yum install -y httpd
systemctl start httpd
systemctl enable httpd
echo "<h1>Hello World from $(hostname -f)</h1>" > /var/www/html/index.html
#!/bin/bash
# Use this for your user data (script from top to bottom)
# install httpd (Linux 2 version)
yum update -y
yum install -y httpd
systemctl start httpd
systemctl enable httpd
echo "<h1>Hello World from $(hostname -f)</h1>" > /var/www/html/index.html
#!/bin/bash
# Use this for your user data (script from top to bottom)
# install httpd (Linux 2 version)
yum update -y
yum install -y httpd
systemctl start httpd
systemctl enable httpd
echo "<h1>Hello World from $(hostname -f)</h1>" > /var/www/html/index.html
Class A:
1 private network with 16,777,216 addresses;
10.0.0.0/8
172.16.0.0 to 172.31.255.255
172.16.0.0/12
172.16/12
220 =
1.048.576
Class B:
16 private networks with 65,536 addresses;
172.16.0.0/16 to 172.31.0.0/16
192.168.0.0 to 192.168.255.255
192.168.0.0/16
192.168/16
216 =
65.536
Class C:
256 private networks with 256 addresses;
192.168.0.0/24 to 192.168.255.0/24
Cloud Config data
Begins with #cloud-config or Content-Type: text/cloud-config. For a commented example of supported configuration formats, see the examples.
Upstart Job
Begins with #upstart-job or Content-Type: text/upstart-job. This content is stored within a file in /etc/init, and upstart uses the content similar to other upstart jobs.
Cloud Boothook
Begins with #cloud-boothook or Content-Type: text/cloud-boothook. The boothook data is the content, which is stored in a file within /var/lib/cloud and executed immediately. This becomes the earliest hook and does not have any mechanism for executing it only one time. The must be handled by the boothook itself. It is provided with the instance ID in the environment variable INSTANCE_ID. Use this variable to provide a once-per-instance set of boothook data.
Begins with #cloud-config or Content-Type: text/cloud-config. For a commented example of supported configuration formats, see the examples.
Upstart Job
Begins with #upstart-job or Content-Type: text/upstart-job. This content is stored within a file in /etc/init, and upstart uses the content similar to other upstart jobs.
Cloud Boothook
Begins with #cloud-boothook or Content-Type: text/cloud-boothook. The boothook data is the content, which is stored in a file within /var/lib/cloud and executed immediately. This becomes the earliest hook and does not have any mechanism for executing it only one time. The must be handled by the boothook itself. It is provided with the instance ID in the environment variable INSTANCE_ID. Use this variable to provide a once-per-instance set of boothook data.
CREATE DATABASE example;
REVOKE ALL ON DATABASE example FROM PUBLIC;
CREATE ROLE role;
GRANT CONNECT ON DATABASE example TO role;
-- to grant all permissions in that database:
GRANT ALL ON DATABASE example TO role;
GRANT USAGE ON SCHEMA example TO role;
GRANT SELECT ON TABLE example TO role;
CREATE USER user WITH PASSWORD 'some_secret_passwd';
GRANT role TO user;
API How-Tos
The Cloud API lets you manage Cloud Cubes resources programmatically using conventional HTTP requests. All the functionality available in the IONOS Cloud Data Center Designer is also available through the API.
You can use the API to create, destroy, and retrieve information about your Cubes. You can also use the API to suspend or resume your Cubes.
However, not all actions are shared between Dedicated Core Servers and Cloud Cubes. Since Cubes come with direct-attached storage, a composite call is required for setup.
Furthermore, when provisioning Cubes, Templates must be used. Templates will not be compatible with Servers that still support full flex configuration.
APIs & SDKs
Retrieving available Templates and Template details
This method retrieves a list of configuration templates that are currently available. Instances have a fixed configuration of vCPU, RAM and direct-attached storage size.
Retrieves Template information. Refine your request by adding the optional query parameter
depth
. The response will show a template's ID, number of cores, ram and storage size.
Path Parameters
Name
Type
Description
Query Parameters
Name
Type
Description
Creating instances with composite calls
A composite call doesn't only configure a single instance but also defines additional devices. This is required because a Cloud Cube must include a direct-attached storage device. An instance cannot be provisioned and then mounted with a direct-attached storage volume. Composite calls are used to execute a series of requests into a single API call. You can use the output of one request as the input for a subsequent request.
The payload of a composite call to configure a Cubes instance is different from that of a POST request to create an enterprise server. In a single request you can create a new instance, as well as its direct-attached storage device and image (public image, private image, or snapshot). When the request is processed, a Cubes instance is created and the direct-attached storage is mounted automatically.
Deleting an instance also deletes the direct-attached storage NVMe volume. You should make a snapshot first in case you need to recreate the instance with the appropriate data device later.
Managing users and databases
Users (i.e. roles with LOGIN privileges) and databases can be created using the documented SQL commands. The API provides an alternative way to manage these objects.
Each response from the API will include some standard attributes for metadata and pagination (for collections) which follow the IONOS API standards. Most of these will be omitted from the response examples for brevity.
Type, ID and Pagination in collections
Type, ID and Metadata for resources
If a resource is:
not created via the API, its createdBy field ends with _unmanaged_.
a read-only system resource, its createdBy field ends with _system_.
Managing users
The endpoint for user management of a postgresql cluster is /users.
List all users
A GET request will give you a list of all users. Use the limit and offset parameters to control pagination.
Response
List system users
Set the system parameter to true to view system users too. These users are required for administration purposes and cannot be changed or deleted.
Response
Retrieve a single user
A single user can be retrieved by their name using a GET request.
Response
Create a user
With the POST request, you can create a new user and set the login password.
Response
The created user is returned.
Remove a user
Use a DELETE request to remove a user. System users cannot be deleted.
Response
The response body is empty.
Change the login password
With the PATCH request, you can change the login password.
Response
The updated user is returned. The password is never returned, though.
Managing databases
The endpoint for database management of a postgresql cluster is /databases.
List all databases
A GET request will give you a list of all databases. Use the limit and offset parameters to control pagination.
Response
Retrieve a single database
A single database can be retrieved by its name using a GET request.
Response
Create a database
Use a POST request to create a new database. It must specify both the name and the owner.
DBaaS for PostgreSQL is fully integrated into the and has a dedicated . You may also launch it via automation tools like and .
Compatibility: DBaaS gives you access to the capabilities of the PostgreSQL database engine. This means that the code, applications, and tools you already use today with your existing databases can be used with DBaaS. IONOS Cloud currently supports PostgreSQL versions 12, 13, 14, and 15.
Deprecation Notice: Version 11 is currently still supported but will reach end of life on 9 Nov 2023 (see Postgresql documentation). It will soon be removed from IONOS Cloud.
Locations: As of December 2022, DBaaS is offered in all IONOS Cloud Locations.
Features
Scalable: Fully managed clusters that can be scaled on demand.
High availability: Multi-node clusters with automatic node failure handling.
Security: Communication between clients and the cluster is encrypted using TLS certificates from Let's Encrypt.
Upgrades: Customer-defined maintenance windows, with minimal disruption due to planned failover (approx. few seconds for multi-node clusters).
Backup: Base backups are carried out daily, with Point-in-Time recovery for one week.
Cloning: Customers also have the option to clone clusters via backups.
Restore: Databases can be restored in place or to a different target cluster.
Resources: Offered on Enterprise VM, with a dedicated CPU, storage, and RAM. Storage options are SSD or HDD, with SSD now including encryption-at-rest.
Network: DBaaS supports private LANs.
Extensions: DBaaS supports several .
Platform Tasks
Note: IONOS Cloud doesn’t allow superuser access for PostgreSQL services. However, most DBA-type actions are still available through other methods.
DBaaS services offered by IONOS Cloud:
Our platform is responsible for all back-end operations required to maintain your database in optimal operational health.
Database installation via the DCD or the DBaaS API.
Pre-set database configuration and configuration management options.
Automation of backups for a period of 7 days.
Regular patches and upgrades during maintenance.
Disaster recovery via automated backup.
Service monitoring: both for the database and the underlying infrastructure.
Customer database administration duties:
Tasks related to the optimal health of the database remain the responsibility of the customer. These include:
Optimisation.
Data organisation.
Creation of indexes.
Updating statistics.
Consultation of access plans to optimize queries.
Logs: The logs that are generated by a database are stored on the same disk as the database. We provide logs for connections, disconnections, waiting for locks, DDL statements, any statement that ran for at least 500 ms, and any statement that caused an error (see PostgreSQL documentation). Currently, we do not provide an option to change this configuration.
To conserve disk space, log files are rotated according to size. Logs should not consume more than 175 MB of disk storage. The files are continuously monitored and log messages are shipped to a central storage location with a retention policy of 30 days.
Write-Ahead Logs: PostgreSQL uses Write Ahead Logs (WAL) for continuous archiving and point-in-time recovery. These logs are created in addition to the regular logs.
Every change to the database is recorded in the WAL record. WALs are generated along with daily base backups and offer a consistent snapshot of the database as it was at that time. WALs and backups are automatically deleted after 7 days, which is the earliest point in time you can recover from. Please consult PostgreSQL WAL documentation for more information.
Password encryption: Client libraries must support SCRAM-SHA-256 authentication. Make sure to use an up-to-date client library.
Connection encryption: All client connections are encrypted using TLS; the default SSL mode is prefer and clients cannot disable it. Server certificates are issued by Let's Encrypt and the root certificate is ISRG Root X1. This needs to be made available to the client for verify-ca and verify-full to function.
Certificates are issued for the DNS name of the cluster which is assigned automatically during creation and will look similar to pg-abc123.postgresql.de-txl.ionos.com. It is available via the IONOS API as the dnsName property of the cluster resource.
Here is how to verify the certificate using the psql command line tool:
Resource Usage
Resource quotas: Each customer contract is allotted a resource quota. The available number of CPUs, RAM, storage, and database clusters is added to the default limitations for a VDC contract.
16 CPU Cores
32 GB RAM
1500 GB Disk Space
10 database clusters
5 nodes within a cluster
Additionally, a single instance of your database cluster can not exceed 16 cores and 32GB RAM.
Calculating RAM Requirements: The RAM size must be chosen carefully. There is 1 GB of RAM reserved to capture resource reservation for OS system daemons. Additionally, internal services and tools use up to 500 MB of RAM. To choose a suitable RAM size, the following formula must be used.
ram_size = base_consumption + X * work_mem + shared_buffers
The base_consumption and reservation of internal services is approximately 1500 MB.
X is the number of parallel connections. The value work_mem is set to 8 MB by default.
The shared_buffersis set to about 15% of the total RAM.
Calculating Disk Requirements:
The requested disk space is used to store all the data that Postgres is working with, incl. database logs and WAL segments. Each Postgres instance has its storage (of the configured size). The operating system and applications are kept separately (outside of the configured storage) and are managed by IONOS.
If the disk runs full Postgres will reject write requests. Make sure that you order enough margin to keep the Postgres cluster operational. You can monitor the storage utilization in DCD.
WAL segments: In normal operation mode, older WAL files will be deleted once they have been replicated to the other instances and backed up to archive. If either of the two shipments is slow or failing then WAL files will be kept until the replicas and archive catch up again. Account for enough margin, especially for databases with high write load.
Log files: Database log files (175 MB) and auxiliary service log files (~100 MB) are stored on the same disk as the database.
Limitations
Connection Limits: The value for max_connections is calculated based on RAM size.
RAM size
max_connections
2GB
128
3GB
256
4GB
384
The superuser needs to maintain the state and integrity of the database, which is why the platform reserves 11 connections for internal use: connections for superusers (see superuser_reserved_connections), for replication.
CPU: The total upper limit for CPU cores depends on your quota. A single instance cannot exceed 16 cores.
RAM: The total upper limit for RAM depends on your quota. A single instance cannot exceed 32 GB.
Storage: The upper limit for storage size is 2 TB.
Backups: Storing cluster backups in an IONOS S3 Object Storage is limited to the last 7 days.
IP Ranges: The following IP ranges cannot be used with our PostgreSQL services:
10.208.0.0/12
10.233.0.0/18
192.168.230.0/24
10.233.64.0/18
Performance Considerations
Database instances are placed in the same location as your specified LAN, so network performance should be comparable to other machines in your LAN.
Estimates: A test with pgbench (scaling factor 1000, 20 connections, duration 300 seconds, not showing detailed logs) and a single small instance (2 cores, 3 GB RAM, 20 GB HDD) resulted in around 830 transactions per second (read and write mixed) and 1100 transactions per second (read-only). For a larger instance (4 cores, 8 GB RAM, 600GB Premium SSD) the results were around 3400 (read and write) and 19000 (read-only) transactions per second. The database was initialized using pgbench -i -s 1000 -h <ip> -U <username> <dbname>. For benchmarking the command line used was pgbench -c 20 -T 300 -h <ip> -U <username> <dbname> for the read/write tests, and pgbench -c 20 -T 300 -S -h <ip> -U <username> <dbname> for the read-only tests.
Note: To cite the pgbench docs: "It is very easy to use pgbench to produce completely meaningless numbers". The numbers shown here are only ballpark figures and there are no performance guarantees. The real performance will vary depending on your workload, the IONOS location, and several other factors.
Activate Extensions
Available PostgreSQL extensions
There are several PostgreSQL extensions preinstalled, that you can enable for your cluster. You can enable the extension by logging into your cluster and executing:
The following table shows which extensions are enabled by default and which can be enabled (PostgreSQL version 12):
Extension
Enabled
Version
Description
plpython3u
X
1.0
PL/Python3U untrusted procedural language
pg_stat_statements
Note: With select * from pg_available_extensions; you will see more available extensions, but many of them can't be enabled or used without superuser rights and thus aren't listed here.
For every network interface, you can activate a firewall, which will block all incoming traffic by default. You must specify the rules that define which protocols will pass through the firewall, and which ports are enabled. For instructions on how to set up a firewall, see .
The IONOS firewall offered in the DCD can be used for simple protection for THE hosts behind it. Once activated, all incoming traffic is blocked. The traffic can only pass through the ports that are explicitly enabled. Outgoing traffic is generally permitted. We recommend that you set up your firewall VM, even for small networks. There are many cost-free options, including IP tables for Linux, pfSense FreeBSD, and various solutions for Windows.
Yes, there are DNS resolvers. Valid everywhere IP addresses for 1&1 resolvers are:
212.227.123.16
212.227.123.17
2001: 8d8: fe: 53: 72ec :: 1
2001: 8d8: fe: 53: 72ec :: 2
By adding a public DNS resolver you will provide a certain level of redundancy for your systems.
How do I create reverse DNS entries?
Reverse DNS entries for IPv4 addresses can be created with IONOS Cloud DNS. For instructions on how to create reverse DNS entries, see Create and manage a Reverse DNS Entry. To create a reverse DNS entry for IPv6 addresses, please contact IONOS Cloud Support.
What is the IP address of my new server?
Once a server has been provisioned, you can find its IP address by following the procedure below:
Open VDC
Select the server, for which you wish to know the IP
Select the Network tab in the Inspector
Open the properties of the NIC
The IPv4 and IPv6 addresses are listed in the Primary IP field.
How can I connect multiple servers to the Internet?
The internet access element can connect to more than one server. Simply add multiple virtual machines to provide them all with internet access.
How can I get additional IPs for my server?
Users with the appropriate privileges can reserve and release additional IP addresses. Additional addresses are made available as part of a reserved consecutive IP block. For IPv6, you can add up to 50 addresses without any reservation.
The public IP address assigned by DHCP will remain with your server. The IP address, however, may change when you deallocate your VM (power stop) or remove the network interface. We, therefore, recommend assigning reserved IPs when static IPs are required, such as for web servers. IPv6 addresses are not removed on deallocating your VM.
Can I use my own DHCP server?
Yes, you can. To make sure that a network interface will be addressed from your own DHCP server, perform the following steps:
Open your data center
Select the NIC
Open the properties of the NIC in the Inspector
Clear the DHCP check box
This will disable the allocation of IPs to this NIC by IONOS DHCP, and then you can use your own DHCP server to allocate information for this interface.
How do I set up DHCP during a Linux installation?
We preset the subnet mask 255.255.255.255 for the DHCP allocation of public IPs. Unfortunately, this is not supported by all DHCP clients. You can perform network configuration at the operating system level or specify the netmask 255.255.255.0 using a configuration file.
How do I assign an IP address to a Linux server manually if DHCP fails?
DHCP configurations may fail during the installation of Linux distributions that do not support /32 subnet mask configurations. If this happens, the IP address can be assigned manually using the Remote Console.
Example
Network interface "eth0" is being assigned P address "46.16.73.50" and subnet mask "/24" ("255.255.255.0"). For the internet access to work, the IP address of the gateway (which is "46.16.73.1" in this example) must also be specified.
Command-line:
ifconfig eth0 46.16.73.50 netmask 255.255.255.0
route add default gw 46.16.73.1
Config file:
Modify the "interface" file in the "/etc/networking/" folder as follows:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug eth0
iface eth0 inet static
address 46.16.73.50
netmask 255.255.255.0
gateway 46.16.73.1
Restart the interfaces:
ifdown eth0
ifup eth0
Which IP versions are supported?
We support both IPv4 and IPv6 versions.
What is the maximum bandwidth of your data centers?
Our data centers are connected as follows:
Data center Bandwidth
Location
Bandwidth in Gbit/s
Karlsruhe (DE)
4 x 10
Frankfurt (DE)
2 x 40 & 3 x 10
Berlin (DE)
2 x 10
What should I do if the network does not work?
First, attempt to log on to the VM with the Remote Console. If this is successful, please collect the information we will need to help you resolve the issue as described below.
We will need to know the following:
VM name
IP address
URLs of web applications running on your VM
We will need the output of the following commands:
Windows
ping Hostname
date /t
time /t
route print
ipconfig /all
netstat
netstat -e
route print or netstat -r
tracert and ping in/out
nslookup hostname DNS-Server
nslookup hostname DNS-Server
Linux
date
traceroute
ping Hostname
The output of the following commands can also give important clues:
arp -n
ip address list
ip route show
ip neighbour show
iptables --list --numeric --verbose
cat /etc/sysconfig/network-scrips/ifcfg-eth*
cat /etc/network/interfaces
cat /etc/resolv.conf
netstat tcp --udp --numeric -a
Script (for Linux-based VMs)
We have prepared a ready-made script that helps gather the relevant information. The script provides both screen output and a log file which you can forward to us.
Use the script with the additional parameter -p
You will be able to observe the commands as they are being executed, and take screenshots as needed.
What should I do if the Remote Console does not work?
If you are using the Java-based edition of the Remote Console, please ensure that you have the latest Java version installed and the following ports released:
80 (HTTP),
443 (HTTPS),
5900 (VNC).
The Remote Console becomes available immediately once the server is provisioned.
Is there a detailed traffic overview available?
There is no traffic overview screen in the user interface currently.
Customers can use either Traffic or Utilization endpoints of the Billing API to get details about their traffic usage.
Please use the configuration below to ensure the stability and performance of the network connections on the operating system side. We suggest that you first check the current settings to see if any adjustments are necessary.
How to verify the current network configuration
Open Device Manager
Open the network adapter section where you can see all your connected virtual network cards named “Red Hat VirtIO Ethernet Adapter”. Now open the Properties dialog and go to the “Advanced” tab.
Verify that your settings match those listed below; if not, follow the guidelines later in this guide to update them accordingly.
"Init.MTUSize"="1500"
"IPv4 Checksum Offload"="Rx & Tx Enabled"
"Large Send Offload V2 (IPv4)"="Enabled"
"Large Send Offload V2 (IPv6)"="Enabled"
"Offload.Rx.Checksum"="All"
"Offload.Tx.Checksum"="All"
"Offload.Tx.LSO"="Maximal"
"TCP Checksum Offload (IPv4)"="Rx & Tx Enabled"
"TCP Checksum Offload (IPv6)"="Rx & Tx Enabled"
"UDP Checksum Offload (IPv4)"="Rx & Tx Enabled"
"UDP Checksum Offload (IPv6)"="Rx & Tx Enabled"
Manual adjustments in the Properties dialog are not saved to the registry. To make any persistent changes, follow the guidelines in the following section.
How to update the network configuration
Once you determine that your system needs an update (see the “Verifying current network configuration” above), one of the following actions must be taken to adjust the settings:
The best way to update network configuration is by using IONOS VirtIO Network Driver Settings Update Scripts.
The scripts are distributed in the following versions:
Installer, available for download here: https://github.com/ionos-enterprise/ionos-network-helper/blob/master/WinNet-v0.1.171.0001.exe
Installer will extract the scripts to the user-specified folder and optionally run the scripts.
ZIP archive, available for download here: https://github.com/ionos-enterprise/ionos-network-helper/blob/master/WinNet-v0.1.171.0001.zip
When using the ZIP archive, or not selecting script execution in the installer, scripts can be started manually by launching the update.cmd file in the root folder of the extracted scripts.
If Windows does not allow you to start the installer or update.cmd from the File Explorer window, please launch it directly from the command line.
Offline update using IONOS Windows VirtIO Drivers ISO Image (alternative)
Alternatively, use the VirtIO drivers ISO for Microsoft operating systems provided by IONOS.
Use DCD or API to add an ISO image to the Dedicated Core Server you’d like to update (In DCD select the VM -> Inspector -> Storage -> CD-ROM -> IONOS-Images -> Windows-VirtIO-Drivers).
Set the boot flag to the virtual CD/DVD drive with the ISO image.
Boot your Dedicated Core Server from the Windows VirtIO drivers ISO.
Open the remote console of the virtual machine.
Select an operating system from the list of supported versions. Driver installation or update will be performed automatically.
Remove the ISO and restart the VM through the DCD. Make sure that the boot flag is set correctly again.
Manual update
Updating drivers
Make sure you have the latest “VirtIO Ethernet Adapter” driver package. The driver package is available in the “Drivers” folder of IONOS VirtIO Network Driver Settings Update Scripts as described above.
Open Device Manager.
in the “File Explorer“ window right-click “My PC”, select “Properties” and then “Device Manager”.
Under Network Adapters, for each "Red Hat VirtIO Ethernet Adapter":
Right-click the adapter and select “Update driver”
Select “Browse my computer for driver software”
Click “Browse” and select the folder with the driver package suitable for your OS version
Updating existing VirtIO network devices
Open Device Manager
In the File Explorer window, right-click My PC, select Properties, and then Device Manager
Under Network adapters, for each "Red Hat VirtIO Ethernet Adapter":
Open Properties (double-click usually works)
Go to Advanced tab
Navigate and set the following settings there:
"Init.MTUSize"="1500"
"IPv4 Checksum Offload"="Rx & Tx Enabled"
Please be aware that these settings will revert to old Registry values unless the full update procedure is executed as described above.
How can I configure VirtIO settings in Linux?
Please use the configuration below to ensure the stability and performance of the network connections on the operating system side.
Verifying current network configuration
Please make sure to use the MTU setting of 1500 for all network interfaces.
Make sure that all of your network interfaces have hardware offloads enabled. This can be done with the ethtool utility; to install ethtool:
For .deb-based distributions:
apt-get install ethtool -y
For .rpm-based distributions:
yum install ethtool.x86_64 -y
Once installed, please do the following for each of your VirtIO-net devices:
Replace the [device_name] with the name of your device, e.g. eth0 or ens0, and check that the highlighted offloads are in the On state:
If you changed any configuration parameters, such as increase MTU or disable offloads for network adapters, please make sure to roll back these changes.
Fixing persistent network interface configuration
Fixing persistent network interface configuration may include removing such configuration in the below files:
and then restarting the affected network interfaces with ifdown eth0; ifup eth0
Dynamic adjustment of the MTU and offload configuration
In all examples below, please replace the [device_name] with the name of the network device being adjusted, e.g. “eth0” or “ens6”.
Dynamically adjust network device MTU configuration:
ip link set mtu 1500 dev [device_name]
Dynamically enable hardware offloads for VirtIO-net devices. This can be done with the ethtool utility; to install ethtool:
For .deb-based distributions:
apt-get install ethtool -y
For .rpm-based distributions:
yum install ethtool.x86_64 -y
Once installed, please do the following for each of your VirtIO-net devices:
ethtool -K [device_name] tx on tso on
root@debian:~# ip link
...
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether 02:01:26:cb:fc:d5 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether 02:01:fb:20:f1:65 brd ff:ff:ff:ff:ff:ff
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether 02:01:2a:a0:e1:53 brd ff:ff:ff:ff:ff:ff
root@debian:~# ethtool -k [device_name]
...
tx-checksumming: on
...
tx-checksum-ip-generic: on
...
...
tcp-segmentation-offload: on
tx-tcp-segmentation: on
tx-tcp-ecn-segmentation: on
...
tx-tcp6-segmentation: on