Cloud server with OpenSearch
OpenSearch is an open-source search and analytics engine. A cloud server with OpenSearch serves as a log collector and visualizer for the Selectel Cloud Platform.
You can configure automatic scheduled backups for your cloud server. You can restore a server volume from a backup.
You can create a cloud server with the OpenSearch application pre-installed. The application runs on a cloud server with Ubuntu 24.04 LTS 64-bit configured.
Before creating a cloud server with an application, review the software license agreements included in the image.
Minimum resource requirements
Create a cloud server with OpenSearch
For OpenSearch to work, the cloud server must be accessible from the internet. To achieve this, you need to create a private subnet and attach a public floating IP address when creating the server.
To configure OpenSearch, you must provide user data—custom operating system configuration parameters—when creating the server. You can specify two sets of variables:
- for accessing OpenSearch Dashboards via a domain;
- to access the OpenSearch Dashboard via a public floating IP address.
After the server with OpenSearch is created, a free TLS certificate from Let’s Encrypt® will be automatically issued for the domain you specify. To issue the certificate, you need to add an A record for the domain and specify the server's public floating IP address as the record value. You can add the domain to Selectel DNS Hosting (actual).
-
Optional: add an A record for the domain.
1. Create a public floating IP address
Create a public floating IP address to access the OpenSearch Dashboard web interface.
Use the Create a public floating IP address section of the Public floating IP addresses guide.
2. Optional: add an A record for the domain
Add an A record if you need access to the OpenSearch Dashboards web interface via a domain. Skip this step if you will only access the dashboard via a public floating IP address.
Use the Add a resource record guide.
Specify:
- resource record type in the group — A;
- record value — the public floating IP address you created in step 1.
3. Create a service user
Create a service user, select the member or reader role, and select the Projects access scope. Users can be created by the Account Owner or by users with the iam.admin.
4. Issue an S3 key to the service user
Users with access to the control panel can issue S3 keys for themselves, but we recommend creating service users and issuing S3 keys to them.
Only the Account Owner or a user with the iam.admin role can issue S3 keys to other users. A service user cannot obtain an S3 key independently because they do not have access to the Control Panel — the Account Owner or iam.admin must issue the key to them.
A separate key must be created for each project. Multiple keys can be issued for a single project.
-
In the control panel, click IAM.
-
Go to the section for the required user type:
- Users — for users with access to the control panel;
- Service users — for service users.
-
Open the user page → in the Access tab.
-
In the S3 keys block, click Add key.
-
Enter a key name.
-
Select a project for which the key will work.
-
Click Generate. Two values will be generated:
- Access key — Access Key ID, a key identifier;
- Secret key — Secret Access Key, a secret key.
-
Click Copy and save the key — you will not be able to view it after closing the window.
5. Create a cloud server with OpenSearch
-
In the Control panel, on the top menu, click Products and select Cloud Servers.
-
Click Create server.
-
Fill in the blocks:
-
Check the cloud server price.
-
Click Create.
Name and placement
-
Enter the server name. It will be set as the hostname in the operating system.
-
Select a location where the server will be created. The list of available server configurations and resource costs depends on the location. You cannot change the location after the server is created.
Source
-
Open the Applications tab.
-
Select Cloud Opensearch.
-
Optional: if you need a different current or archived application version, in the Version field, select the required version.
Configuration
Select a configuration from 2 vCPU, RAM starting from 2 GB and a boot disk size starting from 20 GB. For all lines other than Shared and Dedicated, two types of server configurations are available:
- fixed configurations — ranges with different technical specifications where the resource ratio is fixed;
- custom configurations — configurations where you can specify any resource ratio.
Configurations use different processors depending on the line and pool segment. You can adjust the selected configuration. After the server is created, you can change the configuration.
Fixed configuration
Custom configuration
-
Open the tab with the range.
-
Click Fixed.
-
Optional: you can adjust the configuration, if you are creating a server in a multi-AZ pool ru-6 segment or ru-3b, ru-7a, and ru-7b pool segments:
3.1. Expand the block with the configuration settings description.
3.2. Optional: select the processor manufacturer. Choosing the manufacturer is not available in all pools.
3.3. Optional: if you do not want physical processor cores to be reserved for the cloud server vCPU, clear the Dedicated Cores checkbox. For more details, see the Dedicated Cores instruction.
3.4. Optional: if you want to disable Hyper-Threading for a server with dedicated cores, uncheck the Hyper-Threading (SMT) box.
3.5. Optional: if you are creating a server with dedicated cores and want to place a multiprocessor server on one NUMA node, select the Mandatory placement on a single NUMA node checkbox. A server with 4 vCPU or more can be placed on a single NUMA node. If the cloud server resources cannot be placed on one node, it will not be created. For more details, see the Placement on a single NUMA node subsection of the Dedicated Cores instruction.
-
Select a configuration.
-
If both local and network volumes are available in the selected configuration, select the volume to be used as the boot disk:
- local disk — check the Local SSD NVMe disk box. A server with a local disk can only be created from images and applications;
- network volume — do not check the Local SSD NVMe disk box.
The amount of RAM allocated to the server may be less than specified in the configuration — the operating system kernel reserves a portion of RAM depending on the kernel version and distribution. You can check the allocated amount on the server using the
sudo dmesg | grep Memorycommand.
Volumes
-
If you did not check the Local SSD NVMe disk checkbox when setting up the configuration, the first specified network volume will be used as the server boot disk. To configure it:
1.1. Select the type of network boot disk.
1.2. Specify the size of the network boot disk in GB or TB. Observe the maximum size limits for network volumes.
1.3. If you selected the Universal v2 or Fast SSD v2 disk type, specify the total number of read and write operations in IOPS. After the volume is created, you can change the IOPS value — reduce or increase it. The number of IOPS changes is unlimited.
-
Optional: add an additional network volume server :
2.1. Click Add.
2.2. Select the type of network volume.
2.3. Specify the size of the network disk in GB or TB. Observe the maximum size limits for network volumes.
2.4. If you chose the Universal v2 or SSD Fast v2 volume type, specify the total IOPS (read and write operations). After the volume is created you can change the IOPS — decrease or increase them. There is no limit to the number of IOPS changes.
After creating the server, you will be able to attach new additional volumes.
Internet
Set up public access to the server.
The cloud server will be added to a private subnet connected to a cloud router with 1:1 NAT and internet access. Internet connectivity will be managed through the cloud router. The server will be accessible from the internet via a public floating IP address.
-
In the Connection from the internet field, select the Public floating IP address access type.
-
Select the public floating IP address that you created in step 1.
Private network
A cloud server can be added to an existing or new private subnet.
Existing private subnet
New private subnet
-
In the Subnet field, select a private subnet.
-
Optional: in the IP address field, change the default IP address.
-
In the Router field, select an existing router or create a new one.
If the router is not connected to the internet, it will be automatically connected to the internet after the server is created.
Security
Select security groups to filter traffic on the server ports. Without security groups, traffic will be blocked. If the block is missing, traffic filtering (port security) is disabled in the server network. With traffic filtering disabled, all traffic will be allowed.
Access
-
Place an SSH key for the project on the server for secure connection:
1.1. If an SSH key for the project is not added to the cloud platform, click Add SSH key, enter the key name, paste the public key in OpenSSH format, and click Add.
1.2. If an SSH key for the project has been added to the cloud platform, select an existing key in the SSH key field. The SSH key is only available in the pool where it is located.
-
Optional: in the Password for root field:
2.1. Copy the password for the
rootuser — the user with unrestricted privileges for all system actions.2.2. Save the password in a secure place and do not share it in plain text.
Additional settings
-
Optional: if you plan to create multiple servers and want to increase infrastructure fault tolerance, add the server to a placement group:
1.1. To create a new group, in the Placement group field, click Create.
1.2. Select New group and enter the group name.
1.3. Select a placement policy on different hosts:
- preferred — soft-anti-affinity. The system will try to host the servers on different hosts. If there is no suitable host when creating the server, it will be created on the same host;
- mandatory — anti-affinity. Servers in the group must be located on different hosts. If there is no suitable host when creating the server, the server will not be created.
1.4. Once the group is created, in the Placement group field, select the placement group.
-
Optional: to add additional information or filter servers in the list, add server tags. OS and configuration tags are added automatically. To add a new tag, in the Tags field, enter the tag.
-
To add a script that will be executed using the cloud-init agent at the first operating system startup, in the Automation block in the User data field:
- open the Text tab and paste the script as text;
- or open the File tab and upload the file with the script.
Access by domain
Access by public floating IP address
The OpenSearch Dashboard web interface will be available via the domain. Ensure you have created a public floating IP address and added an A record for the domain.
#cloud-config
write_files:
- path: "/opt/gomplate/values/user-values.yml"
permissions: "0644"
content: |
opensearchDomain: '<opensearch_domain>'
AdminEmail: '<user_email>'
opensearchAdminUser: '<username>'
opensearchAdminPassword: '<user_password>'
AWS_ACCESS_KEY_ID: '<access_key>'
AWS_SECRET_ACCESS_KEY: '<secret_key>'
retentionDays: <days_number>
Specify:
<opensearch_domain>— the domain for accessing OpenSearch Dashboards that you added in step 2;<user_email>— email address of the OpenSearch Dashboards administrator. This email will be used to issue SSL certificates;- optional:
<username>— the username for logging into OpenSearch Dashboards. If this parameter is not set, the default value isadmin; <user_password>— user password for logging into OpenSearch Dashboards;<access_key>— the access key for logs that you issued in step 4;<secret_key>— the secret key for accessing logs that you issued in step 4;- optional:
<days_number>— the number of days to store logs. If this parameter is not set, the default value is7.