Compare commits

..

6 Commits

Author SHA1 Message Date
Rusovich Violetta ef904ca952 fix-pull 2026-02-09 08:33:27 +03:00
Rusovich Violetta e8dc61f5a1 fix-index-compute-ssh 2025-12-26 16:12:26 +03:00
Rusovich Violetta 62f12c8ce1 delete-console 2025-12-26 16:09:31 +03:00
Rusovich Violetta a9cafb629c fix-edit-link-title 2025-12-26 16:08:55 +03:00
Rusovich Violetta abdc7bd70e fix-index 2025-12-25 16:16:46 +03:00
Rusovich Violetta 7fd1755a7d VEGA-6128 Генерация ссылок для index старниц 2025-12-25 14:13:59 +03:00
222 changed files with 3382 additions and 3462 deletions
-1
View File
@@ -10,7 +10,6 @@ dist
.basement
config.local.js
basement_dist
.claude
src/.vuepress/.cache
src/.vuepress/.temp
src/.vitepress/cache
Submodule beecloud-docs deleted from df88416247
+2 -2
View File
@@ -1,12 +1,12 @@
{
"name": "docs",
"version": "0.6.5-main",
"version": "0.6.4-link",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "docs",
"version": "0.6.5-main",
"version": "0.6.4-link",
"license": "MIT",
"dependencies": {
"@beeline/design-tokens": "^1.31.6",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "docs",
"version": "0.6.5-billing",
"version": "0.6.5-main",
"description": "Beeline Cloud docs",
"main": "index.js",
"scripts": {
+258 -297
View File
@@ -1,6 +1,8 @@
import { defineConfig } from 'vitepress'
import { tabsMarkdownPlugin } from 'vitepress-plugin-tabs'
import { viteStaticCopy } from 'vite-plugin-static-copy'
import { overrideComponents } from './override-components'
import { resolve } from 'path'
import { fileURLToPath, URL } from 'node:url'
const gitlab = `<?xml version="1.0" encoding="UTF-8" standalone="no"?>
@@ -39,15 +41,249 @@ const gitlab = `<?xml version="1.0" encoding="UTF-8" standalone="no"?>
`
const new_version = process.env?.VITE_NEW_VERSION;
console.log({ base: typeof new_version !== 'undefined' ? '/' : '/docs/' })
const sidebarConfig = {
'/platform/': [
{
text: 'Платформа Beeline Cloud', link: '/platform/index.md',
collapsed: true,
items: [
{text: 'Обзор', link: '/platform/about.md'},
{text: 'Техническая поддержка', link: '/platform/support/support-overview.md'},
],
},
],
'/start/': [
{
text: 'Начало работы в Beeline Cloud', link: '/start/index.md',
},
{text: 'Начать работу', link: '/start/getting-started.md'},
{text: 'Бесплатный период', link: '/start/trial.md'},
{text: 'Платное использование', link: '/start/organization.md'},
],
// '/billing/': [
// ],
'/backups/': [
{
text: 'Резервное копирование', link: '/backups/index.md',
},
{
text: 'Обзор сервиса', link: '/backups/about.md',
collapsed: true,
items: [
{text: 'Квоты и лимиты', link: '/backups/backup-quatos.md'},
]
},
{text: 'Резервное копирование виртуальных машин Beeline Cloud', link: '/backups/backup-internal-infra.md'},
{text: 'Резервное копирование собственной инфраструктуры в Beeline Cloud', link: '/backups/backup-external-infra.md'},
{text: 'Каталог резервных копий', link: '/backups/view-backups.md'},
],
'/vdc/': [
{
text: 'Виртуальные дата-центры на VMware', link: '/vdc/index.md',
},
{
text: 'Обзор сервиса', link: '/vdc/vdc-overview.md',
collapsed: true,
items: [
{ text: 'О сервисе', link: '/vdc/vdc-about.md' },
{ text: 'Техническое описание', link: '/vdc/vdc-tech.md' },
{ text: 'Квоты и лимиты', link: '/vdc/vdc-quatos.md' },
]
},
{
text: 'Быстрый старт', link: '/vdc/vdc-getting-started.md'
},
{ text: 'Виртуальные дата-центры', link: '/vdc/vdc-how-to/vdc-index.md',
collapsed: true,
items: [
{ text: 'Создание дата-центра', link: '/vdc/vdc-how-to/vdc-create.md' },
{ text: 'Вход в дата-центр', link: '/vdc/vdc-how-to/vdc-enter.md' },
{ text: 'Управление дата-центром', link: '/vdc/vdc-how-to/vdc-manage.md'},
],
},
{ text: 'Виртуальные машины', link: '/vdc/vdc-how-to/vm/vm-index.md',
collapsed: true,
items: [
{text: 'Создание ВМ', link: '/vdc/vdc-how-to/vm/create-vm.md'},
{text: 'Создание vApp', link: '/vdc/vdc-how-to/vm/create-vapp.md'},
{text: 'Управление состоянием ВМ', link: '/vdc/vdc-how-to/vm/manage-vm.md'},
{text: 'Клонирование ВМ', link: '/vdc/vdc-how-to/vm/clone-vm.md'},
{text: 'Изменение конфигурации ВМ', link: '/vdc/vdc-how-to/vm/edit-vm.md'},
{text: 'Удаление ВМ', link: '/vdc/vdc-how-to/vm/delete-vm.md'},
{text: 'Группы размещения', link: '/vdc/vdc-how-to/vm/create-affinity-rules.md'},
{text: 'Снимки ВМ', link: '/vdc/vdc-how-to/vm/create-snapshot.md'},
{text: 'VMware Tools', link: '/vdc/vdc-how-to/vm/vmware-tools.md'},
],
},
{ text: 'Диски', link: '/vdc/vdc-how-to/disks/disks-index.md',
collapsed: true,
items: [
{text: 'Обзор', link: '/vdc/vdc-how-to/disks/about.md'},
{text: 'Создание диска', link: '/vdc/vdc-how-to/disks/create-disk.md'},
{text: 'Проверка состояния диска', link: '/vdc/vdc-how-to/disks/view-disk.md'},
{text: 'Управление выделенными дисками', link: '/vdc/vdc-how-to/disks/attach-disk.md'},
{text: 'Изменение политики хранения дисков ВМ', link: '/vdc/vdc-how-to/disks/change-storage-policy-of-vm.md'},
{text: 'Редактирование параметров диска', link: '/vdc/vdc-how-to/disks/edit-disk.md'},
{text: 'Удаление диска', link: '/vdc/vdc-how-to/disks/delete-disk.md'},
],
},
{ text: 'Сети', link: '/vdc/vdc-how-to/networks/networks-index.md',
collapsed: true,
items: [
{text: 'Обзор', link: '/vdc/vdc-how-to/networks/about.md'},
{text: 'Настройка доступа к ВМ из интернета', link: '/vdc/vdc-how-to/networks/allow-external-connections-to-vm.md'},
{text: 'Подключение ВМ в vApp к сети', link: '/vdc/vdc-how-to/networks/connect-vapp-to-network.md'},
{text: 'Подключение ВМ к интернету', link: '/vdc/vdc-how-to/networks/connect-vm-to-network.md'},
{text: 'Создание сети в организации и подключение к Edge Gateway', link: '/vdc/vdc-how-to/networks/create-network.md'},
{text: 'Подключение сети к Edge Gateway', link: '/vdc/vdc-how-to/networks/connect-to-edge-gateway.md'},
{text: 'Создание Pre-Shared Key', link: '/vdc/vdc-how-to/networks/create-psk.md'},
{ text: 'Настройка site-to-site подключения с помощью IPSec', link: '/vdc/vdc-how-to/networks/how-to-setup-ipsec-vpn.md',
collapsed: true,
items: [
{text: 'Настройка ASAv', link: '/vdc/vdc-how-to/networks/ipsec/asav.md'},
{text: 'Настройка CSR 1000v', link: '/vdc/vdc-how-to/networks/ipsec/csr1000v.md'},
{text: 'Настройка Fortigate', link: '/vdc/vdc-how-to/networks/ipsec/fortigate.md'},
{text: 'Проверить сетевую связанность', link: '/vdc/vdc-how-to/networks/ipsec/check-vpn-status.md'},
],
},
],
},
{ text: 'Пользователи и роли', link: '/vdc/vdc-how-to/users/users-index.md',
collapsed: true,
items: [
{text: 'Ролевая модель', link: '/vdc/vdc-how-to/users/roles.md'},
{text: 'Создание пользователя', link: '/vdc/vdc-how-to/users/add-user.md'},
{text: 'Изменение пароля пользователя', link: '/vdc/vdc-how-to/users/change-users-password.md'},
{text: 'Настройка квот', link: '/vdc/vdc-how-to/users/quotas.md'},
],
},
{ text: 'Двухфакторная аутентификация', link: '/vdc/vdc-how-to/vdc-2fa.md',
collapsed: true,
items: [
{text: 'Подключение 2FA', link: '/vdc/vdc-how-to/vdc-2fa-start.md'},
{text: 'Управление 2FA', link: '/vdc/vdc-how-to/vdc-2fa-manage.md'},
],
},
],
// { text: 'Тарификация', link: '/vdc/vdc-tarif.md' },
'/compute/': [
{
text: 'Виртуальные машины', link: '/compute/index.md',
},
{ text: 'Обзор сервиса', link: '/compute/compute-overview-index.md' ,
collapsed: true,
items: [
{ text: 'Техническое описание', link: '/compute/compute-overview.md' },
{ text: 'Квоты и лимиты', link: '/compute/compute-quatos.md' },
]
},
{text: 'Быстрый старт', link: '/compute/compute-getting-started.md', excludeFromIndex: true },
{ text: 'Виртуальные машины', link: '/compute/compute-how-to/compute-index.md',
collapsed: true,
items: [
{ text: 'Создание ВМ', link: '/compute/compute-how-to/compute-servers-create.md' },
{ text: 'Создание ВМ джамп-хоста', link: '/compute/compute-how-to/compute-servers-jump-create.md' },
{ text: 'Подключение к ВМ', link: '/compute/compute-how-to/compute-connect-index.md',
collapsed: true,
items: [
{ text: 'Подключение по SSH по внешнему IP-адресу с помощью ключевой пары', link: '/compute/compute-how-to/compute-connect-public.md'},
{ text: 'Подключение по SSH по внутреннему IP-адресу с помощью ключевой пары', link: '/compute/compute-how-to/compute-connect-inside.md' },
{ text: 'Подключение по SSH по логину и паролю', link: '/compute/compute-how-to/compute-connect-pwd.md' },
]
},
{ text: 'Управление ВМ', link: '/compute/compute-how-to/compute-servers-manage.md' },
],
},
{ text: 'Диски', link: '/compute/compute-how-to/compute-disks/compute-disk-index.md',
collapsed: true,
items: [
{ text: 'Обзор', link: '/compute/compute-how-to/compute-disks/compute-disk-about.md' },
{ text: 'Создание диска', link: '/compute/compute-how-to/compute-disks/compute-disk-create.md' },
{ text: 'Управление дисками', link: '/compute/compute-how-to/compute-disks/compute-disk-manage.md' },
{ text: 'Удаление диска', link: '/compute/compute-how-to/compute-disks/compute-disk-del.md' },
]
},
{ text: 'IP-адреса', link: '/compute/compute-how-to/compute-ip/compute-ip-index.md',
collapsed: true,
items: [
{ text: 'Обзор', link: '/compute/compute-how-to/compute-ip/compute-ip-about.md' },
{ text: 'Просмотр IP-адресов', link: '/compute/compute-how-to/compute-ip/compute-ip-view.md' },
{ text: 'Создание IP-адреса', link: '/compute/compute-how-to/compute-ip/compute-ip-create.md' },
{ text: 'Управление IP-адресами', link: '/compute/compute-how-to/compute-ip/compute-ip-manager.md' },
{ text: 'Удаление IP-адреса', link: '/compute/compute-how-to/compute-ip/compute-ip-del.md' },
]
},
{ text: 'Группы размещения', link: '/compute/compute-how-to/compute-placement-groups/compute-placement-groups-index.md',
collapsed: true,
items: [
{ text: 'Обзор', link: '/compute/compute-how-to/compute-placement-groups/compute-placement-groups-about.md'},
{ text: 'Создание группы размещения', link: '/compute/compute-how-to/compute-placement-groups/compute-placement-groups-create.md'},
{ text: 'Управление группами размещения', link: '/compute/compute-how-to/compute-placement-groups/compute-placement-groups-manager.md' },
{ text: 'Удаление группы размещения', link: '/compute/compute-how-to/compute-placement-groups/compute-placement-groups-del.md' },
]
},
{ text: 'Сети', link: '/compute/compute-how-to/compute-network/compute-network-index.md',
collapsed: true,
items: [
{ text: 'Настройка site-to-site VPN с помощью VyOS', link: '/compute/compute-how-to/compute-network/compute-vpn-vyos.md' },
{ text: 'Подключение ВМ закрытого контура к интернету', link: '/compute/compute-how-to/compute-network/compute-network-inside.md' },
],
excludeFromIndex: true,
},
],
'/admin/': [
{
text: 'Администрирование', link: '/admin/index.md',
},
{text: 'Управление ключевыми парами', link: '/admin/ssh.md'},
],
'/vdi/': [
{
text: 'Виртуальные рабочие столы', link: '/vdi/index.md',
},
{
text: 'Обзор сервиса', link: '/vdi/vdi-overview.md',
collapsed: true,
items: [
{ text: 'О сервисе', link: '/vdi/vdi-about.md' },
{ text: 'Техническое описание', link: '/vdi/vdi-tech.md' },
{ text: 'Квоты и лимиты', link: '/vdi/vdi-quatos.md' },
{ text: 'Тарификация', link: '/vdi/vdi-tarif.md' },
]
},
{
text: 'Заказ виртуальных рабочих столов', link: '/vdi/vdi-how-to/vdi-create.md'
},
{
text: 'Настройка сервиса', link: '/vdi/vdi-how-to/vdi-nastroika.md',
collapsed: true,
items: [
{ text: 'Настройка интеграции с Active Directory', link: '/vdi/vdi-how-to/vdi-connect-to-ad.md' },
{ text: 'Настройка сети', link: '/vdi/vdi-how-to/vdi-interconnect.md' },
]
},
// {
// text: 'Gold-образ', link: '/vdi/vdi-how-to/vdi-gold.md'
// },
{
text: 'Подключение к виртуальному рабочему месту', link: '/vdi/vdi-how-to/vdi-connect.md'
},
],
}
// https://vitepress.dev/reference/site-config
export default defineConfig({
srcDir: ".",
title: 'Beeline Cloud',
title: " ",
description: "Документация Beeline Cloud",
head: [['link', { rel: 'icon', type: 'image/png', sizes: '32x32', href: '/bee-favicon.png' }]],
base: typeof new_version !== 'undefined' ? '/' : '/docs/',
appearance: false,
markdown: {
config(md) {
md.use(tabsMarkdownPlugin)
@@ -62,7 +298,24 @@ export default defineConfig({
replacement: fileURLToPath(new URL('./theme', import.meta.url))
},
],
}
},
plugins: [
viteStaticCopy({
targets: [
{
src: resolve(__dirname, '../../node_modules/@beeline/design-tokens/assets/fonts'),
dest: 'assets',
},
],
}),
],
css: {
preprocessorOptions: {
scss: {
api: 'modern-compiler',
},
},
},
},
locales: {
root: {
@@ -71,14 +324,6 @@ export default defineConfig({
}
},
themeConfig: {
siteTitle: false,
notFound: {
title: 'Страница не найдена',
quote: 'Похоже, вы зашли в тупик. Но не волнуйтесь — всегда можно вернуться на главную.',
linkLabel: 'вернуться на главную',
linkText: 'Вернуться на главную',
code: '404',
},
logo: {
light: '/img/logo-cloud.svg',
dark: '/img/logo-cloud.svg',
@@ -95,14 +340,8 @@ export default defineConfig({
buttonAriaLabel: 'Поиск'
},
modal: {
noResultsText: 'Не удалось загрузить данные',
noResultsText: 'По вашему запросу ничего не найдено',
resetButtonTitle: 'Сбросить',
displayDetails: 'Показать расширенный список',
footer: {
selectText: 'Выбрать',
closeText: 'Закрыть',
navigateText: 'Перейти',
}
}
}
}
@@ -134,285 +373,7 @@ export default defineConfig({
outline: {
label: 'Содержание'
},
sidebar: {
'/platform/': [
{
text: 'Платформа Beeline Cloud', link: '/platform/index.md',
collapsed: true,
items: [
{text: 'Обзор', link: '/platform/about.md'},
{text: 'Типы тарификации', link: '/platform/billing-types.md'},
{text: 'Техническая поддержка', link: '/platform/support/support-overview.md'},
],
},
],
'/legal/': [
{ text: 'Юридические документы', link: '/legal/index.md' },
],
'/security/': [
{
text: 'Сервисы информационной безопасности в Beeline Cloud', link: '/security/index.md',
},
{
text: 'Cloud Security Awareness (SA)', link: '/security/Cloud-SA/SA-index.md',
collapsed: true,
items: [
{
text: 'Состав сервиса SA', link: '/security/Cloud-SA/compond-index.md',
collapsed: true,
items: [
{ text: 'Обзор сервиса', link: '/security/Cloud-SA/compond-SA/about.md' },
{ text: 'Состав сервиса', link: '/security/Cloud-SA/compond-SA/compond-SA.md' },
{ text: 'Настройки сервиса по умолчанию', link: '/security/Cloud-SA/compond-SA/default-service.md' },
{ text: 'Почтовый ретранслятор (SMTP relay)', link: '/security/Cloud-SA/compond-SA/mail-relay.md' },
{ text: 'Мониторинг работоспособности платформы', link: '/security/Cloud-SA/compond-SA/monitoring.md' },
{ text: 'Модули платформы', link: '/security/Cloud-SA/compond-SA/platform-modules.md' },
{ text: 'Ограничения платформы', link: '/security/Cloud-SA/compond-SA/restrictions.md' },
{ text: 'Отказоустойчивость сервиса', link: '/security/Cloud-SA/compond-SA/stability.md' },
{ text: 'Шаблоны почтовых сообщений и веб-форм', link: '/security/Cloud-SA/compond-SA/templates.md' },
{ text: 'Дополнительные работы ', link: '/security/Cloud-SA/compond-SA/work.md' },
]
},
{ text: 'Качественные характеристики сервиса', link: '/security/Cloud-SA/characteristics.md' },
{ text: 'Инструкции для начала работы с сревисом', link: '/security/Cloud-SA/instructions.md' },
{ text: 'Порядок платежей', link: '/security/Cloud-SA/payment-procedure.md' },
{ text: 'Сроки и условия предоставления сервиса', link: '/security/Cloud-SA/provision.md' },
]
},
{
text: 'Cloud Vulnerability Scanner (VS)', link: '/security/Cloud-VS/VS-index.md',
collapsed: true,
items: [
{ text: 'Обзор сервиса VS', link: '/security/Cloud-VS/about.md'},
{ text: 'Варианты предоставления сервиса', link: '/security/Cloud-VS/provision-service.md' },
{ text: 'Мониторинг работоспособности и отказоустойчивость сервиса', link: '/security/Cloud-VS/monitoring.md' },
{ text: 'Состав работ', link: '/security/Cloud-VS/scope-work.md' },
{ text: 'Дополнительные работы', link: '/security/Cloud-VS/work.md' },
{ text: 'Зоны ответсвенности', link: '/security/Cloud-VS/areas-responsibility.md' },
{ text: 'Качественные характеристики сервиса', link: '/security/Cloud-VS/characteristics.md' },
{ text: 'Сроки предоставления сервиса', link: '/security/Cloud-VS/provision.md' },
{ text: 'Порядок платежей', link: '/security/Cloud-VS/payment-procedure.md' },
]
},
{
text: 'Cloud Mobile Device Management (MDM)', link: '/security/Cloud-MDM/MDM-index.md',
collapsed: true,
items: [
{ text: 'Обзор сервиса', link: '/security/Cloud-MDM/about.md' },
{
text: 'Описание сервиса MDM', link: '/security/Cloud-MDM/discription-index.md',
collapsed: true,
items: [
{ text: 'Состав сервиса', link: '/security/Cloud-MDM/description/compound.md' },
{ text: 'Архитектура сервиса', link: '/security/Cloud-MDM/description/architecture.md' },
{ text: 'Зоны ответственности', link: '/security/Cloud-MDM/description/areas-responsibility.md' },
{ text: 'Мониторинг работоспособности и отказоустойчивость сервиса', link: '/security/Cloud-MDM/description/monitoring.md' },
{ text: 'Дополнительные работы', link: '/security/Cloud-MDM/description/work.md' },
]
},
{ text: 'Качественные характеристики сервиса', link: '/security/Cloud-MDM/characteristics.md' },
{ text: 'Сроки и условия предоставления сервиса', link: '/security/Cloud-MDM/provision.md' },
{ text: 'Порядок платежей', link: '/security/Cloud-MDM/payments.md' },
{
text: 'Инструкиця', link: '/security/Cloud-MDM/instructions-index.md',
collapsed: true,
items: [
{ text: 'Инструкция', link: '/security/Cloud-MDM/instructions/instructions.md' },
{ text: 'Активация учетной записи', link: '/security/Cloud-MDM/instructions/activation.md' },
{ text: 'Режим Device Owner', link: '/security/Cloud-MDM/instructions/device-owner.md' },
]
},
],
},
{
text: 'Cloud NGFW', link: '/security/Cloud-NGFW/NGFW-index.md',
collapsed: true,
items: [
{ text: 'Обзор сервиса', link: '/security/Cloud-NGFW/about.md'},
{ text: 'Основные возможности', link: '/security/Cloud-NGFW/possibilities.md' },
{ text: 'Спецификация сервиса', link: '/security/Cloud-NGFW/specification.md' },
{ text: 'Состав сервиса', link: '/security/Cloud-NGFW/compound.md' },
{ text: 'Сроки и условия предоставления сервиса. Зоны ответственности', link: '/security/Cloud-NGFW/provision.md' },
{ text: 'Порядок платежей', link: '/security/Cloud-NGFW/payment.md' },
]
},
{
text: 'Cloud NGFW F', link: '/security/Cloud-NGFW-F/NGFW-F-index.md',
collapsed: true,
items: [
{ text: 'Обзор сервиса', link: '/security/Cloud-NGFW-F/about.md'},
{ text: 'Порядок подключения сервиса', link: '/security/Cloud-NGFW-F/connection.md' },
{ text: 'Варианты предоставления', link: '/security/Cloud-NGFW-F/delivery-options.md' },
{ text: 'Состав сервиса', link: '/security/Cloud-NGFW-F/compound.md' },
{ text: 'Функциональные возможности', link: '/security/Cloud-NGFW-F/functional-capabilities.md' },
{ text: 'Порядок платежей', link: '/security/Cloud-NGFW-F/payment.md' },
{ text: 'Тестирование сервиса', link: '/security/Cloud-NGFW-F/testing.md' },
]
},
{
text: 'Cloud NGFW Pro', link: '/security/Cloud-NGFW-Pro/NGFW-Pro-index.md',
collapsed: true,
items: [
{ text: 'Обзор сервиса', link: '/security/Cloud-NGFW-Pro/about.md'},
{ text: 'Основные возможности', link: '/security/Cloud-NGFW-Pro/possibilities.md' },
{ text: 'Спецификация сервиса', link: '/security/Cloud-NGFW-Pro/specification.md' },
{ text: 'Состав сервиса', link: '/security/Cloud-NGFW-Pro/compound.md' },
{ text: 'Сроки и условия предоставления сервиса', link: '/security/Cloud-NGFW-Pro/provision.md' },
{ text: 'Демодоступ к сервису', link: '/security/Cloud-NGFW-Pro/demo-access.md' },
{ text: 'Порядок платежей', link: '/security/Cloud-NGFW-Pro/payment.md' },
]
},
{
text: 'Cloud NGFW', link: '/security/Cloud-NGFW/NGFW-index.md',
collapsed: true,
items: [
{ text: 'Обзор сервиса', link: '/security/Cloud-NGFW/about.md'},
{ text: 'Основные возможности', link: '/security/Cloud-NGFW/possibilities.md' },
{ text: 'Спецификация сервиса', link: '/security/Cloud-NGFW/specification.md' },
{ text: 'Состав сервиса', link: '/security/Cloud-NGFW/compound.md' },
{ text: 'Сроки и условия предоставления сервиса. Зоны ответственности', link: '/security/Cloud-NGFW/provision.md' },
{ text: 'Порядок платежей', link: '/security/Cloud-NGFW/payment.md' },
]
},
{
text: 'Cloud NGFW F', link: '/security/Cloud-NGFW-F/NGFW-F-index.md',
collapsed: true,
items: [
{ text: 'Обзор сервиса', link: '/security/Cloud-NGFW-F/about.md'},
{ text: 'Порядок подключения сервиса', link: '/security/Cloud-NGFW-F/connection.md' },
{ text: 'Варианты предоставления', link: '/security/Cloud-NGFW-F/delivery-options.md' },
{ text: 'Состав сервиса', link: '/security/Cloud-NGFW-F/compound.md' },
{ text: 'Функциональные возможности', link: '/security/Cloud-NGFW-F/functional-capabilities.md' },
{ text: 'Порядок платежей', link: '/security/Cloud-NGFW-F/payment.md' },
{ text: 'Тестирование сервиса', link: '/security/Cloud-NGFW-F/testing.md' },
]
},
{
text: 'Cloud NGFW Pro', link: '/security/Cloud-NGFW-Pro/NGFW-Pro-index.md',
collapsed: true,
items: [
{ text: 'Обзор сервиса', link: '/security/Cloud-NGFW-Pro/about.md'},
{ text: 'Основные возможности', link: '/security/Cloud-NGFW-Pro/possibilities.md' },
{ text: 'Спецификация сервиса', link: '/security/Cloud-NGFW-Pro/specification.md' },
{ text: 'Состав сервиса', link: '/security/Cloud-NGFW-Pro/compound.md' },
{ text: 'Сроки и условия предоставления сервиса', link: '/security/Cloud-NGFW-Pro/provision.md' },
{ text: 'Демодоступ к сервису', link: '/security/Cloud-NGFW-Pro/demo-access.md' },
{ text: 'Порядок платежей', link: '/security/Cloud-NGFW-Pro/payment.md' },
]
},
],
'/PaaS/': [
{
text: 'Начало работы в Cloud PostgreSQL', link: '/PaaS/index.md',
},
{ text: 'Cloud PostgreSQL', link: '/PaaS/PostgreSQL/PostgreSQL-index.md',
collapsed: true,
items: [
{text: 'Обзор сервиса', link: '/PaaS/PostgreSQL/about.md'},
{text: 'Описание технических параметров', link: '/PaaS/PostgreSQL/cluster-parameter.md'},
{text: 'Общая схема подключения', link: '/PaaS/PostgreSQL/connection.md'},
{text: 'Возможности пользователя', link: '/PaaS/PostgreSQL/user-capabilities.md'},
{text: 'Веб-интерфейс pgAdmin', link: '/PaaS/PostgreSQL/pgadmin.md'},
{text: 'Веб-интерфейс Grafana', link: '/PaaS/PostgreSQL/grafana.md'},
],
},
{text: 'Параметры конфигурации IPSEC', link: '/PaaS/IPSEC.md'},
],
'/finance/': [
{ text: 'Финансы', link: '/finance/about.md' },
{ text: 'Счета', wip: true },
{ text: 'Анализ затрат', link: '/finance/cost-analysis.md' },
{ text: 'Бюджеты', wip: true },
{ text: 'Прогнозирование', wip: true },
{ text: 'Рекомендации', wip: true },
{ text: 'Управление тегами', wip: true },
],
'/vdc/': [
{
text: 'Виртуальные дата-центры на VMware', link: '/vdc/index.md',
},
{
text: 'Обзор сервиса', link: '/vdc/vdc-overview.md',
collapsed: true,
items: [
{ text: 'О сервисе', link: '/vdc/vdc-about.md' },
{ text: 'Техническое описание', link: '/vdc/vdc-tech.md' },
]
},
{ text: 'Подключиться к виртуальному дата-центру', link: '/vdc/vdc-getting-started.md' },
{ text: 'Виртуальные машины', link: '/vdc/vdc-how-to/vm/vm-index.md',
collapsed: true,
items: [
{text: 'Создание ВМ', link: '/vdc/vdc-how-to/vm/create-vm.md'},
{text: 'Создание vApp', link: '/vdc/vdc-how-to/vm/create-vapp.md'},
{text: 'Управление состоянием ВМ', link: '/vdc/vdc-how-to/vm/manage-vm.md'},
{text: 'Клонирование ВМ', link: '/vdc/vdc-how-to/vm/clone-vm.md'},
{text: 'Изменение конфигурации ВМ', link: '/vdc/vdc-how-to/vm/edit-vm.md'},
{text: 'Удаление ВМ', link: '/vdc/vdc-how-to/vm/delete-vm.md'},
{text: 'Группы размещения', link: '/vdc/vdc-how-to/vm/create-affinity-rules.md'},
{text: 'Снимки ВМ', link: '/vdc/vdc-how-to/vm/create-snapshot.md'},
{text: 'VMware Tools', link: '/vdc/vdc-how-to/vm/vmware-tools.md'},
],
},
{ text: 'Диски',
collapsed: true,
items: [
{text: 'Обзор', link: '/vdc/vdc-how-to/disks/about.md'},
{text: 'Создание диска', link: '/vdc/vdc-how-to/disks/create-disk.md'},
{text: 'Проверка состояния диска', link: '/vdc/vdc-how-to/disks/view-disk.md'},
{text: 'Подключение выделенного диска к ВМ', link: '/vdc/vdc-how-to/disks/attach-disk.md'},
{text: 'Изменение политики хранения дисков ВМ', link: '/vdc/vdc-how-to/disks/change-storage-policy-of-vm.md'},
{text: 'Редактирование параметров диска', link: '/vdc/vdc-how-to/disks/edit-disk.md'},
{text: 'Удаление диска', link: '/vdc/vdc-how-to/disks/delete-disk.md'},
],
},
{ text: 'Сети', link: '/vdc/vdc-how-to/networks/networks-index.md',
collapsed: true,
items: [
{text: 'Обзор', link: '/vdc/vdc-how-to/networks/about.md'},
{text: 'Настройка доступа к ВМ из интернета', link: '/vdc/vdc-how-to/networks/allow-external-connections-to-vm.md'},
{text: 'Подключение ВМ в vApp к сети', link: '/vdc/vdc-how-to/networks/connect-vapp-to-network.md'},
{text: 'Подключение ВМ к интернету', link: '/vdc/vdc-how-to/networks/connect-vm-to-network.md'},
{text: 'Создание сети в организации и подключение к Edge Gateway', link: '/vdc/vdc-how-to/networks/create-network.md'},
{text: 'Подключение сети к Edge Gateway', link: '/vdc/vdc-how-to/networks/connect-to-edge-gateway.md'},
{text: 'Создание Pre-Shared Key', link: '/vdc/vdc-how-to/networks/create-psk.md'},
{text: 'Настройка site-to-site подключения с помощью IPSec', link: '/vdc/vdc-how-to/networks/how-to-setup-ipsec-vpn.md',
collapsed: true,
items: [
{text: 'Настройка IPSec VPN', link: '/vdc/vdc-how-to/networks/ipsec/setup-ipsec-vpn.md'},
{text: 'Настройка ASAv для IPsec VPN', link: '/vdc/vdc-how-to/networks/ipsec/asav.md'},
{text: 'Настройка CSR 1000v для IPsec VPN', link: '/vdc/vdc-how-to/networks/ipsec/csr1000v.md'},
{text: 'Настройка Fortigate для IPsec VPN', link: '/vdc/vdc-how-to/networks/ipsec/fortigate.md'},
{text: 'Проверить сетевую связанность', link: '/vdc/vdc-how-to/networks/ipsec/check-vpn-status.md'},
],
},
],
},
{ text: 'Пользователи и роли', link: '/vdc/vdc-how-to/users/users-index.md',
collapsed: true,
items: [
{text: 'Ролевая модель', link: '/vdc/vdc-how-to/users/roles.md'},
{text: 'Создание пользователя', link: '/vdc/vdc-how-to/users/add-user.md'},
{text: 'Изменение пароля пользователя', link: '/vdc/vdc-how-to/users/change-users-password.md'},
{text: 'Настройка квот', link: '/vdc/vdc-how-to/users/quotas.md'},
],
},
{ text: 'Двухфакторная аутентификация', link: '/vdc/vdc-how-to/vdc-2fa.md',
collapsed: true,
items: [
{text: 'Подключение 2FA', link: '/vdc/vdc-how-to/vdc-2fa-start.md'},
{text: 'Управление 2FA', link: '/vdc/vdc-how-to/vdc-2fa-manage.md'},
],
},
],
// { text: 'Тарификация', link: '/vdc/vdc-tarif.md' },
'/monitoring/': [
{
text: 'Мониторинг', link: '/monitoring/about.md',
},
],
},
sidebar: sidebarConfig,
},
}
)
@@ -0,0 +1,16 @@
import type { Plugin } from 'vite'
import type { SidebarItem } from './utils/types'
import { processAllFiles } from './hook/process-files'
export const autoSectionLinksPlugin = (
srcDir: string,
sidebarConfig: Record<string, SidebarItem[]>
): Plugin => ({
name: 'auto-section-links',
buildStart: () => {
processAllFiles(srcDir, sidebarConfig)
},
configureServer: () => {
processAllFiles(srcDir, sidebarConfig)
}
})
+4
View File
@@ -0,0 +1,4 @@
export const INDEX_FILE = 'index.md'
export const INDEX_FILE_PATTERN = /-index\.md$|index\.md$/
export const FRONTMATTER_REGEX = /^---\s*\n([\s\S]*?)\n---/
export const SECTION_LINK_KEYS = ['title', 'link', 'description'] as const
@@ -0,0 +1,36 @@
import { existsSync } from 'fs'
import { relative, resolve } from 'path'
import type { SidebarItem } from '../utils/types'
import { findMarkdownFiles } from '../utils/file-finder'
import { processIndexFile, processPageWithItems } from '../utils/file-processor'
import { INDEX_FILE, INDEX_FILE_PATTERN } from '../constants'
export const processAllFiles = (
srcDir: string,
sidebarConfig: Record<string, SidebarItem[]>
) => {
const srcPath = resolve(srcDir)
for (const [folderPath, items] of Object.entries(sidebarConfig)) {
const normalizedFolder = folderPath.replace(/^\/+|\/+$/g, '')
const folderFullPath = resolve(srcPath, normalizedFolder)
if (!existsSync(folderFullPath)) {
continue
}
const mdFiles = findMarkdownFiles(folderFullPath)
for (const filePath of mdFiles) {
const fileName = filePath.split(/[/\\]/).pop() || ''
const relativePath = relative(srcPath, filePath).replace(/\\/g, '/')
const normalizedPath = relativePath.startsWith('/') ? relativePath : `/${relativePath}`
if (fileName === INDEX_FILE) {
processIndexFile(filePath, items, srcPath)
} else if (INDEX_FILE_PATTERN.test(fileName) && fileName !== INDEX_FILE) {
processPageWithItems(filePath, items, srcPath)
}
}
}
}
@@ -0,0 +1,17 @@
import { readFileSync, existsSync } from 'fs'
import { resolve } from 'path'
import { parseFrontmatter } from './frontmatter'
export const getPageDescription = (filePath: string, srcDir: string) => {
try {
const fullPath = resolve(srcDir, filePath.replace(/^\//, ''))
if (!existsSync(fullPath)) return undefined
const fileContent = readFileSync(fullPath, 'utf-8')
const { frontmatter } = parseFrontmatter(fileContent)
return frontmatter.description as string | undefined
} catch {
return undefined
}
}
@@ -0,0 +1,24 @@
import { readdirSync, statSync } from 'fs'
import { join } from 'path'
export const findMarkdownFiles = (dir: string) => {
const files: string[] = []
try {
const entries = readdirSync(dir)
for (const entry of entries) {
const fullPath = join(dir, entry)
const stat = statSync(fullPath)
if (stat.isDirectory()) {
files.push(...findMarkdownFiles(fullPath))
} else if (entry.endsWith('.md')) {
files.push(fullPath)
}
}
} catch {
}
return files
}
@@ -0,0 +1,117 @@
import { readFileSync, writeFileSync, existsSync } from 'fs'
import { relative, resolve } from 'path'
import type { SidebarItem } from './types'
import { parseFrontmatter, stringifyFrontmatter } from './frontmatter'
import { mergeSectionLinks, extractTopLevelLinks, extractItemsForPage } from './links'
import { normalizeLink } from './path-utils'
import { SectionLinkListItem } from '../../theme/components/SectionLinkList/SectionLinkList.types'
const removeDuplicates = (links: SectionLinkListItem[]) => {
const result: SectionLinkListItem[] = []
const seenLinks = new Set<string>()
for (const link of links) {
if (link.link) {
const normalized = normalizeLink(link.link)
if (!seenLinks.has(normalized)) {
seenLinks.add(normalized)
result.push(link)
}
}
}
return result
}
const hasChanges = (
existingLinks: SectionLinkListItem[],
mergedLinks: SectionLinkListItem[]
) => {
if (existingLinks.length !== mergedLinks.length) return true
const existingSet = new Set(
existingLinks
.filter(link => link.link)
.map(link => `${normalizeLink(link.link!)}|${link.title}`)
)
const mergedSet = new Set(
mergedLinks
.filter(link => link.link)
.map(link => `${normalizeLink(link.link!)}|${link.title}`)
)
if (existingSet.size !== mergedSet.size) return true
for (const item of existingSet) {
if (!mergedSet.has(item)) return true
}
return false
}
export const processIndexFile = (
filePath: string,
sidebarItems: SidebarItem[],
srcDir: string
) => {
if (!existsSync(filePath)) return false
try {
const fileContent = readFileSync(filePath, 'utf-8')
const { frontmatter, content } = parseFrontmatter(fileContent)
const relativePath = relative(srcDir, filePath).replace(/\\/g, '/')
const normalizedPath = relativePath.startsWith('/') ? relativePath : `/${relativePath}`
const existingLinks = removeDuplicates(
Array.isArray(frontmatter.section_links) ? [...frontmatter.section_links] : []
)
const newLinks = extractTopLevelLinks(sidebarItems, normalizedPath, srcDir)
if (!newLinks.length) return false
const mergedLinks = removeDuplicates(mergeSectionLinks(existingLinks, newLinks))
if (!hasChanges(existingLinks, mergedLinks)) return false
frontmatter.section_links = mergedLinks
writeFileSync(filePath, stringifyFrontmatter(frontmatter, content), 'utf-8')
return true
} catch {
return false
}
}
export const processPageWithItems = (
filePath: string,
sidebarItems: SidebarItem[],
srcDir: string
) => {
if (!existsSync(filePath)) return false
try {
const fileContent = readFileSync(filePath, 'utf-8')
const { frontmatter, content } = parseFrontmatter(fileContent)
const relativePath = relative(srcDir, filePath).replace(/\\/g, '/')
const normalizedPath = relativePath.startsWith('/') ? relativePath : `/${relativePath}`
const existingLinks = removeDuplicates(
Array.isArray(frontmatter.section_links) ? [...frontmatter.section_links] : []
)
const newLinks = extractItemsForPage(sidebarItems, normalizedPath, srcDir)
const mergedLinks = newLinks.length > 0
? removeDuplicates(mergeSectionLinks(existingLinks, newLinks))
: []
if (!hasChanges(existingLinks, mergedLinks)) return false
frontmatter.section_links = mergedLinks
writeFileSync(filePath, stringifyFrontmatter(frontmatter, content), 'utf-8')
return true
} catch {
return false
}
}
+142
View File
@@ -0,0 +1,142 @@
import type { Frontmatter } from './types'
import { SECTION_LINK_KEYS, FRONTMATTER_REGEX } from '../constants'
import { SectionLinkListItem } from '../../theme/components/SectionLinkList/SectionLinkList.types'
export const parseFrontmatter = (content: string) => {
const frontmatterMatch = content.match(FRONTMATTER_REGEX)
if (!frontmatterMatch) {
const cleanContent = content.replace(/^---[\s\S]*?---\s*\n*/g, '').trim()
return { frontmatter: {}, content: cleanContent || content }
}
const [, frontmatterText] = frontmatterMatch
const frontmatterEnd = frontmatterMatch[0].length
let cleanContent = content.slice(frontmatterEnd)
cleanContent = cleanContent.replace(/^---[\s\S]*?---\s*\n*/g, '').trim()
if (!cleanContent) {
cleanContent = content.slice(frontmatterEnd).replace(/^---[\s\S]*?---\s*\n*/g, '').trim()
}
const frontmatter: Frontmatter = {}
const lines = frontmatterText.split('\n')
let currentKey: string | undefined
let currentValue: SectionLinkListItem[] = []
let currentItem: Record<string, string> | undefined
let inArray = false
for (const line of lines) {
const trimmed = line.trim()
if (trimmed && !trimmed.startsWith('#')) {
const lineIndent = line.match(/^(\s*)/)?.[1]?.length ?? 0
if (lineIndent === 0 && trimmed.includes(':')) {
if (inArray && currentKey) {
frontmatter[currentKey] = currentValue
currentValue = []
inArray = false
}
const colonMatch = trimmed.match(/^([^:]+):\s*(.*)$/)
if (colonMatch) {
const [, key, value] = colonMatch
currentKey = key.trim()
const trimmedValue = value.trim()
if (trimmedValue === '') {
inArray = true
currentValue = []
} else {
frontmatter[currentKey] = trimmedValue.replace(/^["']|["']$/g, '')
}
}
} else if (lineIndent === 2 && trimmed.startsWith('- ')) {
if (!inArray && currentKey) {
inArray = true
currentValue = []
}
if (currentItem && currentItem.title && currentItem.link !== undefined) {
const link: SectionLinkListItem = {
title: currentItem.title,
link: currentItem.link,
description: currentItem.description
}
if (!currentValue.some(item => item.link === link.link)) {
currentValue.push(link)
}
}
const itemText = trimmed.slice(2).trim()
if (itemText.includes(':')) {
currentItem = {}
const parts = itemText.split(',').map(p => p.trim())
for (const part of parts) {
const colonMatch = part.match(/^(\w+):\s*(.+)$/)
if (colonMatch) {
const [, key, value] = colonMatch
if (SECTION_LINK_KEYS.includes(key as typeof SECTION_LINK_KEYS[number])) {
currentItem[key] = value.replace(/^["']|["']$/g, '')
}
}
}
} else {
currentValue.push({ title: itemText, link: '' })
}
} else if (lineIndent >= 4 && currentItem && trimmed.includes(':')) {
const colonIndex = trimmed.indexOf(':')
if (colonIndex !== -1) {
const key = trimmed.substring(0, colonIndex).trim()
const value = trimmed.substring(colonIndex + 1).trim()
if (SECTION_LINK_KEYS.includes(key as typeof SECTION_LINK_KEYS[number])) {
currentItem[key] = value === '' ? '' : value.replace(/^["']|["']$/g, '')
}
}
}
}
}
if (currentItem && inArray && currentItem.title && currentItem.link !== undefined) {
const link: SectionLinkListItem = {
title: currentItem.title,
link: currentItem.link,
description: currentItem.description
}
if (!currentValue.some(item => item.link === link.link)) {
currentValue.push(link)
}
}
if (inArray && currentKey) {
frontmatter[currentKey] = currentValue
}
return { frontmatter, content: cleanContent || content }
}
export const stringifyFrontmatter = (frontmatter: Frontmatter, content: string) => {
const lines: string[] = []
for (const [key, value] of Object.entries(frontmatter)) {
if (Array.isArray(value)) {
lines.push(`${key}:`)
for (const item of value) {
if (typeof item === 'object' && item) {
const link = item as SectionLinkListItem
lines.push(` - title: ${link.title ?? ''}`)
if (link.link) lines.push(` link: ${link.link}`)
if ('description' in link && link.description !== undefined && link.description !== null && String(link.description).trim() !== '') {
lines.push(` description: ${String(link.description)}`)
}
} else {
lines.push(` - ${item}`)
}
}
} else if (value) {
const strValue = String(value)
const needsQuotes = strValue.includes(':') || (strValue.includes(' ') && !strValue.startsWith('"')) || strValue === ''
const escaped = strValue.replace(/"/g, '\\"')
lines.push(`${key}: ${needsQuotes ? `"${escaped}"` : strValue}`)
}
}
return `---\n${lines.join('\n')}\n---\n\n${content}`
}
+118
View File
@@ -0,0 +1,118 @@
import type { SidebarItem } from './types'
import { getPageDescription } from './descriptions'
import { normalizeLink } from './path-utils'
import { SectionLinkListItem } from '../../theme/components/SectionLinkList/SectionLinkList.types'
export const mergeSectionLinks = (
existingLinks: SectionLinkListItem[],
newLinks: SectionLinkListItem[]
) => {
const existingLinksMap = new Map<string, SectionLinkListItem>()
const result: SectionLinkListItem[] = []
const processedLinks = new Set<string>()
for (const existingLink of existingLinks) {
if (existingLink.link) {
const normalizedLink = normalizeLink(existingLink.link)
if (!existingLinksMap.has(normalizedLink)) {
existingLinksMap.set(normalizedLink, existingLink)
}
}
}
for (const newLink of newLinks) {
if (newLink.link) {
const normalizedLink = normalizeLink(newLink.link)
if (!processedLinks.has(normalizedLink)) {
processedLinks.add(normalizedLink)
if (existingLinksMap.has(normalizedLink)) {
const existingLink = existingLinksMap.get(normalizedLink)!
result.push({ ...existingLink, title: newLink.title })
} else {
result.push(newLink)
}
}
}
}
return result
}
export const extractTopLevelLinks = (
items: SidebarItem[],
currentIndexPath: string,
srcDir: string
) => {
const links: SectionLinkListItem[] = []
const normalizedCurrentPath = normalizeLink(currentIndexPath)
for (const item of items) {
if ('excludeFromIndex' in item && item.excludeFromIndex) {
continue
}
if (item.link) {
const normalizedItemPath = normalizeLink(item.link)
if (normalizedItemPath === normalizedCurrentPath) {
continue
}
links.push({
title: item.text || '',
link: item.link,
description: getPageDescription(item.link, srcDir)
})
}
}
return links
}
const findItemsRecursive = (
itemsList: SidebarItem[],
pagePath: string,
srcDir: string
): SectionLinkListItem[] => {
const normalizedPagePath = normalizeLink(pagePath)
const links: SectionLinkListItem[] = []
for (const item of itemsList) {
if (item.link) {
const normalizedItemPath = normalizeLink(item.link)
if (normalizedItemPath === normalizedPagePath && item.items && Array.isArray(item.items) && item.items.length > 0) {
for (const subItem of item.items) {
if ('excludeFromIndex' in subItem && subItem.excludeFromIndex) {
continue
}
if (subItem.link) {
links.push({
title: subItem.text || '',
link: subItem.link,
description: getPageDescription(subItem.link, srcDir)
})
}
}
return links
}
}
if (item.items && Array.isArray(item.items)) {
const found = findItemsRecursive(item.items, pagePath, srcDir)
if (found.length > 0) {
return found
}
}
}
return links
}
export const extractItemsForPage = (
items: SidebarItem[],
pagePath: string,
srcDir: string
) => findItemsRecursive(items, pagePath, srcDir)
@@ -0,0 +1,6 @@
export const normalizeLink = (link: string): string =>
!link ? '' : link
.replace(/^\/+/, '')
.replace(/\.md$/, '')
.replace(/\\/g, '/')
.trim()
+12
View File
@@ -0,0 +1,12 @@
import { SectionLinkListItem } from "../../theme/components/SectionLinkList/SectionLinkList.types"
export type SidebarItem = {
text: string
link?: string
items?: SidebarItem[]
}
export type Frontmatter = {
section_links?: SectionLinkListItem[]
[key: string]: string | number | boolean | string[] | SectionLinkListItem[] | undefined
}
@@ -44,21 +44,8 @@ watch(
<slot name="sidebar-nav-before" />
<div v-for="group in sidebarGroups" :key="group.text ?? ''" class="group">
<!-- Named group with collapsible items render via VPSidebarItem as-is -->
<template v-if="group.items && group.text">
<VPSidebarItem :item="group" :depth="0" />
</template>
<!-- Anonymous group (flat sidebar) render items one by one to handle WIP -->
<template v-else-if="group.items">
<template v-for="item in group.items" :key="item.text">
<div v-if="(item as any).wip" class="wip-item" data-tooltip="Раздел в разработке">
<span class="text">{{ item.text }}</span>
</div>
<VPSidebarItem v-else :item="item" :depth="0" />
</template>
</template>
<VPSidebarItem v-else :item="group" :depth="0" />
<div v-for="item in sidebarGroups" :key="item.text" class="group">
<VPSidebarItem :item="item" :depth="0" />
</div>
<slot name="sidebar-nav-after" />
@@ -2,6 +2,8 @@ export type SectionLinkListItem = {
title: string,
link: string,
description?: string
collapsed?: boolean
excludeFromIndex?: boolean
}
export type SectionLinkListProps = {
@@ -109,47 +109,6 @@
padding-bottom: 0px !important;
}
.wip-item {
position: relative;
padding: 12px 32px;
cursor: default;
user-select: none;
.text {
color: rgba(25, 28, 52, 0.28) !important;
font-size: 15px;
font-weight: 400;
line-height: 18px;
letter-spacing: 0.2px;
}
&::after {
content: attr(data-tooltip);
position: absolute;
left: 32px;
top: calc(100% + 4px);
z-index: 100;
padding: 6px 10px;
border-radius: 6px;
background-color: rgba(9, 11, 22, 0.82);
color: #fff;
font-size: 13px;
line-height: 18px;
white-space: nowrap;
pointer-events: none;
opacity: 0;
transition: opacity 0s;
}
&:hover::after {
opacity: 1;
}
}
.dark .wip-item .text {
color: rgba(255, 255, 255, 0.22) !important;
}
.VPLocalNav.has-sidebar {
@include media.max(sm) {
padding-left: 0px;
+1 -1
View File
@@ -1,6 +1,6 @@
@use '@beeline/design-tokens/scss/font-face';
@use "@beeline/design-tokens/scss/iconfont/iconfont" with (
$font-path-iconfont: '/fonts/iconfont'
$font-path-iconfont: '../assets/fonts/iconfont'
);
@use "@beeline/design-tokens/scss/iconfont/icons";
@use '@beeline/design-tokens/scss/tokens/themes/dark';
-144
View File
@@ -1,144 +0,0 @@
# Параметры конфигурации IPsec-соединения
В данном разделе приведены параметры конфигурации IPsec-соединения, используемого для организации защищенного канала связи между инфраструктурой заказчика и кластерами. Материал описывает настройки этапов установки соединения и передачи данных, включая методы аутентификации, алгоритмы шифрования и хеширования, группы Диффи-Хеллмана, а также параметры времени жизни ключей.
Ниже приведены основные параметры, задаваемые при развертывании кластера Kafka. Часть параметров определяется клиентом на этапе заказа услуги, часть - фиксирована и не подлежит изменению.
## Данные о конфигурации IPSEC
Параметры подключения (имя туннеля, устройство, публичный IP-адрес) заполняются вручную на основании информации, предоставленной заказчиком.
#### Версия IKE (Internet Key Exchange)
Версия IKE выбирается из выпадающего списка, который содержит в себе два параметра - **v1** и **v2**.
- **IKE v1** - более ранняя версия протокола;
- **IKE v2** - более современная версия (обеспечивает более устойчивое соединение и гибкую обработку ошибок).
Рекомендуется использовать **IKE v2**, если оборудование заказчика это поддерживает.
## Метод аутентификации
Метод аутентификации выбирается вручную из выпадающего списка, который содержит два варианта:
- **PSK (Pre-Shared Key)** - метод аутентификации, при котором используется заранее согласованный общий ключ;
- **Certificate** - аутентификация с использованием цифровых сертификатов.
## Этап 1 - установка защищенного соединения
#### Hash
Определяет алгоритм хеширования **для защиты управляющего канала**.
Данный параметр заполняется вручную из выпадающего списка следующего содержания:
- **SHA 1** - Формирует хеш длиной 160 бит, имеет коллизии (уязвимости), в современных системах считается устаревшим, используется только для совместимости со старым оборудованием;
- **SHA 2 - 256** - Формирует хеш длиной 256 бит, существенно более устойчив к атакам, оптимальный баланс между безопасностью и производительностью, а также, на сегодняшний день, является стандартом по умолчанию в большинстве систем;
- **SHA 2 - 384** - Длина хеша составляет 384 бита, имеет повышенную криптостойкость, требует больше вычислительных ресурсов, чем SHA-1 и SHA 2-256. Используется в средах с повышенными требованиями к безопасности;
- **SHA 2 - 512** - Длина хеша составляет 512 бит, осуществляет самый высокий уровень стойкости из перечисленных, а также создает большую нагрузку на процессор. Обычно применяется в системах с повышенными требованиями к криптографии.
#### Шифрование
Определяет **алгоритм симметричного шифрования.**
Данный параметр заполняется вручную из выпадающего списка следующего содержания:
- **AES 128** - имеет 128-битный ключ, обеспечивает быстрое шифрование, имеет достаточный уровень безопасности для большинства задач;
- **AES 256** - имеет 256-битный ключ, обеспечивает более высокую криптостойкость, оказывает немного большую нагрузку на CPU;
- **AES GCM 12** / **AES GCM 192** / **AES GCM 256** - данные алгоритмы совмещают шифрование и контроль целостности, обладают более современным режимом работы, считаются более эффективными по производительности, а также рекомендуются в современных конфигурациях. Разница между этими тремя алгоритмами лишь в длине ключа.
#### DH Group - группа Деффи Хеллмана
Механизм Diffie-Hellman используется **для безопасной генерации общего секретного ключа** между сторонами туннеля без передачи этого ключа по сети.
Чем выше номер группы и длина ключа - тем выше криптографическая стойкость соединения.
Данный параметр так же содержит в себе выпадающий список, состоящий из следующих значений:
- **group 2**;
- **group 5**;
- **group 14**;
- **group 15**;
- **group 16**;
- **group 19**;
- **group 20**;
- **group 21**.
#### IKE Mode (только для IKEv1)
Параметр IKE Mode **определяет способ установления соединения** на этапе 1 при использовании протокола IKEv1.
Доступны два режима: **Main** и **Aggressive**. Они отличаются количеством сообщений при установке соединения и уровнем защиты идентификационных данных.
- Main Mode - является стандартным и более безопасным режимом работы IKEv1.
- Aggressive Mode - упрощённый и ускоренный режим установления соединения. (более низкий уровень защиты данных)
#### Время жизни
Определяет, как долго действуют согласованные ключи в рамках первой фазы.
- Рекомендуемое значение: 86400 секунд (24 часа);
- После истечения времени выполняется повторная генерация ключей.
## Этап 2 - передача данных
Этап 2 IPsec-соединения отвечает за шифрование и защиту пользовательского трафика после того, как защищённый канал был установлен на этапе 1. Этот этап регулирует передачу данных между сторонами через безопасный туннель, который обеспечивает конфиденциальность и целостность данных.
#### Hash
Аналогично этапу 1, параметр Hash используется **для защиты целостности передаваемых данных**. Он обеспечивает проверку, что данные не были изменены при передаче.
Содержит элементы для выбора:
- **SHA 1**;
- **SHA 2 - 256**;
- **SHA 2 - 384**;
- **SHA 2 - 512**.
#### Шифрование
Этап 2 отвечает за **шифрование пользовательского трафика**. Это важнейший параметр, который защищает данные при их передаче по сети.
Доступны следующие алгоритмы:
- **AES 128**;
- **AES 256**;
- **AES GCM 128**;
- **AES GCM 192**;
- **AES GCM 256**.
#### PFS
**Enable perfect forward secrecy (PFS)** - параметр, активирующий генерацию нового ключа на этапе 2. При включенном PFS группа DH будет такая же как и на 1-й фазе. Данный параметр представлен в виде чекбокса.
При его включении:
- На этапе 2 выполняется дополнительный обмен ключами Diffie-Hellman;
- Для каждой новой IPsec-сессии формируется новый независимый криптографический секрет;
- Ключи шифрования пользовательского трафика не зависят от ключей этапа 1.
#### DH Group - группа Деффи Хеллмана
Группа DH **определяет параметры обмена ключами** между сторонами. Чем выше номер группы, тем выше криптографическая стойкость и безопасность обмена.
Данный параметр так же содержит в себе выпадающий список, состоящий из следующих значений:
- **group 2**;
- **group 5**;
- **group 14**;
- **group 15**;
- **group 16**;
- **group 19**;
- **group 20**;
- **group 21**.
#### Время жизни (в секундах)
Определяет, как долго действуют согласованные ключи в рамках второй фазы.
- Рекомендуемое значение: 3600 секунд (1 час).
- После истечения времени выполняется повторная генерация ключей.
#### Префиксы локальной сети заказчика
Этот параметр определяет, какие сети на стороне заказчика будут маршрутизироваться через IPsec-туннель.
Префиксы задаются в формате `192.168.1.0/24`, который позволяет указать диапазон IP-адресов.
-25
View File
@@ -1,25 +0,0 @@
---
section_links:
- title: Назначение сервиса
link: /PaaS/PostgreSQL/about.md
description: Конфигурации и возможности сервиса
- title: Параметры кластера PostgreSQL
link: /PaaS/PostgreSQL/cluster-parameter.md
description: Технические параметры кластера PostgreSQL
- title: Схема подключения
link: /PaaS/PostgreSQL/connection.md
description: Общая схема подключения к Cloud PostgreSQL
- title: Возможности пользователя
link: /PaaS/PostgreSQL/user-capabilities.md
description: Возможности пользователя при создании сервиса
- title: Веб-интерфейс Grafana
link: /PaaS/PostgreSQL/grafana.md
description: Инструкция по работе с Grafana
- title: Веб-интерфейс PgAdmin
link: /PaaS/PostgreSQL/pgadmin.md
description: Инструкция по работе с PgAdmin
---
# Cloud PostgreSQL
В данном разделе представлена документация по управляемому сервису **Cloud PostgreSQL** платформы Beeline Cloud.
-87
View File
@@ -1,87 +0,0 @@
# Cloud PostgreSQL
## Назначение сервиса
**Cloud PostgreSQL** - это управляемый облачный сервис реляционной базы данных PostgreSQL. Он позволяет развернуть и использовать отказоустойчивый кластер базы данных без необходимости самостоятельно настраивать серверы, репликацию и механизмы отказоустойчивости.
PostgreSQL - это современная система управления базами данных, которая поддерживает стандарт SQL и используется для хранения и обработки данных приложений.
В **Cloud PostgreSQL** все основные операции по управлению кластером выполняются автоматически.
Сервис самостоятельно:
- управляет ролями серверов базы данных (основной сервер и реплики);
- отслеживает состояние узлов;
- автоматически переключает основной сервер при сбоях.
Для обеспечения стабильной работы сервиса используется несколько инфраструктурных компонентов:
- **Patroni** - управляет кластером PostgreSQL и автоматическим переключением при отказах;
- **etcd** - хранит состояние кластера и обеспечивает согласованность работы узлов;
- **HAProxy** - обеспечивает единую точку подключения и распределяет клиентские подключения между узлами.
Подключение к базе данных выполняется через прокси-узлы сервиса. Пользователю не требуется подключаться к отдельным серверам кластера — все операции производятся через единую точку доступа.
Для управления базами данных и пользователями доступен [web-интерфейс **pgAdmin**](./pgadmin.md), позволяющий выполнять администрирование непосредственно через браузер.
## Конфигурации кластера
Сервис **Cloud PostgreSQL** поддерживает версии СУБД с 13 по 17 включительно.
Кластер предоставляется в архитектуре Primary–Standby, которая обеспечивает:
- синхронную репликацию данных;
- повышенную отказоустойчивость.
В рамках данной конфигурации создаётся кластер из виртуальных серверов, включающий:
- **Primary** (основной сервер) — обязательный узел, на котором выполняются операции записи данных;
- **Replica** (реплики) — дополнительные узлы (от 0 до 4), создаваемые по желанию пользователя.
Реплики являются полноценными участниками кластера PostgreSQL и могут использоваться для выполнения запросов, не изменяющих данные (например, SELECT).
В многоузловой конфигурации серверы кластера размещаются на разных физических хостах гипервизора, что повышает устойчивость сервиса к отказам оборудования.
## Режимы репликации
По умолчанию фиксация изменений выполняется в **синхронном режиме**. Это означает, что операция записи считается завершённой только после того, как данные будут зафиксированы как на основном сервере, так и на одной из реплик.
Если в кластере настроено несколько реплик, синхронный режим применяется только к одной из них. Остальные реплики работают в асинхронном режиме — изменения передаются на них без ожидания подтверждения.
При необходимости режим репликации может быть изменён на полностью **асинхронный**. В этом случае изменения сначала фиксируются на основном сервере, а затем передаются на реплики с задержкой.
## Доступ к серверам и оптимизация соединений
Прямой доступ к серверам кластера (например, по протоколу SSH) не предоставляется. Пользователь взаимодействует с базой данных исключительно через точки подключения, предоставленные сервисом.
На каждом узле кластера установлен пулер соединений **PgBouncer**, который может использоваться для ускорения работы приложений за счёт оптимизации подключений к базе данных.
::: warning Примечание
Использование PgBouncer не является обязательным - подключение возможно как напрямую к PostgreSQL, так и через пулер, а также одновременно обоими способами.
:::
## Возможности сервиса
**Cloud PostgreSQL** предоставляет набор возможностей, позволяющих использовать PostgreSQL в облаке без необходимости самостоятельного администрирования инфраструктуры.
Сервис обеспечивает:
- автоматическое управление кластером PostgreSQL;
- высокую доступность за счёт репликации и автоматического переключения primary-узла;
- единую точку подключения к базе данных через прокси;
- автоматическое переключение при отказе узлов кластера без вмешательства пользователя;
- web-доступ к управлению базами данных и пользователями через pgAdmin;
- совместимость со стандартными клиентскими инструментами PostgreSQL;
- возможность установки расширений PostgreSQL в базу данных.
## Сценарии использования сервиса
**Cloud PostgreSQL** подходит для использования в системах, где требуется надёжное хранение данных и упрощённое управление инфраструктурой базы данных.
Сервис может применяться в следующих сценариях:
- размещение production-баз данных с высокими требованиями к доступности;
- использование PostgreSQL в микросервисной архитектуре с единой точкой подключения к базе данных;
- хранение критичных данных с минимальным временем простоя при отказах инфраструктуры;
- быстрое развёртывание PostgreSQL-кластера без необходимости ручной настройки репликации и failover;
- администрирование баз данных через веб-интерфейс без прямого доступа к серверам кластера.
-81
View File
@@ -1,81 +0,0 @@
# Описание технических параметров
Данный раздел содержит технические параметры кластера PostgreSQL и порядок их первичной конфигурации.
Настройка указанных параметров выполняется администратором облачного провайдера на этапе развёртывания сервиса. Пользователь не имеет прямого доступа к их самостоятельной установке.
Перед созданием кластера клиент предоставляет перечень требуемых параметров менеджеру. Администратор облачного провайдера выполняет конфигурацию в соответствии с согласованными требованиями.
## Выбор типа и размера дискового хранилища
Производительность базы данных напрямую зависит от скорости, с которой она может читать и записывать данные на диск. При заказе кластера необходимо выбрать тип дискового хранилища, который определит максимальную скорость работы (IOPS) и время отклика.
**IOPS (Input/Output Operations Per Second)** — количество операций чтения или записи, которые диск может выполнить за секунду. Чем выше этот показатель, тем быстрее база данных обрабатывает запросы.
## Доступные типы хранилищ:
| Название | Лимит IOPS |
| -------------- | ------------------ |
| **Fast SAS** | до 2 IOPS на 1 ГБ |
| **SSD** | до 5 IOPS на 1 ГБ |
| **Fast SSD** | до 10 IOPS на 1 ГБ |
| **Ultra NVMe** | до 25 IOPS на 1 ГБ |
::: warning Примечание
После выбора типа диска необходимо указать объем дискового хранилища, который будет выделен под данные кластера PostgreSQL. Минимальный объем - 50 ГБ.
:::
## Конфигурация вычислительных ресурсов
В данном разделе определяются вычислительные мощности кластера: процессорные ресурсы, оперативная память и количество серверов (нод), из которых будет состоять кластер PostgreSQL.
#### Количество нод в кластере
Количество нод определяет отказоустойчивость кластера и возможность распределять запросы на чтение между репликами. Чем больше нод, тем выше надёжность и производительность операций чтения.
Количество нод выбирается в диапазоне **от 1 до 5**.
#### Процессор (CPU)
Процессор — это вычислительная мощность, выделяемая каждой ноде кластера. Количество vCPU определяет, насколько быстро база данных сможет:
- обрабатывать запросы;
- выполнять сложные операции (сортировки, объединения таблиц);
- обслуживать одновременные подключения.
Доступный диапазон: **от 2 до 24 vCPU** на ноду.
#### Оперативная память (RAM)
Оперативная память — один из ключевых ресурсов для производительности базы данных. Данные, помещающиеся в RAM, обрабатываются максимально быстро, без обращения к диску.
Доступный диапазон: **от 4 до 768 ГБ RAM** на ноду.
#### Доступ в интернет
При заказе сервиса можно выбрать пропускную способность канала связи, через который будет осуществляться доступ к кластеру PostgreSQL из сети интернет.
**Доступные варианты скорости:**
- 50 Мбит/с;
- 100 Мбит/с;
- 200 Мбит/с;
- 300 Мбит/с;
- 400 Мбит/с;
- 500 Мбит/с;
- 1000 Мбит/с (1 Гбит/с).
::: warning Примечание
Для выбранного канала предоставляется статический белый IP-адрес.
:::
## Сетевой доступ к кластеру
Для организации защищенного подключения к кластеру Kafka доступны стандартные механизмы, используемые во всех сервисах платформы:
- **IPsec-подключение** - организация защищенного туннеля между инфраструктурой и кластером PostgreSQL. Подробнее см. [раздел IPsec](../IPSEC.md);
- **Interconnection** - прямое сетевое соединение между сервисами внутри платформы без выхода в интернет. Подробнее см. раздел Interconnection.
Выбор конкретного способа подключения зависит от архитектуры приложений и требований к безопасности.
-88
View File
@@ -1,88 +0,0 @@
# Общая схема подключения
Подключение к кластеру **Cloud PostgreSQL** осуществляется через прокси-сервер. Клиентские подключения принимаются прокси, который маршрутизирует трафик к соответствующим узлам кластера (master или replica) в зависимости от выбранного порта.
Прокси является единой точкой входа для всех клиентских подключений и принимает входящие соединения от приложений, административных инструментов и пользователей.
В зависимости от выбранного порта прокси автоматически направляет трафик:
- **на активный primary-узел** - для операций чтения и записи
- **на реплики** - для операций только чтения
::: warning Примечание
Прямое подключение к отдельным узлам базы данных **не используется и не предоставляется**. Взаимодействие с кластером всегда выполняется **через прокси-сервер**.
:::
## Подключение к базе данных
Для подключения к базе данных необходимо использовать IP-адрес прокси-сервера, который предоставляется после заказа услуги.
Этот IP-адрес является единой точкой входа для работы с кластером PostgreSQL. Все подключения к базе данных - как из приложений, так и из клиентских инструментов - выполняются через него.
Использование других IP-адресов или попытка прямого подключения к отдельным узлам кластера не предусмотрены.
## Доступные порты
Для разных типов нагрузки используются разные порты:
|Порт |Назначение |
|------|-----------------------------------------|
|5432 |Primary (чтение и запись) |
|15432 |Replica (только чтение) |
|6432 |Primary через PgBouncer (чтение и запись)|
|16432 |Replica через PgBouncer (только чтение) |
#### Особенности работы портов
- Порты **для чтения и записи** (5432, 6432) всегда направляют трафик на активный primary-узел. При смене primary переключение происходит автоматически;
- Порты **только для чтения** (15432, 16432) направляют трафик на активные реплики. Если реплик несколько, нагрузка распределяется между ними по принципу round-robin;
- Если в кластере **отсутствуют реплики**, порты для чтения не используются - подключение по ним не устанавливается.
#### Рекомендации по выбору порта
- Для OLTP-нагрузки и большого количества соединений рекомендуется использовать **порты PgBouncer (6432 или 16432)**;
- Для операций записи используйте **master-порты (5432 или 6432)**;
- Для read-only запросов можно использовать **replica-порты (15432 или 16432)**.
## Доступ к pgAdmin
Для администрирования базы данных используется [web-интерфейс pgAdmin](./pgadmin.md).
Доступ осуществляется по DNS-имени, которое нужно прописать локально в инфраструктуре откуда будет происходить доступ к web-интерфейсу сервиса:
`10.X.X.4 <domain>.cloud-pg.dfcloud.ru`
После добавления записи pgAdmin будет доступен по адресу:
`https://<domain>.cloud-pg.dfcloud.ru`
Авторизация выполняется с использованием учётных данных, предоставленных вместе с доступом к сервису.
::: warning Примечание
- подключение к базе данных возможно только через указанный прокси-IP;
- в интерфейсе pgAdmin уже добавлен сервер базы данных, созданный для данной инсталляции. Для подключения требуется ввести пароль от учётной записи базы данных;
- pgAdmin предназначен для администрирования и не рекомендуется для выполнения тяжёлых или длительных запросов в production-среде.
:::
## Примеры подключения к PostgreSQL
Подключение к primary:
`psql -h 10.X.X.4 -p 5432 -U <username> -d <database>`
Подключение через PgBouncer:
`psql -h 10.X.X.4 -p 6432 -U <username> -d <database>`
#### Подключение через DBeaver / DataGrip
При создании подключения укажите:
- Host: 10.X.X.4;
- Port: 5432 или 6432;
- Database: `<database>`;
- User / Password: согласно выданным доступам;
- Тип подключения: PostgreSQL.
#### Пример строки подключения
Primary:
`postgresql://<username>:<password>@10.X.X.4:5432/<database>`
Через PgBouncer:
`postgresql://<username>:<password>@10.X.X.4:6432/<database>`
-104
View File
@@ -1,104 +0,0 @@
# Grafana
## Инструкция по работе с метриками
Доступ к метрикам кластера предоставляется после запроса соответствующих прав. После получения доступа можно перейти в систему мониторинга по ссылке: https://metrics.dfcloud.ru. После перехода по ссылке будет представлена главная страница Grafana.
Для просмотра метрик кластера PostgreSQL выполните следующие шаги:
1. В левом боковом меню нажмите **Dashboard**;
2. В списке доступных дашбордов выберите **папку Cloud PostgreSQL**;
3. Внутри папки выберите **дашборд Cloud PostgreSQL** — в нём отображаются все метрики кластера.
## Управление отображаемыми данными
В верхней части дашборда доступны селекторы для настройки отображения:
- **InstallationID** - выбор одного опеределенного кластера;
- **Cluster node name** - выбор конкретного нода кластера, в котором значения графиков меняются в зависимости от выбранного хоста (селектор влияет на все графики, кроме блока Patroni);
- **Database** - выбор базы данных, по которым отображаются метрики;
- **Lock table** - выбор типа блокировки для отображения (применим не для всех графиков).
## Метрики PostgreSQL
Метрики отображают ключевые параметры конфигурации и текущие показатели работы экземпляра PostgreSQL.
| Наименование метрики | Описание метрики |
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------|
| **Version** | Показывает текущую версию PostgreSQL, установленную на кластере. |
| **Current fetch data** | Объем данных, извлеченных из базы за текущий период (операции чтения). |
| **Current insert data** | Объем данных, вставленных в базу (операции записи новых данных). |
| **Current update data** | Объем данных, обновленных в базе. |
| **Seq Page Cost** | Стоимость последовательного чтения страницы данных. Влияет на выбор плана запроса: чем выше значение, тем реже оптимизатор будет выбирать последовательное сканирование таблиц. |
| **Random Page Cost** | Стоимость чтения случайной страницы данных. Низкое значение говорит о том, что в системе используются быстрые диски, и оптимизатор будет чаще выбирать доступ по индексам. |
| **Max Connections** | Максимальное количество одновременных подключений к базе данных, разрешенное на сервере. |
| **Shared Buffers** | Объем оперативной памяти, выделенный под кэш данных PostgreSQL. Здесь хранятся часто используемые данные для ускорения доступа к ним. |
| **Effective Cache** | Предполагаемый размер системного кэша файлов. Используется оптимизатором для оценки вероятности нахождения данных в кэше операционной системы. |
| **Maintenance Work Mem** | Объем памяти для выполнения операций обслуживания. |
| **Work Mem** | Объем памяти, выделяемый для внутренних сортировок и хеш-таблиц при выполнении запросов (на каждую операцию). |
| **Max WAL Size** | Максимальный размер журнала предзаписи, после достижения которого запускается процесс контрольной точки (checkpoint). |
| **Max Worker Processes** | Максимальное количество фоновых процессов, которые могут быть запущены в системе. |
| **Max Parallel Workers** | Максимальное количество параллельных процессов, которые могут быть задействованы при выполнении одного запроса. |
## Метрики Database Stats
Метрики отображают текущую нагрузку и состояние баз данных в кластере PostgreSQL. Данные метрики позволяют:
- оценить эффективность работы баз данных;
- отследить скачки нагрузки;
- своевременно среагировать на потенциальные проблемы до того, как они повлияют на работу приложений.
| Наименование | Описание |
|---------------------------| -------------------|
| **Average CPU Usage** | Показывает время, затраченное на выполнение пользовательских и системных задач, а также, насколько интенсивно используются вычислительные ресурсы сервера базы данных. |
| **Average Memory Usage** | Средний объем оперативной памяти, используемой процессами PostgreSQL за 5-минутные интервалы. Показывает, сколько памяти потребляет база данных в процессе работы. |
| **Open File Descriptors** | Количество открытых файловых дескрипторов процессами PostgreSQL. Метрика показывает среднее (Mean), последнее (Last), максимальное (Max) и минимальное (Min) значение за интервал. |
| **Active sessions** | Показывает, сколько в данный момент выполняется запросов к PostgreSQL. Метрика показывает среднее (Mean), последнее (Last), максимальное (Max) значение. |
| **Transcations** | Количество транзакций в базах данных кластера. Метрика разделена на два типа операций: commits (успешно завершенные транзакции) и rollbacks (откаченные транзакции). |
| **Update data** | Объем данных, обновленных в базах данных кластера. Показывает, сколько данных было изменено в результате выполнения операций UPDATE. |
| **Fetch data (SELECT)** | Объем данных, извлеченных из базы с помощью запросов SELECT. Показывает, сколько данных было считано из базы в результате операций чтения. |
| **Insert data** | Объем данных, вставленных в базы данных кластера. Показывает, сколько данных было добавлено в результате выполнения операций INSERT. |
| **Lock tables** | Количество блокировок таблиц в базах данных кластера. Показывает, сколько раз таблицы были заблокированы для выполнения операций.<br>AccessShareLock - это блокировка, которая возникает, когда кто-то читает данные из таблицы (делает SELECT). Данная блокировка не мешает операциям чтения, но не дает удалить в этот момент таблицу или изменить ее структуру. |
| **Return data** | Объем данных, возвращаемых клиенту в результате выполнения запросов. Показывает, сколько данных было отправлено обратно клиенту после обработки запросов в базе. |
| **Idle sessions** | Количество бездействующих сессий подключения к базе данных. Показывает, сколько открытых подключений в данный момент не выполняют никаких запросов и просто ждут. |
| **Delete data** | Объем данных, удаленных из базы данных в результате выполнения операций DELETE. Показывает, сколько данных было удалено из таблиц. |
| **Cache Hit Rate** | Показывает процент запросов к данным, которые были удовлетворены из кэша (оперативной памяти), без обращения к диску. Показывает, насколько эффективно используется кэш PostgreSQL. |
| **Buffers (bgwriter)** | Метрика, показывающая активность фонового процесса записи, который занимается синхронизацией данных из оперативной памяти на диск. |
| **Conflicts/Deadlocks** | Метрика, отслеживающая две проблемы при работе с базой данных: конфликты восстановления и взаимоблокировки. |
| **Temp File (Bytes)** | Объем данных, записанных во временные файлы при выполнении запросов в базах данных. PostgreSQL создает временные файлы на диске, когда для выполнения запроса не хватает оперативной памяти. |
| **Checkpoint Stats** | Метрика, показывающая время, затрачиваемое на выполнение checkpoints в PostgreSQL, где: <br>- **write_time** - время, затраченное на запись данных на диск во время checkpoint (сколько миллисекунд ушло на запись файлов).<br>- **sync_time** - время, затраченное на синхронизацию файлов с диском (чтобы данные гарантированно сохранились). |
## Метрики Patroni
Метрик отображают состояние и конфигурацию кластера PostgreSQL под управлением Patroni. Эти метрики позволяют контролировать отказоустойчивость кластера, отслеживать переключения мастера и убеждаться, что репликация работает штатно.
| Наименование | Описание |
|------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------|
| **Patroni Leader** | Метрика, которая показывает, какая нода в кластере PostgreSQL в данный момент является master-сервером, принимающим запросы на запись. |
| **Patroni Replica** | Метрика, которая показывает, какие узлы кластера PostgreSQL в данный момент выполняют роль реплики. |
| **Sync Standby** | Метрика, которая показывает, какая из реплик в кластере PostgreSQL назначена синхронной. |
| **PostgreSQL WAL Replay** | Метрика, которая показывает, включена ли на узлах кластера синхронизация данных через WAL. |
| **PostgreSQL Pending Restart** | Метрика, которая показывает, требуется ли перезагрузка PostgreSQL на узлах кластера после изменения конфигурационных параметров. |
| **Patroni Primary Node** | Метрика, которая показывает, какой узел в кластере PostgreSQL в данный момент является основным и принимает запросы на запись. |
| **Patroni Secondary Nodes** | Метрика, которая показывает, какие узлы кластера PostgreSQL в определенные моменты времени выполняли роль реплик. |
| **Replicas Received WAL Location** | Метрика, показывающая объем журналов предзаписи (WAL), полученных каждой репликой кластера. |
| **Primary WAL Location** | Метрика, показывающая объем журналов предзаписи (WAL), на основном сервере кластера PostgreSQL. |
| **Replicas Replayed WAL Location** | Метрика, показывающая объем журналов предзаписи (WAL), которые были не просто получены, а уже применены на репликах кластера. |
| **WAL Replay Paused** | Метрика, которая отслеживает, не приостановлен ли процесс применения WAL-журналов на узлах кластера. Если передача или применение WAL-файлов останавливается, на графике происходит скачок. |
## Метрики Hosts
Блок Hosts управляется селектором **Cluster node name**. Метрики отображают состояние и ресурсы серверов, на которых развернут кластер PostgreSQL. Данные метрики позволяют оценить, хватает ли серверу ресурсов для текущей нагрузки, и своевременно обнаружить проблемы с производительностью или нехваткой места на дисках.
| Наименование | Описание |
| -------------------------------|-------------------------------------------------------------------------------------------------------------------------------|
| **CPU Busy** | Метрика, показывающая общую загруженность всех процессорных ядер на сервере, где работает PostgreSQL. |
| **RAM Used** | Метрика, показывающая процент оперативной памяти, который занят на сервере всеми процессами. |
| **CPU Cores** | Метрика, показывающая общее количество процессорных ядер, доступных на сервере, где работает PostgreSQL. |
| **RAM Total** | Метрика, показывающая общий объем оперативной памяти, установленный на сервере. |
| **DB Disk Total** | Метрика, показывающая общий объем дискового пространства, выделенного для хранения данных базы данных PostgreSQL на сервере. |
| **CPU Basic** | Метрика, которая показывает детальную разбивку загрузки процессора по типам выполняемых задач. Она позволяет увидеть, на что именно тратится процессорное время на сервере. |
| **Memory Basic** | Метрика, которая показывает детальную разбивку использования оперативной памяти на сервере, а также информацию о SWAP. |
| **Disk IOps** | Метрика, показывающая количество операций чтения и записи, выполняемых на диске сервера в секунду. |
| **Disk Space Used Basic** | Метрика, показывающая процент занятого дискового пространства на всех подключенных файловых системах сервера. |
| **Disk R/W Data** | Показывает объем данных в байтах, читаемых с диска и записываемых на диск в секунду. |
| **Filesystem space available** | Метрика, показывающая объем свободного дискового пространства на файловой системе сервера. |
-67
View File
@@ -1,67 +0,0 @@
# PgAdmin
После предоставления доступа к сервису **Cloud PostgreSQL** пользователь получает возможность управлять базами данных через веб-интерфейс **pgAdmin**. Ниже приведена инструкция по входу в систему и выполнению основных операций.
## Вход в pgAdmin
1. Откройте веб-браузер и перейдите по адресу, предоставленному для доступа к pgAdmin;
2. На странице авторизации введите **логин и пароль от pgAdmin**;
> Учетные данные направляются пользователю на электронную почту при предоставлении доступа.
3. После входа в систему в левой панели навигации откройте раздел **Servers**;
4. Выберите предварительно настроенный сервер с названием **PostgreSQL**;
5. В открывшемся окне введите пароль;
> Важно: на данном этапе необходимо указать **пароль учетной записи базы данных**, а не пароль от pgAdmin.
6. Нажмите **ОК**.
После успешной аутентификации станет доступен веб-интерфейс СУБД PostgreSQL.
## Реплики и параметры конфигураций
pgAdmin позволяет осуществлять мониторинг реплик, входящих в состав кластера. Чтобы просмотреть список реплик необходимо открыть раздел **Replica nodes** в панели навигации.
### Просмотр состояния репликаций
Чтобы проверить состояние репликации:
1. Выберите нужную реплику в разделе **Replica nodes**;
2. Перейдите в подраздел **Replication**;
3. Откройте пункт **Replication stats**;
4. Разверните раздел **Подробности** - в нем отображаются все параметры и текущее состояние репликации.
Вкладка **Replication** позволяет определить, выполняется ли передача данных на дополнительные узлы кластера.
### Просмотр конфигураций реплики
Чтобы просмотреть **параметры конфигурации PostgreSQL**, применённые к конкретной реплике, перейдите в раздел **Конфигурация**, расположенный в блоке **Replica nodes**.
Раздел **Конфигурация** содержит следующие параметры:
- **Имя** - наименование конфигурационного параметра;
- **Категория** - логическая группа параметра;
- **Значение** - текущее установленное значение;
- **Единицы** - единицы измерения (если применимо);
- **Описание** - краткое пояснение назначения параметра.
> Вкладка **Конфигурация** предназначена для просмотра текущих настроек реплики.
## Базы данных
### Просмотр существующих баз данных:
Чтобы просмотреть существующие базы данных, откройте раздел Базы данных в левой панели навигации. В этом разделе отображается перечень всех созданных баз.
### Создание новой базы данных:
1. Щелкните правой кнопкой мыши по разделу **Базы данных**;
2. В контекстном меню выберите **Создать**, затем - **База данных**;
3. Заполните обязательные поля в открывшейся форме;
4. Нажмите **Сохранить**.
## Роли входа / группы
В разделе **Роли входа/группы** отображается список пользователей (ролей), имеющих доступ к базам данных кластера.
### Создание новой роли:
1. Щелкните правой кнопкой мыши по разделу **Роли входа/группы**;
2. Выберите **Создать**, затем - **Роль входа/группы**;
3. Заполните необходимые параметры в форме создания роли;
4. Нажмите **Сохранить**.
-119
View File
@@ -1,119 +0,0 @@
# Возможности пользователя
Данный раздел описывает права, которые предоставляются пользователю PostgreSQL при создании сервиса **Cloud PostgreSQL**, а также перечень административных операций, доступных ему для самостоятельного выполнения.
При развертывании сервиса автоматически создаётся пользователь базы данных с преднастроенными атрибутами и привилегиями. Эти права позволяют заказчику самостоятельно управлять своими базами данных, ролями и пользователями в рамках созданного экземпляра PostgreSQL.
## Общая информация о пользователе
При инициализации сервиса автоматически создаётся пользователь:
```nginx
client
```
Данный пользователь является основной учётной записью для административной работы в рамках предоставленного экземпляра PostgreSQL.
Он предназначен для самостоятельного управления в пределах выданных привилегий:
- базами данных;
- ролями;
- правами доступа.
## Выданные права и ограничения
Пользователю `client` назначается набор атрибутов и привилегий, позволяющих выполнять административные операции в рамках своего экземпляра базы данных.
#### Атрибуты роли
Пользователь создаётся со следующими атрибутами:
- `CREATEDB` — разрешено создание и удаление баз данных;
- `CREATEROLE` — разрешено создание ролей и пользователей, а также управление их.
Атрибут `SUPERUSER` пользователю не предоставляется. Соответственно, доступ к системным операциям уровня кластера и настройкам сервера отсутствует.
#### Права на системную базу postgres:
К стандартной базе данных `postgres` пользователю предоставлено только право подключения — `CONNECT`
**Иные привилегии (создание объектов, изменение схем и т.д.) на данную базу не выдаются.**
## Мониторинг и системные представления
Для выполнения базовых задач мониторинга пользователю дополнительно предоставлены:
- членство в роли `pg_monitor`;
- право `SELECT` на системное представление:
```sql
pg_catalog.pg_stat_replication
```
Доступ к системной информации предоставляется исключительно **в режиме чтения**. Изменение системных представлений и параметров сервера недоступно.
## Изменение пароля
После первого подключения к базе данных пользователь `client` обязан выполнить изменения пароля.
Изменить пароля можно:
- в открытом виде (с передачей нового значения пароля);
- с указанием заранее сгенерированного хэша.
На сервере используется алгоритм шифрования паролей:
```
scram-sha-256
```
При использовании **SCRAM** применяется следующий формат хэша:
```
$<iterations>:<salt>$<storedkey>:<serverkey>
```
| Операция | Описание | Команда SQL |
|----------|----------|-------------|
|Смена пароля в открытом виде | Для смены пароля в открытом виде | ```ALTER USER client WITH PASSWORD 'new_strong_password';``` |
|Смена пароля с указанием хэша | Рекомендуется использовать сложный уникальный пароль, соответствующий требованиям информационной безопасности, и хранить его в защищённом хранилище | ```ALTER USER client WITH ENCRYPTED PASSWORD '$4096:...';``` |
|Создание новой базы данных | Для создания базы данных | ```CREATE DATABASE app_db;``` |
|Создание базы данных с указанием владельца | Пользователь, указанный как владелец, будет иметь полный контроль над базой данных, включая права на её удаление и изменение. По умолчанию владельцем создаваемой базы данных является пользователь, который её создает | ```CREATE DATABASE app_db OWNER client;``` |
## Создание пользователей и ролей
Пользователь `client` имеет право создавать новые роли и пользователей для приложений, а также управлять их правами доступа.
| Операция | Описание | Команда SQL |
|----------|----------|-------------|
|Создание роли без логина | Для входа в базу данных (например, для организации прав доступа) | ```CREATE ROLE app_role; ```|
|Создание пользователя с паролем | Для создания пользователя с паролем. После выполнения этой команды новый пользователь `app_user` будет иметь возможность входа в базу данных, используя указанный пароль. | ```CREATE USER app_user WITH PASSWORD 'app_password';``` |
|Назначение роли пользователю | Для назначения роли пользователю. Данная команда позволяет управлять правами пользователя в рамках определённой роли. После выполнения этой команды пользователь `app_user` станет членом роли `app_role`, и будет наследовать все права, связанные с этой ролью. | ```GRANT app_role TO app_user; ``` |
## Управление правами доступа
После создания пользователей и ролей необходимо назначить им соответствующие права доступа.
| Операция | Описание | Команда SQL |
|----------|----------|-------------|
|Передача владельца базы данных | Для передачи прав владения базой данных другому пользователю. После выполнения этой команды база данных `app_db` будет принадлежать пользователю `app_user`, и он будет иметь полный контроль над ней.| ```ALTER DATABASE app_db OWNER TO app_user;``` |
|Выдача прав на подключение к базе данных | Для предоставления прав к подключению к базе данных. После выполнения этой команды пользователь может `app_user` подключаться к базе данных `app_db`. | ```GRANT CONNECT ON DATABASE app_db TO app_user;```|
|Предоставление прав на схему public | Для предоставления прав на использование схемы `public`. После выполнения этой команды пользователь `app_user` может использовать объекты в схеме `public`, а также создавать новые объекты внутри неё. | ```GRANT USAGE, CREATE ON SCHEMA public TO app_user;```|
|Предоставление прав на существующие таблицы | Для предоставления доступа пользователю к существующим таблицам в схеме `public`. После выполнения этой команды пользователь `app_user` может выполнять операции чтения, вставки, обновления и удаления данных в существующих таблицах схемы `public`.| ```GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO app_user;``` |
|Предоставление прав на будущие таблицы | Если необходимо автоматически предоставить пользователю права на новые таблицы, создаваемые в схеме `public`. После выполнения этой команды все будущие таблицы, создаваемые в схеме `public`, будут автоматически иметь права для пользователя `app_user` на чтение, вставку, обновление и удаление данных. | ```ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO app_user;```|
## Мониторинг репликации
Пользователь `client` имеет доступ к системным представлениям для мониторинга состояния репликации в кластере PostgreSQL.
| Операция | Описание | Команда SQL |
|----------|----------|-------------|
|Просмотр состояния репликации | Для просмотра текущего статуса репликации. Этот запрос возвращает информацию о всех репликах, подключённых к основному (primary) серверу. |```SELECT * FROM pg_stat_replication;```|
::: warning Ограничения доступа реплкации
Пользователь `client` имеет доступ к данным в представлении `pg_stat_replication` только в режиме **read-only**. Это означает, что он может просматривать состояние репликации, но не может изменять или вмешиваться в процесс репликации.
:::
-12
View File
@@ -1,12 +0,0 @@
---
section_links:
- title: Cloud PostgreSQL
link: /PaaS/PostgreSQL/PostgreSQL-index.md
description: Обзор сервиса PostgreSQL
- title: IPSEC
link: /PaaS/IPSEC.md
description: Параметры конфигурации IPSEC
---
# Начало работы в Cloud PostgreSQL
+12
View File
@@ -0,0 +1,12 @@
---
section_links:
- title: Управление ключевыми парами
link: /admin/ssh.md
description: Добавление SSH-ключей для подключения к виртуальным машинам
---
# Администрирование
При [регистрации пользователя](../start/getting-started.md#1-регистрация-в-beeline-cloud) в Beeline Cloud создается аккаунт и проект в Beeline Cloud.
С помощью аккаунта можно управлять профилем пользователя - добавлять SSH-ключи, чтобы подключаться к виртуальным машинам без ввода пароля.
+56
View File
@@ -0,0 +1,56 @@
# Управление ключевыми парами
SSH-ключи используются для подключения к виртуальной машине по SSH. SSH-ключ позволит подключаться к виртуальному серверу без ввода пароля.
SSH-ключ состоит из публичного и приватного ключей: публичный ключ хранится в профиле пользователя в публичном облаке, приватный — хранится у пользователя.
::: warning Важно
SSH-ключ добавляется на этапе [создания виртуальной машины](../compute/compute-how-to/compute-servers-create.md#создать-виртуальную-машину). Подключиться к существующим виртуальным машинам по SSH-ключу не получится.
:::
## Добавить SSH-ключ
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
2. Перейдите в профиль пользователя в правом верхнем углу.
3. Перейдите в раздел **SSH-ключи**.
4. Нажмите **Добавить ключ**.
5. Укажите название ключа.
6. Откройте терминал и сгенерируйте ключевую пару. Можно использовать команду:
```sh
ssh-keygen -t ed25519 -C “login” -Z aes256-gcm@openssh.com
```
7. Результатом выполнения команды будет сгенерированная ключевая пара. По умолчанию ключи сохраняются в каталоге `~/.ssh` для ОС Linux или `C:\users\имя_пользователя\.ssh\` для ОС Windows.
8. Перейдите в каталог с ключевой парой и скопируйте публичную часть ключа. Пример публичной части ключа:
```
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5ABFLIFyapYheN7OZNhTaNqEHefjmU5mtzK********+gRPCz user@Desktop
```
9. Перейдите в консоль управления и вставьте скопированную публичную часть ключа в поле **SSH-ключ**.
10. Нажмите **Сохранить**.
## Посмотреть SSH-ключи
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
2. Перейдите в профиль пользователя в правом верхнем углу.
3. Перейдите в раздел **SSH-ключи**.
4. В таблице показаны SSH-ключи пользователя.
## Изменить название SSH-ключа
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
2. Перейдите в профиль пользователя в правом верхнем углу.
3. Перейдите в раздел **SSH-ключи**.
4. Выберите нужный ключ.
5. Нажмите на &hellip; и выберите **Редактировать**.
6. Измените имя ключа.
7. Нажмите **Сохранить**.
## Удалить SSH-ключ
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
2. Перейдите в профиль пользователя в правом верхнем углу.
3. Перейдите в раздел **SSH-ключи**.
4. Выберите нужный ключ.
5. Нажмите на &hellip; и выберите **Удалить**.
6. Нажмите **Удалить**, чтобы подтвердить удаление ключа.
+8
View File
@@ -0,0 +1,8 @@
# О сервисе
Сервиса **Резервное копирование** — это сервис для сохранения данных и конфигураций виртуальных машин с возможностью последующего восстановления. В облачной среде резервные копии позволяют вернуть систему в рабочее состояние после сбоя и поддерживать доступность сервисов.
Резервное копирование подключается:
- для [виртуальных машин, развернутых в Beeline Cloud](./backup-internal-infra.md);
- для [собственной инфраструктуры](./backup-external-infra.md).
+54
View File
@@ -0,0 +1,54 @@
# Резервное копирование собственной инфраструктуры в Beeline Cloud
## Перед началом работы
- Зарегистрируйтесь в [личном кабинете Beeline Cloud](https://console.cloud.beeline.ru/).
- [Создайте](../vdc/vdc-how-to/vdc-create.md#создание-дата-центра) виртуальный дата-центр.
- [Создайте](../vdc/vdc-how-to/vm/create-vm.md) виртуальную машину в виртуальном дата-центре.
## Подключить резервное копирование
1. Войдите в [личный кабинет Beeline Cloud](https://lk.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню перейдите в **Сервисы****Резервное копирование**.
4. Нажмите кнопку **Создать хранилище**.
5. В разделе **Инфраструктура для копирования** выберите опцию **Локальная**.
6. В разделе **Тип подключения** выберите способ резервного копирования:
- **Veeam Agent**: резервное копирование в beeline cloud при помощи Veeam Agent.
- **Veeam Cloud Connect**: подключение Veeam к облачному репозиторию beeline cloud.
- **Киберпроект**: резервное копирование в beeline cloud при помощи Киберпротект.
:::tabs
== Veeam Agent / Veeam Cloud Connect
- В разделе **Сетевые подключения** выберите тип подключения:
- **Интернет**: интернет-соединение.
- **L2 или L3 канал**: выделенное интернет-соединение.
- для **L2 или L3 канал** укажите способ связи с вами и удобное время для консультации с менеджером Beeline Cloud.
- В разделе **Параметры** укажите:
- **Количество ВМ**: количество виртуальных машин, которое нужно подключить к сервису.
- **Объем хранилища**: объем хранилища для резервных копий.
== Киберпроект
- В разделе **Общее** выберите [дата-центр](../vdc/vdc-how-to/vdc-create.md#создание-дата-центра), к которому нужно подключить резервное копирование.
- В разделе **Параметры** укажите:
- **ВМ**: количество виртуальных машин, которое нужно подключить к сервису.
- **Базы данных**: количество баз данных, которое нужно подключить к сервису.
- **Серверы**: количество серверов, которое нужно подключить к сервису.
- **Устройства**: количество рабочих столов (VDI), которое нужно подключить к сервису.
- **Объем хранилища**: объем хранилища для резервных копий.
:::
7. Нажмите кнопку **Создать хранилище**.
Подключение резервного копирования занимает до 3 дней. Статус подключения сервиса отображается в личном кабинете Beeline Cloud.
Данные для доступа к ПО для настройки резервного копирования будут отправлены на электронную почту, указанную в личном кабинете Beeline Cloud.
+58
View File
@@ -0,0 +1,58 @@
# Резервное копирование виртуальных машин Beeline Cloud
## Перед началом работы
- Зарегистрируйтесь в [личном кабинете Beeline Cloud](https://console.cloud.beeline.ru/).
- [Создайте](../vdc/vdc-how-to/vdc-create.md#создание-дата-центра) виртуальный дата-центр.
- [Создайте](../vdc/vdc-how-to/vm/create-vm.md) виртуальную машину в виртуальном дата-центре.
## Подключить резервное копирование
1. Войдите в [личный кабинет Beeline Cloud](https://lk.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню перейдите в **Сервисы****Резервное копирование**.
4. Нажмите кнопку **Создать хранилище**.
5. В разделе **Инфраструктура для копирования** выберите опцию **В облаке**.
6. В разделе **Управление** выберите способ резервного копирования:
- **Самостоятельно**.
- **Провайдером**.
:::: tabs
== Провайдером
- В разделе **Общее** выберите [дата-центр](../vdc/vdc-how-to/vdc-create.md#создание-дата-центра), к которому нужно подключить резервное копирование.
- В разделе **Политика резервного копирования** укажите настройки резервного копирования:
- **Глубина хранения**: время хранения резервных копий.
- **Полное резервное копирование**: количество полных копий в день.
- **Инкрементальное резервное копирование**: количество инкрементальных копий в день.
- **Окно резервного копирования**: выберите время запуска резервного копирования.
::: details Чем полная копия отличается от инкрементной?
Полное резервное копирование — это создание копии всех данных виртуальной машины за одну операцию. Полная копия подходит для восстановления без зависимости от других сохранений.
Инкрементное резервное копирование — это сохранение только измененных данных относительно предыдущей копии. Это уменьшает объем хранения и ускоряет процесс при регулярном копировании.
:::
- В разделе **Параметры** укажите:
- **Количество ВМ**: количество виртуальных машин, которое нужно подключить к сервису.
- **Объем хранилища**: объем хранилища для резервных копий.
== Самостоятельно
- В разделе **Общее** выберите [дата-центр](../vdc/vdc-how-to/vdc-create.md#создание-дата-центра), к которому нужно подключить резервное копирование.
- В разделе **Параметры** укажите:
- **Количество ВМ**: количество виртуальных машин, которое нужно подключить к сервису.
- **Объем хранилища**: объем хранилища для резервных копий.
::::
1. Нажмите кнопку **Создать хранилище**.
Подключение резервного копирования занимает до 3 дней. Статус подключения сервиса отображается в личном кабинете Beeline Cloud.
Данные для доступа к ПО для настройки резервного копирования будут отправлены на электронную почту, указанную в личном кабинете Beeline Cloud.
+27
View File
@@ -0,0 +1,27 @@
# Квоты и лимиты
Квоты — это организационные ограничения на количество доступных ресурсов в сервисе. В некоторых случаях квоты могут быть увеличены или уменьшены по запросу.
Лимиты — это технические ограничения на количество доступных ресурсов в сервисе. Ограничения, обычно, связаны с характеристиками оборудования и особенностями архитектуры.
## Квоты
### Бесплатный период
В [бесплатном периоде](../start/trial.md) использования Beeline Cloud установлены квоты на ресурсы сервиса:
| Вид ограничения | Значение |
| ------------------- | -------- |
| Количество хранилищ | 1 |
| Количество виртуальных машин | 5 |
| Объем хранилища | 1 ПБ |
### Платное использование
| Вид ограничения | Значение |
| ------------------- | ------------- |
| Количество хранилищ | Неограниченно |
| Количество виртуальных машин | 999 |
| Объем хранилища | 1 ПБ |
Если вы заключили договор с Beeline Cloud, то объем хранилища и количество ВМ можно увеличить. Для этого обратитесь в [техническую поддержку](../platform/support/support-overview.md).
+11
View File
@@ -0,0 +1,11 @@
---
section_links:
- title: О сервисе
link: /backups/about.md
description: Назначение сервиса
- title: Квоты и лимиты
link: /backups/backup-quatos.md
description: Ограничения на количество ресурсов в сервисе
---
# Обзор сервиса
+17
View File
@@ -0,0 +1,17 @@
---
section_links:
- title: Обзор сервиса
link: /backups/about.md
description: Обзор сервиса, квоты и лимиты
- title: Резервное копирование виртуальных машин Beeline Cloud
link: /backups/backup-internal-infra.md
description: Резервное копирование инфраструктуры, расположенной в контуре Beeline Cloud
- title: Резервное копирование собственной инфраструктуры в Beeline Cloud
link: /backups/backup-external-infra.md
description: Резервное копирование вашей инфраструктуры в облако Beeline Cloud
- title: Каталог резервных копий
link: /backups/view-backups.md
description: Просмотр ресурсов, к которым подключено резервное копирование
---
# Резервное копирование
+30
View File
@@ -0,0 +1,30 @@
# Каталог резервных копий
## Посмотреть каталог резервных копий
Чтобы посмотреть, к каким ресурсам у подключено резервное копирование:
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Резервное копирование**.
4. Откроется каталог резервных копий.
## Посмотреть детали подключенного резервного копирования
1. Выберите из каталога резервную копию.
2. Откроется карточка услуги резервного копирования. В карточке отображаются:
- Цена услуги,
- Подключенная инфраструктура,
- Тип управления,
- ПО, используемое для резервного копирования,
- Тенант,
- Объем хранилища.
:::tip Информация
В карточке услуги отображаются только параметры, выбранные при первичном подключении резервного копирования.
Если изменить параметры резервного копирования в ПО Киберпротект, Veeam Cloud Connect или Veeam Agent, данные в консоли Beeline Cloud не обновятся. Но стоимость услуг формируется согласно объему использованных ресурсов в ПО Киберпротект, Veeam Cloud Connect или Veeam Agent.
:::
+21
View File
@@ -0,0 +1,21 @@
# Биллинг
Биллинг предназначен для управления финансовыми операциями в Beeline Cloud. В биллинге вы можете:
- контролировать счета;
- отслеживать платежи;
- анализировать потребление ресурсов.
## Разделы биллинга
### Счета
В этом разделе отображаются все выставленные счета, их статусы и суммы. Вы можете посмотреть детали каждого счета и скачать документы для бухгалтерии.
### Финансовый мониторинг
В этом разделе вы можете отслеживать движение средств, контролировать платежи и задолженности.
### Аналитика потребления
В этом разделе вы можете создавать отчеты и строить графики, чтобы отследить использование ресурсов за выбранный период.
View File
View File
+17
View File
@@ -0,0 +1,17 @@
# Аналитика потребления
В этом разделе вы можете отследить использование ресурсов в проектах. Это может помочь вам контролировать расходы на сервисы.
Вы можете:
- Узнать какие проекты потребляют больше всего ресурсов.
- Сравнить использование за разные периоды.
## Как пользоваться
1. В поле **Проект** выберите один или `все проекты`.
2. В поле **Сервис** укажите нужный сервис, например, **Виртуальные дата-центры на VMware**.
3. В поле Ресурсы выберите «Все ресурсы» или конкретный тип.
4. Установите период с помощью календаря.
После этого появится отчет. Если данных нет, попробуйте изменить период, выбрать другой проект или ресурс.
+129
View File
@@ -0,0 +1,129 @@
# Быстрый старт
В этой инструкции рассмотрен процесс создания ресурсов, настройки связанности ,.
## Перед началом работы
- [Зарегистрируйтесь](../start/getting-started.md#1-регистрация-в-beeline-cloud) в личном кабинете Beeline Cloud.
## 1. Создать ВМ-шлюз
На первом шаге создайте виртуальную машину-шлюз, которая будет являться точкой управления. Чтобы ВМ была доступна из интернета и имела выход в интернет, ВМ создается:
- в [зоне доступности](compute-overview.md#зоны-доступности) `DMZ`;
- с внешним IP-адресом, который сопоставлен с внутренним IP-адресом `10.0.0.10`;
- с образом операционной системы:
- Linux для реализации базовой сетевой функциональности;
- VyOS для реализации расширенной сетевой функциональности.
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
2. На странице **Мой проект** нажмите кнопку **Создать ресурс → Виртуальная машина**.
3. В блоке **Имя и расположение** укажите имя и расположение ВМ:
- **Имя машины**: введите название ВМ.
- **Зона доступности**: выберите зону доступности, содержащую в названии `DMZ`.
4. В блоке **Выбор образа** выберите тип и версию операционной системы:
- выберите образ операционной системы Linux для реализации базовой сетевой функциональности;
- выберите образ операционной системы VyOS для реализации расширенной сетевой функциональности.
5. В блоке **Конфигурация** выберите количество vCPU и RAM.
6. В блоке **Диски** настройте загрузочный диск:
- **Загрузочный диск**: выберите тип диска и укажите размер загрузочного диска.
7. Нажмите [создать ключ](../admin/ssh.md#добавить-ssh-ключ) для создания SSH-ключа для подключения к ВМ.
8. В блоке **Доступ** укажите логин пользователя для подключения к ВМ:
- **Логин**: введите логин пользователя латинскими символами в нижнем регистре.
9. В блоке **Настройки сети** выберите:
- **IPv4-адрес**: выберите внешний IP-адрес.
10. Нажмите **Создать виртуальную машину**.
Виртуальная машина отобразится на странице **Виртуальные машины**. Выполняется сборка виртуальной машины. После окончания сборки виртуальная машина перейдет в статус `Включена`.
## 2. Создать ВМ
На втором шаге в проекте Beeline Cloud создайте виртуальные машины в [зонах доступности](compute-overview.md#зоны-доступности) `Inside` или `DMZ` и присвойте им внутренние IP-адреса.
1. На странице **Виртуальные машины** нажмите кнопку **Создать виртуальную машину**.
2. [Заполните](./compute-how-to/compute-servers-create.md#создать-виртуальную-машину) параметры ВМ.
3. Нажмите **Создать виртуальную машину**.
Виртуальная машина отобразится на странице **Виртуальные машины**. Выполняется сборка виртуальной машины. После окончания сборки виртуальная машина перейдет в статус `Включена`.
## 3. Подключиться к ВМ
:::: tabs
= по внешнему IP-адресу
Если ВМ создана в зоне `DMZ` и ей присвоен внешний IP-адрес, то подключитесь к ВМ по SSH:
```
ssh <логин>@<внешний_IP>
```
где:
- `логин`: имя пользователя для входа на ВМ, указанное при создании ВМ;
- `внешний_IP`: внешний IP-адрес виртуальной машины.
= по внутреннему IP-адресу
Если ВМ создана в зоне `Inside` или `DMZ` и ей присвоен внутренний IP-адрес, то для подключения к ВМ используйте один из вариантов:
- [через промежуточную виртуальную машину (джамп-хост)](https://docs.cloud.dfcloud.ru/compute/compute-how-to/compute-connect-inside.html#_3-%D0%BA%D0%BE%D0%BD%D1%84%D0%B8%D0%B3%D1%83%D1%80%D0%B0%D1%86%D0%B8%D1%8F-ssh);
- [настроить site-to-site VPN c помощью VyOS](./compute-how-to/compute-network/compute-vpn-vyos.md).
::::
## 4. Проверить сетевую доступность ВМ проекта
Возможность подключения из внешних сетей присутствует только для ВМ, созданных в зоне доступности `DMZ`. ВМ, созданные в зоне `Inside` не подразумевают доступа в интернет без [дополнительной настройки](././compute-how-to/compute-network/compute-network-inside.md#подключение-вм-закрытого-контура-к-интернету).
Перед проверкой доступности из ВМ проекта убедитесь:
- протокол ICMP разрешен на всех Firewall, в т.ч. и в самой ОС;
- [site-to-site VPN](././compute-how-to/compute-network/compute-vpn-vyos.md) организации настроен, используется частный диапазон сетей RFC 1918;
- из VPN-туннеля настроена маршрутизация в сеть интернет.
Для проверки доступности из ВМ проекта и установки ПО на ВМ:
1. Выполните команду на ВМ проекта:
```sh
curl ifconfig.me
```
2. В результате команды отобразится внешний IP-адрес ВМ, с которого осуществляется выход в интернет.
3. Установите ПО на ВМ:
:::: tabs
= ВМ в зоне доступности DMZ
Рассмотрим установку веб-сервера Nginx на ВМ, созданной в зоне доступности `DMZ`.
- Установите докер:
```sh
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
```
- Запустите Nginx:
```sh
docker run -d --rm --name nginx -p80:80 nginx
```
- Проверьте, что Nginx запустился:
```sh
curl localhost
```
- Остановите контейнер Nginx:
```sh
docker rm -f nginx
```
= ВМ в зоне доступности Inside
Установка ПО на ВМ, созданных в зоне доступности `Inside`, рассмотрена в [инструкции](././compute-how-to/compute-network/compute-network-inside.md#подключение-вм-закрытого-контура-к-интернету).
::::
@@ -0,0 +1,14 @@
---
section_links:
- title: Подключение по SSH по внешнему IP-адресу с помощью ключевой пары
link: /compute/compute-how-to/compute-connect-public.md
description: Подключиться к виртуальной машине по SSH с помощью ключевой пары по внешнему IP-адресу
- title: Подключение по SSH по внутреннему IP-адресу с помощью ключевой пары
link: /compute/compute-how-to/compute-connect-inside.md
description: Подключиться к виртуальной машине по SSH с помощью ключевой пары по внутреннему IP-адресу через джамп-хост
- title: Подключение по SSH по логину и паролю
link: /compute/compute-how-to/compute-connect-pwd.md
description: Подключиться к виртуальной машине по SSH с помощью логина и пароля
---
# Подключение к ВМ
@@ -0,0 +1,70 @@
# Подключение по SSH по внутреннему IP-адресу с помощью ключевой пары
Виртуальные машины, созданные в [зоне доступности `Inside` или `DMZ`](../compute-overview.md#зоны-доступности), с внутренним IP-адресом недоступны из интернета. Чтобы подключиться по SSH к ВМ по внутреннему IP-адресу из интернета, используйте промежуточную виртуальную машину (джамп-хост) с [внешним IP-адресом (FIP)](../compute-how-to/compute-ip/compute-ip-about.md#внешние-ip-адреса).
## Перед началом работы
Перед подключением проверьте выполнение условий и наличие данных:
- Статус виртуальной машины — `Включена`.
- [Создана промежуточная ВМ](compute-servers-jump-create.md), через которую будет выполняться подключение к ВМ.
- Виртуальной машине [назначен](../compute-how-to/compute-ip/compute-ip-about.md#внутренние-ip-адреса) внутренний IP-адрес.
- Имя пользователя для входа на ВМ.
- Подготовлена ключевая пара для подключения к ВМ по SSH:
- приватный ключ сохранен на компьютере, с которого выполняется подключение;
- публичный ключ [добавлен](../../admin/ssh.md#добавить-ssh-ключ) в профиль пользователя в личном кабинете Beeline Cloud.
- На компьютере, с которого выполняется подключение к ВМ:
- разрешен удаленный доступ по протоколу SSH (TCP-порт 22);
- есть доступ в интернет, протокол ICMP не заблокирован на Firewall-ах;
- VPN сети организации позволяет осуществлять соединение в интернет.
Если вы используете разные SSH-ключи для подключения к ВМ по внутреннему IP-адресу и к промежуточной ВМ с внешним IP-адресом, то добавьте оба публичных ключа в профиль пользователя в личном кабинете Beeline Cloud.
## 1. Конфигурация SSH
1. Откройте конфигурационный файл SSH `~/.ssh/config` для ОС Linux или `C:\users\имя_пользователя\.ssh\config` для ОС Windows.
2. Добавьте в конфигурационный файл сведения о виртуальных машинах:
```
host jumphost
hostname <jumphost>
user <jump_login>
IdentityFile <jump-secret-file-path>
host myhost
hostname <myhost>
user <myhost-login>
IdentityFile <myhost-secret-file-path>
ProxyJump jumphost
```
где:
- `jumphost`: внешний IP-адрес джамп-хоста;
- `jump_login`: имя пользователя для входа на джамп-хост, указанное при создании ВМ;
- `jump-secret-file-path`: путь к приватному ключу джамп-хоста;
- `myhost`: внутренний IP-адрес ВМ, к которой требуется подключиться;
- `myhost-login`: имя пользователя для входа на ВМ, указанное при создании ВМ;
- `myhost-secret-file-path`: путь к приватному ключу ВМ, к которой требуется подключиться.
### Пример содержимого файла ~/.ssh/config
```
host jumphost
hostname 77.41.188.88
user admin
IdentityFile ~/.ssh/id_ed25519
host myhost
hostname 10.0.0.12
user ivanov
IdentityFile ~/.ssh/id_ed25519
ProxyJump jumphost
```
## 2. Подключиться к ВМ по внутреннему IP-адресу
1. Откройте терминал.
2. Выполните команду:
```
ssh myhost
```
@@ -0,0 +1,49 @@
# Подключение по SSH по внешнему IP-адресу с помощью ключевой пары
Подключение к ВМ выполняется по протоколу SSH с [помощью ключевой пары](../../admin/ssh.md).
:::tip Информация
Чтобы подключаться к виртуальной машине по SSH, [добавьте](../../admin/ssh.md#добавить-ssh-ключ) публичную часть ключа в профиль пользователя перед созданием виртуальной машины. Для существующих виртуальных машин добавление SSH-ключа невозможно.
:::
## Перед началом работы
Перед подключением проверьте выполнение условий и наличие данных:
- Статус виртуальной машины — `Включена`.
- Виртуальной машине [назначен](../compute-how-to/compute-ip/compute-ip-manager.md#назначить-вм-внешний-ip-адрес) внешний IP-адрес.
- Узнайте имя пользователя для входа на ВМ.
- Приватная часть SSH-ключа сохранена на компьютере, с которого выполняется подключение.
## Подключиться к ВМ
1. Откройте терминал.
2. Выполните команду в терминале:
```
ssh <логин>@<внешний_IP>
```
где:
- `логин`: [имя пользователя ОС по умолчанию](./../compute-overview.md#операционная-система);
- `внешний_IP`: внешний IP-адрес виртуальной машины.
- Если на вашем устройстве есть несколько приватных ключей или вы переместили приватный ключ из каталога по умолчанию, то дополнительно укажите путь к приватному ключу:
```
ssh -o IdentityFile=<путь_к_приватному_ключу> <логин>@<внешний_IP>
```
3. Подтвердите подключение.
## Пример команды для подключения к ВМ
::::tabs
= Linux/macOS
```
ssh -o IdentityFile=~/.ssh/id_ed25519 debian@<внешний_IP>
```
= Windows 10/11
```
ssh -o IdentityFile=%USERPROFILE%\.ssh\id_ed25519 debian@<внешний_IP>
```
::::
@@ -0,0 +1,44 @@
# Подключение по SSH по логину и паролю
Подключиться к ВМ можно по протоколу SSH с помощью логина и пароля.
## Перед началом работы
Перед подключением проверьте выполнение условий:
- Статус виртуальной машины — `Включена`.
## 1. Подготовить учетные данные
Для подключения узнайте логин и пароль пользователя:
| Учетные данные | Значение |
|---|---|
| Логин | Логин задается при [создании](compute-servers-create.md#создать-виртуальную-машину) виртуальной машины. Логин пользователя [указан](compute-servers-manage.md#посмотреть-свойства-вм) в свойствах ВМ в поле **Логин** |
| Пароль | Пароль задается при [создании](compute-servers-create.md#создать-виртуальную-машину) виртуальной машины. Если вы забыли пароль, то восстановить его не получится |
## 2. Подключиться к ВМ
:::: tabs
= по внешнему IP-адресу
Если ВМ создана в зоне `DMZ` и ей присвоен [внешний IP-адрес](./compute-ip/compute-ip-about.md#внешние-ip-адреса), то для подключения к ВМ выполните:
1. Откройте терминал.
2. Выполните команду в терминале:
```
ssh <логин>@<внешний_IP>
```
3. Подтвердите подключение.
4. Введите пароль и подтвердите подключение.
= по внутреннему IP-адресу
Если ВМ создана в зоне `Inside` или `DMZ` и ей присвоен внутренний IP-адрес, то для подключения к ВМ используйте один из вариантов:
- [через промежуточную виртуальную машину (джамп-хост)](https://docs.cloud.dfcloud.ru/compute/compute-how-to/compute-connect-inside.html#_3-%D0%BA%D0%BE%D0%BD%D1%84%D0%B8%D0%B3%D1%83%D1%80%D0%B0%D1%86%D0%B8%D1%8F-ssh);
- [настроить site-to-site VPN c помощью VyOS](./../compute-how-to/compute-network/compute-vpn-vyos.md).
::::
@@ -0,0 +1,7 @@
# Диски
Хранение данных организовано с использованием сетевых дисков. Диск создается в определенной зоне доступности. Каждый диск автоматически реплицируется внутри своей зоны доступности, что обеспечивает надежное хранение данных.
Загрузочный диск создается вместе с виртуальным ВМом. Конфигурация загрузочного диска задается на этапе [создания ВМ](../compute-servers-create.md#создать-виртуальную-машину). При [удалении ВМ](../compute-servers-manage.md#удалить-ВМ) загрузочный диск удалится вместе с ВМ.
[Дополнительные диски можно добавить](../compute-servers-create.md#добавить-диск) на этапе создания ВМ или [создать диск позже и подключить к нужной ВМ](../compute-disks/compute-disk-create.md). При [удалении ВМ](../compute-servers-manage.md#удалить-ВМ) дополнительные диски (не загрузочные) останутся в проекте в списке дисков.
@@ -0,0 +1,21 @@
# Создание диска
Создание диска позволяет добавить новое блочное хранилище. В процессе создания можно выбрать тип диска, размер и зону доступности, а также настроить дополнительные параметры для оптимального соотношения производительности и стоимости.
## Создать диск
Создать диск дополнительный (не загрузочный):
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **Диски**.
5. Нажмите **Создать диск**.
6. Введите параметры добавляемого диска:
- **Имя диска**: введите название диска
- **Зона доступности**: выберите из списка зону доступности, в которой будет создан диск.
- **Тип**: выберите из списка тип хранения.
- **Размер диска**: введите размер добавляемого диска в Гб.
7. Нажмите **Создать диск**.
На странице **Диски** будет добавлен новый диск, но не подключен к какой-либо виртуальной машине. Диск можно [подключить к ВМ](../compute-disks/compute-disk-manage.md#подключить-диск-к-вм).
@@ -0,0 +1,19 @@
# Удаление диска
Удаление диска позволяет освободить ресурсы хранилища после завершения работы с данными. Перед удалением необходимо убедиться, что диск [отключен](../compute-disks/compute-disk-manage.md#отключить-диск-от-вм) от всех виртуальных машин и не содержит критически важных данных без резервных копий.
## Удалить диск
::: danger Предупреждение
Удаление диска необратимо. Все данные будут удалены без возможности восстановления.
:::
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **Диски**.
5. Нажмите на имя диска.
6. Нажмите на &hellip; и выберите **Удалить**.
7. В открывшемся окне подтвердите операцию:
- Введите имя удаляемого диска.
- Нажмите **Удалить**.
@@ -0,0 +1,17 @@
---
section_links:
- title: Обзор
link: /compute/compute-how-to/compute-disks/compute-disk-about.md
description: Основные понятия о дисках
- title: Создание диска
link: /compute/compute-how-to/compute-disks/compute-disk-create.md
description: Создание нового диска
- title: Управление дисками
link: /compute/compute-how-to/compute-disks/compute-disk-manage.md
description: Просмотр списка параметров и операций с дисками
- title: Удаление диска
link: /compute/compute-how-to/compute-disks/compute-disk-del.md
description: Удаление диска
---
# Диски
@@ -0,0 +1,75 @@
# Управление дисками
Управление дисками позволяет выполнять операции с существующими хранилищами. Доступно управление списками и информацией о дисках, изменение размера дискового пространства, а также подключение и отключение дисков от виртуальных машин.
## Посмотреть список дисков
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **Диски**.
## Посмотреть информацию о диске
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **Диски**.
5. Нажмите на имя диска.
6. На странице показана информация о диске:
- **Идентификатор**: уникальный идентификатор диска.
- **Тип хранения**: тип диска.
- **Загрузочный**: является ли диск загрузочным.
- **Размер**: размер диска.
- **Подключен к**: виртуальный ВМ, к которому подключен диск.
- **Имя устройства**: имя устройства в файловой системе.
## Увеличить размер дискового пространства
::: warning Важно
Изменение размера дискового пространства возможно только в большую сторону.
:::
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **Диски**.
5. Нажмите на имя диска.
6. Нажмите **Изменить размер диска**.
7. Введите размер добавляемого дискового пространства в Гб.
8. Нажмите **Сохранить**.
Далее требуется увеличить размер диска в операционной системе.
## Подключить диск к ВМ
При подключении диск и ВМ должны быть созданы в одной зоне доступности.
::: warning Важно
К ВМ можно подключить максимально 28 дисков, включая загрузочный.
:::
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **Виртуальные машины**.
5. Нажмите на имя ВМ.
6. Перейдите на вкладку **Диски**.
7. Нажмите **Подключить диск**.
8. В строке поиска введите имя диска. Для отображения списка дисков щелкните в строке поиска левой кнопкой мыши.
9. Нажмите **Подключить**.
## Отключить диск от ВМ
Отключить от ВМ можно только дополнительный диск. Отключение загрузочного диска невозможно.
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **Виртуальные машины**.
5. Нажмите на имя ВМ.
6. Перейдите на вкладку **Диски**.
7. Нажмите на &hellip; и выберите **Отключить от виртуальной машины**.
8. В открывшемся окне подтвердите операцию:
- Введите имя ВМ, от которого отключаете диск.
- Нажмите **Отключить диск**.
@@ -0,0 +1,17 @@
---
section_links:
- title: Создание ВМ
link: /compute/compute-how-to/compute-servers-create.md
description: Создать виртуальную машину
- title: Создание ВМ джамп-хоста
link: /compute/compute-how-to/compute-servers-jump-create.md
description: Создать виртуальную машину с внешним IP-адресом с доступом из интернета и выходом в интернет
- title: Подключение к ВМ
link: /compute/compute-how-to/compute-connect-index.md
description: Подключиться к созданной виртуальной машине по SSH
- title: Управление ВМ
link: /compute/compute-how-to/compute-servers-manage.md
description: Управление состоянием виртуальной машины, удаление виртуальной машины
---
# Виртуальные машины
@@ -0,0 +1,31 @@
# IP-адрес
Раздел содержит описание типов IP-адресов в Beeline Cloud: внутренние и внешние адреса, их назначение и возможные статусы.
:::tip Информация
Каждая виртуальная машина при создании получает IP-адрес. В сервисе поддерживаются только IPv4-адреса.
:::
## Внутренние IP-адреса
Внутренний IP-адрес используется для взаимодействия между ВМ внутри одной сети. Внутренний IP-адрес не виден из интернета.
Внутренний IP-адрес назначается виртуальной машине автоматически или выбираются из списка зарезервированных адресов при ее создании.
:::tip Информация
Виртуальная машина доступна из интернета только через внешний IP-адрес. Для доступа из интернета к виртуальной машине по внутреннему IP-адресу используйте виртуальную машину с внешним IP-адресом как джамп-хост.
:::
## Внешние IP-адреса
Внешний IP-адрес — это IP-адрес, который доступен из интернета. Внешний IP-адрес выдается организации при регистрации аккаунта Beeline Cloud.
В сервисе **Виртуальные машины** предусмотрен один внешний IP-адрес (Floating IP или FIP), сопоставленный с внутренним IP-адрес **10.0.0.10**. Значение внешнего IP-адреса можно [посмотреть](../compute-ip/compute-ip-view#посмотреть-внешний-ip-адрес) в разделе **Виртуальные машины → IP-адреса**.
Чтобы ВМ без ограничений была доступна из интернета и получала доступ к ресурсам интернета, ей должен быть присвоен внешний IP-адрес. Внешний IP-адрес [назначается](../compute-ip/compute-ip-manager#назначить-вм-внешний-ip-адрес) виртуальной машине при ее создании. Существующей ВМ назначить внешний IP-адрес нельзя.
## Статусы IP-адресов
**Используется** — IP-адрес зарезервирован и назначен ВМ.
**Зарезервирован** — IP-адрес зарезервирован и не назначен ВМ, доступен для назначения.
@@ -0,0 +1,20 @@
# Создание IP-адреса
Раздел описывает процедуру создания нового IP-адреса в проекте с выбором типа и параметров.
## Создать IP-адрес
Вы можете зарезервировать IP-адрес из диапазона IP-адресов и назначить этот адрес новой ВМ.
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **IP-адреса**.
5. Нажмите **Создать IP-адрес**.
6. Введите параметры адреса:
- **Имя**: введите имя IP-адреса.
- **Зона доступности**: выберите зону доступности, в которой будут доступен адрес.
- добавьте тег адресу при необходимости.
7. Нажмите **Создать**.
На странице **Виртуальные машины → IP-адреса** появится новый IP-адрес со статусом **Зарезервирован**.
@@ -0,0 +1,27 @@
# Удаление IP-адреса
Раздел описывает процедуру удаления IP-адреса с проверкой зависимостей и освобождением ресурсов.
## Удалить IP-адрес
:::warning Важно
Не удаляйте внешний IP-адрес из списка IP-адресов. В случае удаления IP-адреса пропадет возможность создания ВМ с доступом в интернет.
:::
Если для IP-адреса установлено автоудаление, то адрес удалится во время удаления ВМ.
Если для IP-адреса не установлено автоудаление, то адрес удаляется вручную:
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **IP-адреса**.
5. Удалите адрес одним из способов:
- В разделе **IP-адреса**:
- В списке адресов найдите IP-адрес, который необходимо удалить.
- Cправа от имени IP-адреса нажмите кнопку ![del](../image/delete.png).
- Подтвердите действие.
- На странице IP-адреса:
- Нажмите на имя адреса в списке IP-адресов, который необходимо удалить.
- Нажмите на &hellip; в правом углу страницы и выберите **Удалить**.
- Подтвердите действие.
@@ -0,0 +1,20 @@
---
section_links:
- title: Обзор
link: /compute/compute-how-to/compute-ip/compute-ip-about.md
description: Описание типов IP-адресов
- title: Просмотр IP-адресов
link: /compute/compute-how-to/compute-ip/compute-ip-view.md
description: Инструкция по просмотру списка адресов и их параметров
- title: Создание IP-адреса
link: /compute/compute-how-to/compute-ip/compute-ip-create.md
description: Процедура создания нового IP-адреса в проекте
- title: Управление IP-адресами
link: /compute/compute-how-to/compute-ip/compute-ip-manager.md
description: Операции сохранения и переименования IP-адресов
- title: Удаление IP-адреса
link: /compute/compute-how-to/compute-ip/compute-ip-del.md
description: Удаление IP-адреса и освобождение ресурсов
---
# IP-адреса
@@ -0,0 +1,44 @@
# Управление IP-адресами
Раздел содержит инструкции по управлению IP-адресами: назначение виртуальным машинам, сохранение в проекте и присвоение имен.
## Назначить ВМ внешний IP-адрес
Внешний IP-адрес можно привязать ВМ при условиях:
- IP-адрес находится в статусе **Зарезервирован**;
- виртуальная машина и внешний IP-адрес находятся в одной [зоне доступности](../../compute-overview.md#зоны-доступности);
- внешний IP-адрес можно назначить только новой ВМ, существующей ВМ привязать внешний IP-адрес не получится.
Чтобы привязать внешний IP-адрес новой ВМ, то при создании ВМ в поле **IPv4-адрес** выберите внешний IP-адрес.
Если вам требуется отвязать внешний IP-адрес от существующей ВМ:
- убедитесь, что для IP-адреса не указан признак ****Автоудаление**, при необходимости [снимите признак **Автоудаление**](#сохранить-ip-адрес-в-проекте) у IP-адреса;
- [удалите ВМ](../compute-servers-manage.md#удалить-вм).
## Сохранить IP-адрес в проекте
При удалении ВМ её IP-адрес удаляется и не может быть повторно использован в проекте. Если вам требуется сохранить IP-адрес и использовать его для другой ВМ, то отключите автоудаление адреса. IP-адрес сохранится в вашем проекте и может быть назначен новой ВМ.
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **IP-адреса**.
5. Нажмите на имя адреса в списке IP-адресов.
6. На странице адреса нажмите кнопку **Изменить**, расположенную ниже флажка **Автоудаление**.
7. Снимите флажок **Автоудаление**, если он установлен.
8. Нажмите **Сохранить**.
## Присвоить имя IP-адресу
Имя IP-адреса отображается только на странице **Виртуальные машины → IP-адреса**. На параметрах виртуальной машины отображается значение IP-адреса.
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **IP-адреса**.
5. Нажмите на имя адреса в списке IP-адресов.
6. Нажмите на &hellip; и выберите **Переименовать**.
7. Введите новое имя IP-адреса.
8. Нажмите &#10003;.
@@ -0,0 +1,21 @@
# Просмотр IP-адресов
Раздел содержит инструкции по просмотру списка IP-адресов в проекте.
## Посмотреть список IP-адресов
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **IP-адреса**.
5. Отобразится список всех IP-адресов проекта.
## Посмотреть внешний IP-адрес
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **IP-адреса**.
5. Отобразится список всех IP-адресов проекта.
6. Внешний IP-адрес сопоставлен с внутренним IP-адресом **10.0.0.10** и отмечен тегом **Внешний IP**. Значение внешнего IP-адреса указано в поле **Имя**.
7. Если для внешнего IP-адреса отображается статус **Зарезервирован**, то внешний IP-адрес [доступен для назначения](../compute-ip/compute-ip-manager#назначить-вм-внешний-ip-адрес).
@@ -0,0 +1,12 @@
---
section_links:
- title: Настройка site-to-site VPN с помощью VyOS
link: /compute/compute-how-to/compute-network/compute-vpn-vyos.md
description: Создание IPSEC-туннеля между частной сетью и Beeline Cloud с использованием VyOS 1.4.0
- title: Подключение ВМ закрытого контура к интернету
link: /compute/compute-how-to/compute-network/compute-network-inside.md
description: Настройка доступа в интернет для ВМ, созданных в зоне доступности Inside, и установка ПО на ВМ
---
# Сети
@@ -0,0 +1,122 @@
# Подключение ВМ закрытого контура к интернету
В зависимости от доступов ВМ в Интернет или VPN настройте DNS, NTP и другие службы (пакетный менеджер) для начала установки ПО.
## Пример конфигурации для службы обновления пакетов
1. Настройте сервис веб-прокси один из способов:
:::: tabs
= VyOS
1. Перейдите в режим конфигурирования:
```
configure
```
2. Включите слушание запросов (по умолчанию используется порт 3128):
```
set service webproxy listen-address 10.0.0.10 disable-transparent
```
3. Проверьте корректность конфигурации:
```
show service webproxy
```
4. Сохраните конфигурацию:
```
save
```
5. Примените конфигурацию:
```
commit
```
= Ubuntu
1. Обновление списка пакетов:
```
sudo apt update
```
2. Установка Tinyproxy:
```
sudo apt install tinyproxy
```
3. По умолчанию Tinyproxy может разрешать доступ только с локальной машины (127.0.0.1). Необходимо разрешить доступ устройствам из вашей локальной сети.
- откройте конфигурационный файл:
```
sudo nano /etc/tinyproxy/tinyproxy.conf
```
- настройте разрешение доступа с необходимых вам сетей, закомментировав (#) все остальные строки:
```
Allow 10.0.0.5/24
Allow 0.0.0.0/0 - разрешает доступ из любой сети
```
- установите порт (по умолчанию 8888):
```
Port 3128
```
- сохраните конфигурационный файл (Ctrl+O, Enter) и выйдите (Ctrl+X).
4. Запуск и проверка сервиса:
перезапустите сервис для применения новых настроек:
```
sudo systemctl restart tinyproxy
```
включите автозапуск (чтобы сервис прокси запускался после перезагрузки сервера):
```
sudo systemctl enable tinyproxy
```
проверьте статус (убедитесь, что он active (running)):
```
sudo systemctl status tinyproxy
```
::::
2. Настройка конфигурации (клиентская часть) на ВМ с ОС Ubuntu в зоне Inside:
- Создайте или отредактируйте конфигурационный файл для apt:
```
sudo nano /etc/apt/apt.conf.d/proxy.conf
```
- Добавьте следующие строки. Обратите внимание на синтаксис, который отличается от синтаксиса переменных окружения:
```
Acquire::http::Proxy "http://10.0.0.10:3128/";
Acquire::https::Proxy "http://10.0.0.10:3128/";
```
3. Сохраните и закройте файл. Теперь `sudo apt update` будет работать через прокси.
## Пример конфигурации для использования стороннего DNS-сервера на ВМ c ОС Ubuntu в Inside
Если вы измените DNS-серверы через конфигурационный файл Netplan (sudo nano/etc/netplan/*.yaml), эти настройки СОХРАНЯТСЯ после перезагрузки.
1. Отредактируйте файл *.yaml и добавьте блоки dhcp4-overrides и nameservers:
```
network:
version: 2
ethernets:
enp3s0:
dhcp4: true
set-name: "enp3s0"
dhcp4-overrides: # <--- Добавьте этот блок
use-dns: false # <--- Клиент не будет использовать DNS-сервера, полученные от DHCP-сервера
nameservers:
addresses: [CORP_DNS_IP] # <--- укажите IP-адрес требуемого DNS-сервера
```
2. Примените настройки:
```
sudo netplan apply
```
3. Проверьте корректность конфигурации:
```
resolvectl status
```
@@ -0,0 +1,290 @@
# Настройка site-to-site VPN с помощью VyOS
В этом руководстве рассмотрено создание VPN-туннеля site-to-site между частной сетью и Beeline Cloud с использованием VyOS версии 1.4.0.
В процессе выполнения этого руководства вы:
- настроите VPN-сервер IKEv2 на виртуальной машине с VyOS, расположенной в Beeline Cloud;
- подключитесь к VPN-серверу из частной сети;
- настроите маршрутизацию для беспрепятсвенного хождения трафика между частной сетью и Beeline Cloud.
Виртуальная частная сеть (VPN) позволяет надежно шифровать трафик, проходящий через ненадежные сети, например в кафе, на конференции или в аэропорту.
Internet Key Exchange v2 (IKEv2) — это протокол, обеспечивающий прямое туннелирование IPSEC между сервером и клиентом. В реализациях VPN IKEv2 IPSEC обеспечивает шифрование сетевого трафика. IKEv2 изначально поддерживается на некоторых платформах (OS X 10.11+, iOS 9.1+ и Windows 10) без необходимости установки дополнительных приложений и довольно плавно справляется с перебоями в работе клиентов.
## Перед началом работы
Условные обозначения:
- **customer site**: локальное защищенное пространство;
- **beeline cloud**: изолированное пространство в Beeline Cloud, в котором создаются ресурсы.
Для настройки site-to-site VPN понадобится:
- одна виртуальная машина с ОС VyOS версии 1.4.0 в **beeline cloud** в качестве [промежуточной ВМ (джамп-хоста)](./../compute-servers-jump-create.md);
- одна виртуальная машина с ОС VyOS версии 1.4.0, созданная в **customer site** с доступом в интернет с постоянным публичным IP-адресом `client real ip`.
- если в сети **customer site** используется ISO-образ VyOS, то установите OC VyOS на виртуальную машину согласно официальной документации.
![Схема](./image/ipsec.svg)
## 1. Посмотреть IP-адреса
Для настройки VPN-туннеля необходимо узнать публичный и внутренний IP-адреса виртуальных машин, на которых конфигурируется маршрутизатор VyOS.
В руководстве используются следующие значения IP-адресов виртуальных машин с ОС VyOS:
| IP-адрес | **beeline cloud** | **customer site** |
|---|---|---|
| публичный IP | 77.41.188.88 | 77.41.188.163 |
| внутренний IP | 10.0.0.10 | 172.16.0.10 |
### Узнать публичный IP-адрес маршрутизатора
Для маршрутизатора на стороне **customer site** IP-адреса можно узнать c помощью команд:
- для публичного IP-адреса:
```
curl ifconfig.me
```
- для внутреннего IP-адреса:
```
ip a
```
Для маршрутизатора на стороне **beeline cloud** публичный IP-адрес можно узнать на странице сервиса **Виртуальные машины** в разделе **IP-адреса**.
IP-адрес `10.0.0.10` является внутренним и сопоставляется с публичным IP-адресом (Floating IP или FIP). Значение публичного IP-адреса указано в поле **Имя** в разделе **IP-адреса**. По публичному IP-адресу можно подключиться к маршрутизатору VyOS по SSH.
## 2. Сгенерировать ключевые пары
1. Выполните команды для генерации ключевых пар на маршрутизаторах в сети **beeline cloud** и в сети **customer site**:
:::: tabs
= beeline cloud
- Откройте терминал и подключитесь к маршрутизатору VyOS сети **beeline cloud** по публичному IP-адресу:
```
ssh vyos@77.41.188.88
```
- Перейдите в режим конфигурирования:
```
configure
```
- Сгнерируйте сертификаты для аутентификации, во время выполнения команды согласитесь со всеми значениями по умолчанию, нажав `Enter`:
```
run generate pki key-pair install 'beeline-cloud'
show pki key-pair 'beeline-cloud' public
```
Результатом команды будет публичный ключ.
= customer site
- Откройте еще один терминал и подключитесь к ВМ с VyOS **customer site** по внутреннему IP-адресу:
```
ssh vyos@172.16.0.10
```
- Перейдите в режим конфигурирования:
```
configure
```
- Сгнерируйте сертификаты для аутентификации, во время выполнения команды согласитесь со всеми значениями по умолчанию, нажав `Enter`:
```
run generate pki key-pair install 'customer-site'
show pki key-pair 'customer-site' public
```
Результатом команды будет публичный ключ.
::::
2. Публичные ключи, полученные на шаге 1, необходимо перекрестно добавить на маршрутизаторах в сети **beeline cloud** и в сети **customer site**:
:::: tabs
= beeline cloud
```
set pki key-pair 'customer-site' public key 'FAAOCAQ8AMII...' # - ключ из customer site
```
= customer site
```
set pki key-pair 'beeline-cloud' public key 'MIIBIjANBgkqh...' # - ключ из beeline cloud
```
::::
## 3. Настроить IPSEC
1. Выберите сетевой интерфейс, на котором будет настраиваться IPSEC-туннель, выполнив команду на маршрутизаторах в сети **beeline cloud** и в сети **customer site**:
:::: tabs
= beeline cloud
```
set vpn ipsec interface eth1
```
= customer site
- Узнайте имя сетевого интерфейса на маршрутизаторе, на котором будет настраиваться IPSEC:
```
show interfaces
```
- Настройте интерфейс IPSEC:
```
set vpn ipsec interface <имя_сетевого_интерфейса>
```
::::
2. Для настройки IPSEC-туннеля используется протокол IKE набора протоколов IPSEC, который имеет две фазы.
- для настройки первой фазы выполните команду на маршрутизаторах в сети **beeline cloud** и в сети **customer site**:
```
set vpn ipsec ike-group aes256-sha256 dead-peer-detection action 'restart'
set vpn ipsec ike-group aes256-sha256 dead-peer-detection interval '30'
set vpn ipsec ike-group aes256-sha256 dead-peer-detection timeout '120'
set vpn ipsec ike-group aes256-sha256 key-exchange 'ikev2'
set vpn ipsec ike-group aes256-sha256 lifetime '3600'
set vpn ipsec ike-group aes256-sha256 proposal 1 dh-group '19'
```
- для настройки второй фазы выполните команду на маршрутизаторах в сети **beeline cloud** и в сети **customer site**:
```
set vpn ipsec esp-group aes256-sha256 proposal 1 encryption aes256
set vpn ipsec esp-group aes256-sha256 proposal 1 hash sha256
set vpn ipsec esp-group aes256-sha256 lifetime '28800'
set vpn ipsec esp-group aes256-sha256 mode 'tunnel'
set vpn ipsec esp-group aes256-sha256 pfs 'dh-group19'
```
3. Настройте пиры и аутентификацию с использованием [публичных ключевых пар](#2-сгенерировать-ключевые-пары), выполнив команду на маршрутизаторах в сети **beeline cloud** и в сети **customer site**:
:::: tabs
= beeline cloud
```
set vpn ipsec site-to-site peer CUSTOMER-SITE authentication mode 'rsa'
set vpn ipsec site-to-site peer CUSTOMER-SITE authentication rsa local-key 'beeline-cloud'
set vpn ipsec site-to-site peer CUSTOMER-SITE authentication rsa remote-key 'customer-site'
```
= customer site
```
set vpn ipsec site-to-site peer BEELINE-CLOUD authentication mode 'rsa'
set vpn ipsec site-to-site peer BEELINE-CLOUD authentication rsa local-key 'customer-site'
set vpn ipsec site-to-site peer BEELINE-CLOUD authentication rsa remote-key 'beeline-cloud'
```
::::
4. Настройте для пиров адреса подключения, выполнив команду на маршрутизаторах в сети **beeline cloud** и в сети **customer site**:
На этом шаге [укажите ваши значения IP-адресов](#1-посмотреть-ip-адреса) виртуальных машин с VyOS.
:::: tabs
= beeline cloud
```
set vpn ipsec site-to-site peer CUSTOMER-SITE ike-group 'aes256-sha256'
set vpn ipsec site-to-site peer CUSTOMER-SITE local-address '10.0.0.10'
set vpn ipsec site-to-site peer CUSTOMER-SITE remote-address '77.41.188.163'
set vpn ipsec site-to-site peer CUSTOMER-SITE tunnel 0 esp-group 'aes256-sha256'
set vpn ipsec site-to-site peer CUSTOMER-SITE default-esp-group 'aes256-sha256'
```
= customer site
```
set vpn ipsec site-to-site peer BEELINE-CLOUD ike-group 'aes256-sha256'
set vpn ipsec site-to-site peer BEELINE-CLOUD local-address '172.16.0.10'
set vpn ipsec site-to-site peer BEELINE-CLOUD remote-address '77.41.188.88'
set vpn ipsec site-to-site peer BEELINE-CLOUD tunnel 0 esp-group 'aes256-sha256'
set vpn ipsec site-to-site peer BEELINE-CLOUD default-esp-group 'aes256-sha256'
```
::::
5. Настройте статические маршруты, выполнив команду на маршрутизаторах в сети **beeline cloud** и в сети **customer site**:
Для примера, в **customer site** используется сеть с адресом `172.16/16`, в **beeline cloud** — две сети: `10/8` и `192.168/16`.
:::: tabs
= beeline cloud
```
set vpn ipsec site-to-site peer CUSTOMER-SITE tunnel 0 local prefix '10.0.0.0/8'
set vpn ipsec site-to-site peer CUSTOMER-SITE tunnel 0 local prefix '192.168.0.0/16'
set vpn ipsec site-to-site peer CUSTOMER-SITE tunnel 0 remote prefix '172.16.0.0/16'
```
= customer site
```
set vpn ipsec site-to-site peer BEELINE-CLOUD tunnel 0 local prefix '172.16.0.0/16'
set vpn ipsec site-to-site peer BEELINE-CLOUD tunnel 0 remote prefix '10.0.0.0/8'
set vpn ipsec site-to-site peer BEELINE-CLOUD tunnel 0 remote prefix '192.168.0.0/16'
```
::::
6. Укажите *инициатора* и *ответчика*, выполнив команду на маршрутизаторах в сети **beeline cloud** и в сети **customer site**:
:::: tabs
= beeline cloud
```
set vpn ipsec site-to-site peer CUSTOMER-SITE connection-type respond
```
= customer site
```
set vpn ipsec site-to-site peer BEELINE-CLOUD connection-type initiate
```
::::
7. Сохраните конфигурации, выполнив команду на маршрутизаторах в сети **beeline cloud** и в сети **customer site**:
```
save
```
8. Примените конфигурации, выполнив команду на маршрутизаторах в сети **beeline cloud** и в сети **customer site**:
```
commit
```
## 4. Проверить соединение
Выполните команду на любом из маршрутизаторов в сети **beeline cloud** или в сети **customer site**:
```
run show vpn ipsec status
ping -c 3 172.16.0.10
ping -c 3 10.0.0.10
```
## Диагностика неисправностей
Если во время применения конфигурации команда `commit` завершится с ошибкой, то попробуйте выполнить команды для диагностики неисправностей.
Основные команды для диагностики проблем:
- `run show vpn ipsec status`
- `run show vpn ipsec state`
- `run show vpn ipsec sa`
- `run show vpn ipsec policy`
- `run show log vpn`
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 46 KiB

@@ -0,0 +1,19 @@
# Группы размещения
Группы размещения — это правила размещения виртуальных машин на физических хостах. Правила размещения позволяют создавать виртуальные машины на разных или на одном хосте. Политика размещения виртуальных машин действует в рамках одной зоны доступности.
- Правило `Affinity` размещает ВМ обязательно на одном физическом хосте.
- Правило `Soft-Affinity` размещает ВМ по возможности на одном физическом хосте.
- Правило `Anti-Affinity` размещает ВМ обязательно на разных физических хостах. Такое размещение повышает производительность и предотвращает недоступность ВМ при отказе хоста.
- Правило `Soft-Anti-Affinity` размещает ВМ по возможности на разных физических хостах.
::: warning Важно
В группу размещения можно добавить новую ВМ. Во время создания ВМ укажите группу размещения, к которой будет принадлежать ВМ.
Существующая ВМ не может быть добавлена в группу размещения.
ВМ может быть создана в группе размещения, если для выполнения правила есть ресурсы в зоне доступности. Если ресурсов нет, то ВМ не будет создан.
:::
@@ -0,0 +1,17 @@
# Создание группы размещения
Раздел описывает процедуру создания новой группы размещения. Вы можете настроить параметры размещения виртуальных машин, выбрать имя и определить правила распределения на физических хостах.
## Создать группу размещения
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **Группы размещения**.
5. Нажмите **Создать группу**.
6. Введите параметры группы размещения:
- **Имя группы размещения**: введите имя группы размещения.
- выберите правило размещения.
- **Зона доступности**: выберите зону доступности, в которой будут создаваться виртуальные машины по правилу размещения.
- добавьте тег группе размещения при необходимости.
7. Нажмите **Создать группу**.
@@ -0,0 +1,11 @@
# Удаление группы размещения
Раздел описывает процедуру удаления группы размещения.
## Удалить группу размещения
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **Группы размещения**.
5. Справа от названия группы размещения нажмите кнопку ![del](../image/delete.png).
@@ -0,0 +1,18 @@
---
section_links:
- title: Обзор
link: /compute/compute-how-to/compute-placement-groups/compute-placement-groups-about.md
description: Типы групп размещения и правила распределения ВМ на физических хостах
- title: Создание группы размещения
link: /compute/compute-how-to/compute-placement-groups/compute-placement-groups-create.md
description: Создание новой группы размещения
- title: Управление группами размещения
link: /compute/compute-how-to/compute-placement-groups/compute-placement-groups-manager.md
description: Добавление ВМ в группы и редактирование параметров размещения
- title: Удаление группы размещения
link: /compute/compute-how-to/compute-placement-groups/compute-placement-groups-del.md
description: Удаление группы размещения
---
# Группы размещения
@@ -0,0 +1,26 @@
# Управление группами размещения
Раздел позволяет управлять существующими группами размещения. Доступны операции добавления виртуальных машин в группах, а также редактирование параметров размещения.
## Добавить виртуальную машину в группу размещения
Принадлежность виртуальной машины к группе размещения указывается во время [создания ВМ](../compute-servers-create.md#создать-виртуальную-машину). Уже созданную виртуальную машину нельзя добавить в группу размещения.
## Редактировать группу размещения
В группе размещения можно изменить название группы и редактировать теги.
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **Группы размещения**.
5. Переименовать группу размещения:
- Нажмите на название группы в списке групп.
- Нажмите на &hellip; и выберите **Переименовать**.
- Введите новое имя группы размещения.
- Нажмите &#10003;.
6. Редактировать теги группы размещения:
- Нажмите на название группы в списке групп.
- Нажмите **Редактировать теги**.
- Добавьте или удалите теги.
- Нажмите **Сохранить**.
@@ -0,0 +1,69 @@
# Создание виртуальной машины
## Создать виртуальную машину
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **Виртуальные машины**.
5. Нажмите **Создать виртуальную машину**.
6. В блоке **Имя и расположение** укажите имя и расположение ВМ:
- **Имя машины**: введите название ВМ по правилам:
- длина от 3 до 63 символов;
- используйте только строчные латинские буквы, цифры и дефис;
- не используйте дефис в начале или в конце имени.
- **Зона доступности**: выберите подходящую [зону доступности](../compute-overview.md#зоны-доступности).
7. В блоке **Образ загрузочного диска** выберите [тип и версию операционной системы](./../compute-overview.md#операционная-система).
8. В блоке **Конфигурация** выберите количество vCPU и RAM. Наборы ресурсов заранее скомпонованы по оптимальным параметрам.
::: tip Информация
При выборе ресурсов рекомендуется в первую очередь ориентироваться на требуемое количество RAM.
:::
9. В блоке **Диски** настройте загрузочный диск и, при необходимости, добавьте дополнительные диски:
- **Загрузочный диск**: выберите [тип диска](../compute-overview.md#диски) и укажите размер загрузочного диска.
- Рекомендуется создать дополнительный диск для размещения ваших данных: нажмите **Добавить диск** и настройте дополнительный диск. [Дополнительный диск можно создать](#добавить-диск) позже.
10. В блоке **Доступ** укажите логин пользователя для подключения к ВМ:
- **Логин**: введите логин пользователя по правилам:
- длина от 1 до 32 символов;
- используйте только строчные латинские буквы, цифры и символы: дефис, подчеркивание и точку;
- не используйте дефис и точку в начале;
- не используйте дефис в конце имени.
- выберите один из способов подключения к ВМ:
- **SSH-ключ**: выберите SSH-ключи, с помощью которых вы можете подключаться к ВМ по SSH. Если подходящий SSH-ключ отсутствует, то нажмите [**Создать ключ**](../../admin/ssh.md#создать-ssh-ключ).
- **Пароль**: придумайте пароль для подключения к ВМ.
::: warning Важно
Обязательно сохранить пароль. В дальнейшем сменить и восстановить пароль невозможно.
:::
11. В блоке **Настройка сети** выберите:
- **IPv4-адрес**: выберите способ получения IP-адреса для ВМ:
- выберите **Внутренний (назначится автоматически)**, чтобы получить IP-адрес автоматически, автоматически назначаются [внутренние IP-адреса](../compute-how-to/compute-ip/compute-ip-about.md#внутренние-ip-адреса);
- выберите адрес из списка. В списке адресов отображается [зарезервированные IP-адреса](../compute-how-to/compute-ip/compute-ip-about.md#статусы-ip-адресов).
12. В блоке **Размещения** выберите:
- **Группа размещения**: выберите правило размещения ВМ на физическом хосте. [Группу размещения](./compute-placement-groups/compute-placement-groups-about.md) создайте заранее.
13. Включите опцию **Расширенные параметры**, чтобы использовать [cloud-init](https://cloudinit.readthedocs.io/en/latest/) для настройки ВМ.
14. Нажмите **Создать виртуальную машину**.
ВМ появится на странице сервиса **Виртуальные машины** в разделе **Виртуальные машины** в статусе `Cоздается`. Выполняется сборка виртуального ВМ, назначается [IP-адрес](../compute-how-to/compute-ip/compute-ip-manager.md) и полное доменное имя (FQDN). После окончания сборки ВМ перейдет в статус `Включена`.
## Добавить диск
Добавление дополнительного диска к ВМ состоит из двух шагов:
- 1 шаг. Добавить новое устройство.
- 2 шаг. Подключить диск внутри операционной системы.
Новое устройство добавляется в личном кабинете:
1. Перейдите в личный кабинет.
2. В списке **Проекты** нажмите на имя проекта, в котором нужно создать ресурс.
3. В списке **Сервисы** нажмите на имя сервиса **Виртуальные машины**.
4. Откройте раздел **Виртуальные машины → Виртуальные машины**.
5. Нажмите на имя ВМ.
6. Перейдите на вкладку **Диски**.
7. Нажмите **Добавить диск**.
8. Введите параметры добавляемого диска:
- **Имя диска**: введите название диска.
- **Тип**: выберите из списка тип хранения.
- **Размер диска**: введите размер добавляемого диска в Гб.
9. Нажмите **Создать диск**.
Далее выполните монтирование диска в операционной системе.
@@ -0,0 +1,51 @@
# Создание ВМ джамп-хоста
Промежуточная ВМ (джамп-хост) — это виртуальная машина с внешним IP-адресом, созданная в специальной приграничной зоне доступности `DMZ` и имеющая доступ к внутренней сети. Джамп-хост является шлюзом между интернетом и внутренней сетью. Через джамп-хост можно подключиться к ВМ по SSH по внутреннему IP-адресу.
## 1. Посмотреть внешний IP-адрес и его статус
Для создания промежуточной ВМ с доступом в/из интернета понадобится внешний IP-адрес.
Перед созданием промежуточной ВМ посмотрите статус и значение внешнего IP-адреса:
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **IP-адреса**.
5. В списке найдите IP-адрес, который сопоставлен с IP-адресом `10.0.0.10`.
6. Значение внешнего IP-адреса указано в поле **Имя**.
7. Убедитесь, что IP-адрес, который сопоставлен с IP-адресом `10.0.0.10`, находится в статусе `Зарезервирован`.
Внешний IP-адрес может быть занят другой виртуальной машиной. Если вы не планируете использовать эту ВМ в качестве джамп-хоста, то [отвяжите внешний IP-адрес](../compute-how-to/compute-ip/compute-ip-manager.md#назначить-вм-внешний-ip-адрес) от этой ВМ и [создайте новую промежуточную ВМ с FIP](#2-создать-промежуточную-вм).
## 2. Создать промежуточную ВМ
Чтобы ВМ была доступна из интернета и имела выход в интернет, ВМ создается:
- в [зоне доступности](./../compute-overview.md#зоны-доступности) `DMZ`;
- с внешним IP-адресом, который сопоставлен с внутренним IP-адресом `10.0.0.10`;
- с образом операционной системы:
- Linux для реализации базовой сетевой функциональности;
- VyOS для реализации расширенной сетевой функциональности.
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **Виртуальные машины**.
5. Нажмите **Создать виртуальную машину**.
6. В блоке **Имя и расположение** укажите имя и расположение ВМ:
- **Имя машины**: введите название ВМ.
- **Зона доступности**: выберите зону доступности, содержащую в названии `DMZ`.
:::warning Важно
Джамп-хост и внешний IP-адрес должны находиться в одной [зоне доступности `DMZ`](./../compute-overview.md#зоны-доступности) для связанности из интернета.
:::
7. В блоке **Выбор образа** выберите [тип и версию операционной системы](./../compute-overview.md#операционная-система).
8. В блоке **Конфигурация** выберите количество vCPU и RAM.
9. В блоке **Диски** настройте загрузочный диск:
- **Загрузочный диск**: выберите [тип диска](./../compute-overview.md#диски) и укажите размер загрузочного диска.
10. Выберите SSH-ключ для подключения к ВМ по SSH.
11. В блоке **Доступ** укажите логин пользователя для подключения к ВМ:
- **Логин**: введите логин пользователя латинскими символами в нижнем регистре.
12. В блоке **Настройки сети** выберите:
- **IPv4-адрес**: выберите из списка внешний IP-адрес.
13. Нажмите **Создать виртуальную машину**.
@@ -0,0 +1,160 @@
# Управление виртуальными машинами
## Посмотреть список ВМ
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **Виртуальные машины**.
## Посмотреть свойства ВМ
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **Виртуальные машины**.
5. Нажмите на имя ВМ.
6. На вкладке **Общая информация** показана информация о ВМ:
- **Логин**: логин пользователя для подключения к ВМ.
- **Зона доступности**: [зона доступности](./../compute-overview.md#зоны-доступности) ВМ.
- **Идентификатор**: уникальный идентификатор ВМ.
- **Внутренний FQDN**: полное доменное имя ВМ.
- **Внутренний IP-адрес**:внутренний IP-адрес, присвоенный ВМ.
- **Образ**: операционная система, установленная на ВМ.
- **Конфигурация**: конфигурация ЦПУ и ОЗУ.
- **Группа размещения**: группа размещения ВМ.
- **Дата создания**: дата и время создания ВМ.
- **Создатель**: имя пользователя, который создал ВМ.
- **Теги**: теги, присвоенные ВМ.
7. На вкладке **Диски** показан загрузочный диск и дополнительные диски, подключенных к ВМ.
## Изменить конфигурацию ВМ
У ВМ можно изменить конфигурацию ЦПУ и ОЗУ: увеличить или уменьшить количество вычислительных ресурсов. Выбор конфигурации предоставляется из линейки доступных тарифов.
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **Виртуальные машины**.
5. Нажмите на имя ВМ.
6. На вкладке **Общая информация** нажмите **Изменить конфигурацию**.
7. Выберите из списка новый тариф: количество ЦПУ и ОЗУ.
8. Нажмите **Сохранить и перезагрузить**.
9. Подтвердите действие, нажав **Перезагрузить**.
Во время выполнения масштабирования ВМ находится статусе `Расширение`. После применения изменений ВМ будет автоматически перезагружена. ВМ перейдет в статус `Включен`.
## Выключить ВМ
Выключение ВМ не предполагает освобождение вычислительных ресурсов, зарезервированных за этим ВМ.
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **Виртуальные машины**.
5. Измените состояние ВМ одним из способов:
- На странице **Виртуальные машины**:
- В списке виртуальных ВМ найдите ВМ, состояние которой необходимо изменить.
- Нажмите на &hellip; и выберите **Выключить**.
- Подтвердите действие, нажав **Выключить**.
- На странице виртуальной машины:
- В списке ВМ найдите ВМ, состояние которой необходимо изменить.
- Нажмите на имя ВМ.
- Нажмите **Выключить**.
- Подтвердите действие, нажав **Выключить ВМ**.
Выключение ВМ занимает некоторое время, отключается питание ВМ. После выключения ВМ переходит в статус `Выключен пользователем`.
## Включить ВМ
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **Виртуальные машины**.
5. Измените состояние ВМ одним из способов:
- На странице **Виртуальные машины**:
- В списке ВМ найдите ВМ, состояние которой необходимо изменить.
- Нажмите на &hellip; и выберите **Включить**.
- На странице виртуального машины:
- В списке ВМ найдите ВМ, состояние которой необходимо изменить.
- Нажмите на имя ВМ.
- Нажмите **Включить**.
Включение ВМ занимает некоторое время. После включения ВМ переходит в статус `Включен`.
## Перезагрузить ВМ
Перезагрузка ВМ предполагает корректное завершение работы операционный системы без отключения питания.
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **Виртуальные машины**.
5. Измените состояние ВМ одним из способов:
- На странице **Виртуальные машины**:
- В списке ВМ найдите ВМ, состояние которого необходимо изменить.
- Нажмите на &hellip; и выберите **Перезагрузить**.
- Подтвердите действие, нажав **Перезагрузить**.
- На странице виртуальной машины:
- В списке ВМ найдите ВМ, состояние которой необходимо изменить.
- Нажмите на имя ВМ.
- Нажмите **Перезагрузить**.
- Подтвердите действие, нажав **Перезагрузить**.
Во время выполнения перезагрузки ВМ находится в статусе `Перезагружается`. После завершения перезагрузки ВМ перейдет в статус `Включен`.
## Принудительная перезагрузка ВМ
Принудительная перезагрузка ВМ предполагает аппаратное выключение и включение. Несохраненные данные могут быть потеряны.
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **Виртуальные машины**.
5. Измените состояние ВМ одним из способов:
- На странице **Виртуальные машины**:
- В списке ВМ найдите ВМ, состояние которой необходимо изменить.
- Нажмите на &hellip; и выберите **Принудительная перезагрузка**.
- Подтвердите действие, нажав **Перезагрузить**.
- На странице виртуальной машины:
- В списке ВМ найдите ВМ, состояние которого необходимо изменить.
- Нажмите на имя ВМ.
- Нажмите на &hellip; в правом углу страницы и выберите **Принудительная перезагрузка**.
- Подтвердите действие, нажав **Перезагрузить**.
Во время выполнения перезагрузки ВМ находится в статусе `Холодная перезагрузка`. После завершения перезагрузки ВМ перейдет в статус `Включен`.
## Назначить ВМ IP-адрес
Если вам необходимо переиспользовать IP-адрес, то перед удалением ВМ [сохраните IP-адрес](../compute-how-to/compute-ip/compute-ip-manager.md#сохранить-ip-адрес-в-проекте). При создании ВМ этот IP-адрес будет доступен для назначения.
::: warning Важно
IP-адрес можно назначить новой ВМ. Назначение IP-адреса существующей ВМ не предусмотрено.
:::
## Удалить ВМ
После удаления ВМ освобождаются вычислительные ресурсы.
Системный диск будет удален вместе с ВМ. Если к ВМ подключены дополнительные диски, то при удалении ВМ диски будут отключены. В дальнейшем эти диски можно подключить к другой ВМ.
IP-адрес будет удален вместе с ВМ. Чтобы оставить IP-адрес, перед удалением ВМ [сохраните IP-адрес в проекте](../compute-how-to/compute-ip/compute-ip-manager.md#сохранить-ip-адрес-в-проекте). Сохраненный IP-адрес после удаления ВМ остается в вашем проекте и будет доступен для назначения новой ВМ.
::: danger Предупреждение
Удаление ВМ необратимо. Все данные будут удалены без возможности восстановления.
:::
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **Виртуальные машины**.
5. Удалите ВМ одним из способов:
- На странице **Виртуальные машины**:
- В списке ВМ найдите ВМ, которую необходимо удалить.
- Нажмите на &hellip; и выберите **Удалить**.
- Введите имя удаляемой ВМ и нажмите **Удалить виртуальную машину**.
- На странице виртуальной машины:
- В списке ВМ найдите ВМ, которую необходимо удалить.
- Нажмите на имя .
- Нажмите на &hellip; в правом углу страницы и выберите **Удалить**.
- Введите имя удаляемого ВМа и нажмите **Удалить виртуальную машину**.
Binary file not shown.

After

Width:  |  Height:  |  Size: 281 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 803 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 996 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 937 B

+11
View File
@@ -0,0 +1,11 @@
---
section_links:
- title: Техническое описание
link: /compute/compute-overview.md
description: Информация о зонах доступности, физических платформах сервиса
- title: Квоты и лимиты
link: /compute/compute-quatos.md
description: Ограничения на количество ресурсов в сервисе
---
# Обзор сервиса
+81
View File
@@ -0,0 +1,81 @@
# Техническое описание
## Виртуальная машина
Конфигурация виртуальной машины задается при ее создании:
- операционная система;
- количество CPU;
- объем RAM;
- тип и размер диска;
- зона доступности.
## Зоны доступности
Зона доступности — это один или несколько центров обработки данных (ЦОД), в которых могут быть размещены компоненты облачной инфраструктуры.
| Зона доступности |Дата-центр | Сетевой периметр |
|---|---|---|
|`msk-dc-1`|[Останкино](https://dc.ostankino.ru/)|`Inside`, `DMZ`|
<!--|`msk-dc-3`|[Oxygen](https://o2dc.ru/)|
|`msk-dc-5`|[Филанко](https://datahouse.ru/datacenter/nagornaya/)|
|`ytc-dc-1`|[ЯТЦ Модуль 3](../platform/zones.md#доступные-центры-обработки-данных)|
|`ytc-dc-2`|[ЯТЦ Модуль 5](../platform/zones.md#доступные-центры-обработки-данных)|
|`ytc-dc-3`|[ЯТЦ Модуль 6](../platform/zones.md#доступные-центры-обработки-данных)|-->
Доступны сетевые периметры:
- `Inside` — закрытый контур, не подразумевает доступ в/из интернета к виртуальным машинам. По умолчанию все ВМ в зоне `Inside` имеют маршруты до сетей `Inside` и `DMZ`.
- `DMZ` — демилитаризованная зона, подразумевает доступ из интернета к виртуальным машинам. По умолчанию все ВМ в зоне `DMZ` с внутренним IP-адресом имеют доступ в интернет через служебный внешний IP-организации организации, недоступный пользователям для управления.
## Шаблоны конфигурации ВМ
При создании виртуальной машины доступны готовые конфигурации CPU и RAM. Произвольные конфигурации недоступны.
## Физические платформы
Сервис предоставляет различные виды физических процессоров. Выбор платформы гарантирует тип физического процессора в дата-центре и определяет набор допустимых конфигураций CPU и RAM.
| Платформа | Процессор |Частота, ГГц | Кол-во физических CPU на сервере | RAM, ГБ | Зона доступности (*)|Характеристики на 1 ВМ (**)|
|---|---|---|---|---|---|---|
| Intel Ice Lake | Intel Xeon Platinum 8358 | 2,6 | 2x32 |1536|[Доступна во всех зонах](#зоны-доступности)|**Кол-во vCPU:** до 32<br> **Объем RAM:** до 256 ГБ|
| Intel Ice Lake | Intel Xeon Platinum 8378A | 3 | 2x32 |1536|[Доступна во всех зонах](#зоны-доступности)|**Кол-во vCPU:** до 32<br> **Объем RAM:** до 256 ГБ|
- (*) — возможно изменение платформы на аналогичную.
- (**) — индивидуальные конфигурации vCPU и RAM — по запросу.
## Диски
Хранение данных организовано с использованием сетевых дисков. Диск создается в определенной зоне доступности. Каждый диск автоматически реплицируется внутри своей зоны доступности, что обеспечивает надежное хранение данных.
Система хранения построена на платформе Ceph. Используются блочные устройства хранения данных — `NBD (network block device)`. Доступен тип диска — `SSD`.
## Операционная система
Для виртуальных машин подготовлены образы операционных систем Linux.
В операционных системах доступен `root`-пользователь. Для подключения к ВМ используется имя пользователя, заданное при создании ВМ.
| Операционная система | Версия | Размер загрузочного диска |
|---|---|---|
| AstraLinux | 1.8.2 | 3 ГБ |
| CentOS | 9 | 10 ГБ |
| CentOS | 10 | 10 ГБ |
| Debian | 12 | 5 ГБ |
| Rocky Linux | 9 | 10 ГБ |
| Ubuntu | 20.04 | 5 ГБ |
| Ubuntu | 22.04 | 5 ГБ |
| VyOS | 13 | 2 ГБ |
| VyOS | 14 | 2 ГБ |
## Группы виртуальных машин
Группу виртуальных машин внутри одной зоны доступности можно объединить в соответствии с определенной политикой размещения. Доступны политики:
- Правило `Affinity` размещает ВМ обязательно на одном физическом хосте.
- Правило `Soft-Affinity` размещает ВМ по возможности на одном физическом хосте.
- Правило `Anti-Affinity` размещает ВМ обязательно на разных физических хостах. Такое размещение повышает производительность и предотвращает недоступность ВМ при отказе хоста.
- Правило `Soft-Anti-Affinity` размещает ВМ по возможности на разных физических хостах.
+37
View File
@@ -0,0 +1,37 @@
# Квоты и лимиты
Квоты — это организационные ограничения на количество доступных ресурсов в сервисе. В некоторых случаях квоты могут быть увеличены или уменьшены по запросу.
Лимиты — это технические ограничения на количество доступных ресурсов в сервисе. Ограничения, обычно, связаны с характеристиками оборудования и особенностями архитектуры.
## Квоты
| Вид ограничения | Значение |
|---|---|
|Количество публичных IP-адресов | 1 |
|Суммарное количество vCPU для всех виртуальных машин |32|
|Суммарный объем RAM для всех виртуальных машин | 256 ГБ|
|Суммарный объем дисков, включая [образы загрузочных дисков](../compute/compute-overview.md#операционная-система) | 200 ГБ |
Доступные шаблоны конфигураций vCPU и RAM виртуальных машин:
| Конфигурация | vCPU | RAM, ГБ |
|:------------|:----|:----------|
| cpu2ram2 | 2 | 2 |
| cpu2ram4 | 2 | 4 |
| cpu2ram8 | 2 | 8 |
| cpu2ram16 | 2 | 16 |
| cpu4ram4 | 4 | 4 |
| cpu4ram8 | 4 | 8 |
| cpu4ram16 | 4 | 16 |
| cpu4ram32 | 4 | 32 |
| cpu8ram16 | 8 | 16 |
| cpu8ram32 | 8 | 32 |
| cpu8ram64 | 8 | 64 |
| cpu8ram128 | 8 | 128 |
| cpu16ram4 | 16 | 4 |
| cpu16ram8 | 16 | 8 |
| cpu16ram16 | 16 | 16 |
| cpu16ram32 | 16 | 32 |
| cpu16ram64 | 16 | 64 |
| cpu16ram128 | 16 | 128 |
+22
View File
@@ -0,0 +1,22 @@
---
section_links:
- title: Обзор сервиса
link: /compute/compute-overview-index.md
description: Обзор сервиса, решаемые задачи, характеристики оборудования
- title: Виртуальные машины
link: /compute/compute-how-to/compute-index.md
description: Создание виртуальной машины и подключение к ней, управление виртуальной машиной
- title: Диски
link: /compute/compute-how-to/compute-disks.md
description: Создание, настройка и удаление дисков, подключение и отключение диска от виртуальной машины
- title: IP-адреса
link: /compute/compute-how-to/compute-ip.md
description: Резервирование, назначение IP-адреса виртуальной машине, удаление IP-адресов
- title: Группы размещения
link: /compute/compute-how-to/compute-affinity.md
description: Создание правил размещения виртуальных машин на физических хостах, управление группами размещения
---
# Виртуальные машины
Сервис **Виртуальные машины** предоставляет пользователям виртуальные машины.
-31
View File
@@ -1,31 +0,0 @@
---
section_links:
- title: Счета
link:
description: Просмотр счетов и получение документов за расчетный период в PDF
- title: Анализ затрат
link: /finance/cost-analysis.md
description: Детализация расходов в различных разрезах, фильтрация, сравнение периодов и экспорт отчетов
- title: Бюджеты
link:
description: Установка бюджетов для проектов и сервисов, настройка уведомлений о приближении к лимиту
- title: Прогнозирование
link:
description: Оценка ожидаемых расходов и сигналы о возможном перерасходе
- title: Рекомендации
link:
description: Персонализированные советы по снижению расходов на облачные ресурсы
- title: Управление тегами
link:
description: Организация ресурсов с помощью пользовательских меток и кастомизированная отчетность
---
# Финансы
Модуль Финансы позволяет отслеживать стоимость использованных ресурсов и анализировать расходы в разрезе периодов и статей затрат.
В модуле можно:
- просматривать и скачивать счета;
- контролировать траты по договорам, проектам и сервисам;
- анализировать объем и стоимость потребляемых ресурсов.
-79
View File
@@ -1,79 +0,0 @@
---
verified: false
note: Документация была написана по старому порталу. Текст требует проверки.
---
# Счета
В разделе Счета можно посмотреть все выставленные счета Beeline Cloud. Счета формируются автоматически один раз в месяц для юридических лиц и индивидуальных предпринимателей, подключивших услуги Beeline Cloud. Для каждого расчетного периода доступны документы в формате PDF. Дата появления нового счета указана в верхней части страницы.
## Статусы счетов
Счет может иметь один из следующих статусов:
- **Ожидает оплаты** — счет сформирован и ожидает оплаты.
- **Просрочен** — срок оплаты истек, требуется оплата.
- **Закрыт** — счет оплачен и обработан.
## Просмотр счетов
1. Перейдите в раздел **Финансы****Счета**.
2. Укажите расчетный период в верхней части страницы.
3. В таблице отобразятся все счета за выбранный период. Для каждого счета указаны:
- номер счета,
- дата выставления,
- расчетный период,
- сумма,
- статус оплаты.
## Просмотр деталей счета
1. Перейдите в раздел **Финансы****Счета**.
2. Укажите расчетный период в верхней части страницы.
3. Нажмите на строку со счетом, чтобы открыть его карточку.
4. В карточке счета отображаются:
- номер счета,
- номер договора,
- дата выставления,
- срок оплаты,
- расчетный период,
- общая сумма по счету и НДС,
- банковские реквизиты получателя,
- контакты поддержки,
- таблица с детализацией услуг.
## Оплата счета
Если статус счета **Ожидает оплаты** или **Просрочен**, его нужно оплатить.
1. Перейдите в раздел **Финансы****Счета**.
2. Откройте карточку нужного счета.
3. Нажмите **Оплатить**.
4. Выберите способ оплаты (QR или Сбербанк Онлайн) и завершите оплату.
После успешной оплаты статус счета изменится на **Закрыт**.
## Загрузка счета
1. Перейдите в раздел **Финансы****Счета**.
2. Откройте карточку счета.
3. В правом верхнем углу нажмите **Скачать PDF**.
Файл сохранится в формате PDF.
## Фильтрация счетов
В таблице счетов доступна фильтрация по:
- статусу оплаты,
- дате выставления,
- сумме.
Для этого используйте фильтры в верхней части таблицы. Таблица обновится автоматически.
## Аналитика по счетам
В разделе доступна визуализация данных об оплатах:
- распределение расходов по месяцам, проектам или сервисам,
- сравнение текущих расходов с предыдущими периодами.
-3
View File
@@ -1,3 +0,0 @@
# Бюджеты и уведомления
Раздел в разработке.
-112
View File
@@ -1,112 +0,0 @@
---
verified: true
---
# Анализ затрат
В разделе Анализ затрат можно отслеживать расходы на облачные ресурсы в режиме реального времени, анализировать их по различным параметрам, сравнивать с предыдущими периодами и экспортировать данные. Доступна детализация за день, неделю, месяц, квартал, год или произвольный период.
Вы можете использовать раздел, чтобы:
- узнать сколько потрачено на определенные сервисы за последний месяц;
- экспортировать отчет за определенный период в формате CSV для анализа в стороннем ПО;
- выявить тренды в динамике расходов и принять меры по снижению затрат.
## Просмотр общих расходов
1. Перейдите в раздел **Финансы****Анализ затрат**.
2. Перейдите на вкладку **Общие расходы**.
3. В верхней части страницы задайте фильтры:
- **Период**: задайте даты начала и окончания или выберите один из периодов на вкладке **Предустановленный**.
- **Гранулярность** — выберите шаг агрегации данных на графиках:
- **Договоры / Проекты**: выберите один или несколько проектов.
- **Сервис**: выберите один или несколько сервисов.
4. Отобразятся:
- сумма расходов за выбранный период.
- график с расходами за выбранный период.
- таблица с детализацией затрат по договорам, проектам, и сервисам.
В таблице для каждой записи указаны:
- договор
- проект
- сервис
- график динамики расходов
- средний расход (руб/час)
- текущий расход (руб/час)
- стоимость за использованный ресурс
## Просмотр расходов по сервисам
1. Перейдите в раздел **Финансы****Анализ затрат**.
2. Перейдите на вкладку **Расходы по сервисам**.
3. В верхней части страницы задайте фильтры:
- **Сервис**: выберите один или несколько сервисов.
- **Период**: задайте даты начала и окончания или выберите один из периодов на вкладке **Предустановленный**.
- **Гранулярность** — выберите шаг агрегации данных на графиках.
- **Договоры / Проекты**: выберите один или несколько проектов.
- **Инстансы**: выберите один или несколько инстансов.
- **Ресурс**: выберите один или несколько ресурсов.
4. Отобразятся:
- сумма расходов за выбранный период.
- график с расходами за выбранный период.
- таблица с детализацией затрат по договорам, проектам, сервисам и ресурсам.
В таблице для каждой записи указаны:
- договор
- проект
- сервис
- график динамики расходов
- средний расход (руб/час)
- текущий расход (руб/час)
- стоимость за использованный ресурс
## Детализация расходов
Наведите курсор на элемент графика или строку таблицы, чтобы увидеть подробные данные в подсказке — затраты по каждому сервису и общую сумму за период.
## Настройка графиков
### Столбчатая диаграмма
Вы можете настроить способ отображения и диапазон данных:
- **Группировка**: выберите способ отображения расходов: **По договорам**, **По проектам** или **По сервисам**.
- **Тип визуализации**: переключайтесь между столбчатой диаграммой и линейным графиком.
- **Диапазон**: сдвигайте границы полосы для выбора подпериода внутри заданного периода.
### Круговая диаграмма
У круговой диаграммы можно настроить только **Группировку**. Можно выбрать один из способов отображения расходов: **По договорам**, **По проектам** или **По сервисам**.
## Посмотреть историю расходов
1. Перейдите в раздел **Финансы****Анализ затрат**.
2. Перейдите на вкладку **Расходы по сервисам**.
3. В верхней части страницы задайте фильтры:
- **Сервис**: выберите один или несколько сервисов.
- **Период**: задайте даты начала и окончания или выберите один из периодов на вкладке **Предустановленный**.
- **Гранулярность** — выберите шаг агрегации данных на графиках.
- **Договоры / Проекты**: выберите один или несколько проектов.
- **Инстансы**: выберите один или несколько инстансов.
- **Ресурс**: выберите один или несколько ресурсов.
4. В нижней части страницы в подразделе **Детализация** перейдите на вкладку **История расходов**.
5. Отобразится таблица с детализацией затрат по договорам, проектам, сервисам и ресурсам. Для каждого ресурса указаны:
- **Кол-во**: объём потребленных ресурсов за период.
- **Ед. измерения** — единица тарификации.
- **Цена за ед.** — стоимость одной единицы в рублях.
- **Стоимость, ₽** — итоговая сумма за период.
Чтобы раскрыть детализацию по конкретному периоду, нажмите на строку с датами — отобразится список ресурсов с разбивкой по типам.
## Экспорт отчета
1. Перейдите в раздел **Финансы****Анализ затрат**.
2. Задайте нужные фильтры.
3. Нажмите кнопку **Экспорт** под графиками.
4. Файл сохранится на ваш компьютер.
Файл CSV можно открыть в Excel или другом редакторе для дальнейшего анализа.
-3
View File
@@ -1,3 +0,0 @@
# Финансовый мониторинг
Раздел в разработке.
-3
View File
@@ -1,3 +0,0 @@
# Прогнозирование
Раздел в разработке.
-3
View File
@@ -1,3 +0,0 @@
# Квоты и лимиты
Раздел в разработке.
-3
View File
@@ -1,3 +0,0 @@
# Рекомендации
Раздел в разработке.
-3
View File
@@ -1,3 +0,0 @@
# Управление тегами
Раздел в разработке.
-3
View File
@@ -1,3 +0,0 @@
# Аналитика потребления
Раздел в разработке.
+123 -30
View File
@@ -9,56 +9,149 @@ hero:
# tagline: My great project tagline
features:
- title: Обзор платформы
- title: Начало работы
icon: coffee
link: /start/index
- title: Облачная платформа
icon: tv_modern
link: /platform/index
# - title: Документация по сервисам
# scroll_to: "#home-services-section-title"
# icon: cloud
- title: Финансы
- title: Сервисы
scroll_to: "#home-services-section-title"
icon: cloud
- title: Администрирование
link: /admin/index
icon: profile_circled
items: [
{ title: Пользователи },
{ title: Роли },
{ title: Проекты }
]
- title: Автоматизация
scroll_to: ""
icon: code
items: [
{ title: Terraform },
{ title: API }
]
- title: Мониторинг
icon: graph_up
link:
- title: Биллинг
icon: wallet
link: /finance/about
- title: Юридические документы
icon: handshake
link: /legal/index
link:
- title: Безопасность и стандарты
icon: security
link: ''
- title: Тех поддержка
icon: headset_help
link: /platform/support/support-overview
services:
- title: Инфраструктура
articles:
- title: Виртуальные машины
description: Масштабируемые вычислительные мощности для создания и управления виртуальными машинами
icon: cloud
link: /compute/index
- title: Виртуальные дата-центры на VMware
description: Аренда виртуального дата-центра на базе VMware
icon: cloud
link: /vdc/index
- title: Объектное хранилище S3
description: В работе
icon: cloud
- title: Готовое облако 1С
description: В работе
icon: cloud
- title: Частное облако
description: В работе
icon: cloud
- title: Миграция виртуальных машин
description: В работе
icon: cloud
- title: Kubernetes
description: В работе
icon: cloud
- title: Сеть
articles:
- title: Сетевой балансировщик
description: В работе
icon: network
- title: Выделенные сетевые соединения
description: В работе
icon: network
- title: CDN. Доставка контента
description: В работе
icon: network
- title: SD-WAN. Распределенные сети
description: В работе
icon: network
- title: Резервное копирование
articles:
- title: Резервное копирование
description: Создание, хранение и восстановление копии виртуальных машин
icon: refresh
link: /backups/index
- title: Базы данных
articles:
- title: PostgreSQL
description: Объектно-реляционная СУБД с открытым кодом, обеспечивающая высокую надёжность и масштабируемость
- title: ClickHouse
description: В работе
icon: database
link: /PaaS/PostgreSQL/PostgreSQL-index.md
- title: MongoDB
description: В работе
icon: database
- title: Аналитика
articles:
- title: Визуализация и анализ данных
description: В работе
icon: graph_up
- title: Безопасность
articles:
- title: Cloud NGFW
link: /security/Cloud-NGFW/NGFW-index.md
description: Межсетевой экран для инспекции и фильтрации трафика на уровне приложений
- title: Межсетевой экран (NGFW)
description: В работе
icon: security
- title: Cloud NGFW F
link: /security/Cloud-NGFW-F/NGFW-F-index.md
description: Виртуальный аплаенс межсетевого экрана для исследования и фильтрации сетевого трафика
- title: Защита веб-приложений (WAF)
description: В работе
icon: security
- title: Cloud NGFW Pro
link: /security/Cloud-NGFW-Pro/NGFW-Pro-index.md
description: Межсетевой экран с IDS и потоковым антивирусом на базе отказоустойчивой инфраструктуры
- title: Защита серверов и рабочих мест
description: В работе
icon: security
- title: Управление мобильными устройствами (MDM)
link: /security/Cloud-MDM/MDM-index.md
description: Сервис централизованного управления корпоративными и личными мобильными устройствами сотрудников
- title: Защита устройств пользователей
description: В работе
icon: security
- title: Сканер уязвимостей (VS)
link: /security/Cloud-VS/VS-index.md
description: Сервис сканирования компьютеров и приложений на уязвимости
- title: Сканер уязвимостей
description: В работе
icon: security
- title: Обучение основам киберграмотности (SA)
link: /security/Cloud-SA/SA-index.md
description: Сервис для формирования у сотрудников навыков реагирования на угрозы информационной безопасности
- title: Курсы кибербезопасности
description: В работе
icon: security
- title: Многофакторная аутентификация
description: В работе
icon: security
- title: Фильтрация почтового трафика
description: В работе
icon: security
- title: Виртуальное рабочее место
articles:
- title: Виртуальные рабочие столы (VDI)
description: В работе
icon: magic
link: /vdi/index
- title: Платформа офисного пространства
description: В работе
icon: magic
- title: Дизайн
articles:
- title: Дизайн-платформа Yellowbe
description: В работе
icon: palette
- title: AI инструменты
articles:
- title: AI песочница
description: В работе
icon: robot
- title: Мультимодельная AI фабрика
description: В работе
icon: robot
---
-13
View File
@@ -1,13 +0,0 @@
---
section_links:
- title: Условия обработки данных пользователей
link: https://static.beeline.ru/upload/images/cloud/31463_usloviya_obrabotki_dannyh_polzovateley.pdf
description: Описывает, какие данные автоматически собираются при посещении сайта и как управлять их сбором
- title: Политика обработки персональных данных ПАО «ВымпелКом»
link: https://static.beeline.ru/upload/images/Documents/politica.pdf
description: Устанавливает правила обработки персональных данных в соответствии с Федеральным законом № 152-ФЗ, определяет категории субъектов, цели обработки, права пользователей и меры по обеспечению безопасности данных
---
# Правовые документы
Beeline Cloud обрабатывает данные пользователей в соответствии с законодательством Российской Федерации. На этой странице собраны документы, регулирующие сбор, хранение и использование персональных данных.
+15 -11
View File
@@ -2,22 +2,26 @@
## Сервисы
Каждый сервис Beeline Cloud предоставляет определенный набор облачных ресурсов и инструменты для управления этими ресурсами.
Каждый сервис Beeline Cloud предоставляет определенный набор облачных ресурсов и инструменты для управления этими ресурсами. Все сервисы Beeline Cloud объединены в каталог и размещены в личном кабинете в разделе **Сервисы**.
Доступ к сервисам Beeline Cloud предоставляется зарегистрированным пользователям.
Список сервисов можно посмотреть в разделе **Сервисы** в личном кабинете.
Сервисы с отметкой `По заявке` подключаются по запросу специалистами Beeline Cloud. Сервисы без отметки `По заявке` — цифровые, и подключаются самостоятельно.
Доступ к сервисам Beeline Cloud предоставляется [зарегистрированным пользователям](../start/getting-started.md#1-регистрация-в-beeline-cloud).
## Центры обработки данных
Инфраструктура Beeline Cloud размещена в надежных дата-центрах уровней Tier II и III.
| Город | Дата-центр | Адрес дата-центра | Tier |
| ----------- | ----------------------------------------------------- | ------------------------------------------------- | ---- |
| Москва | [Останкино](https://dc.ostankino.ru/) | РФ, г. Москва, 1-я Останкинская ул., д. 1, стр. 1 | III |
| Москва | [Oxygen](https://o2dc.ru/) | РФ, г. Москва, Волгоградский пр., д. 42, к. 9 | III |
| Москва | [Филанко](https://datahouse.ru/datacenter/nagornaya/) | РФ, г. Москва, Электролитный пр-д, д. 3, стр. 47 | II |
| Ярославль | ЯТЦ Модуль 3 | РФ, г. Ярославль, ул. Технопарковая, д. 5 | III |
| Ярославль | ЯТЦ Модуль 5 | РФ, г. Ярославль, ул. Технопарковая, д. 5 | III |
| Ярославль | ЯТЦ Модуль 6 | РФ, г. Ярославль, ул. Технопарковая, д. 5 | III |
| Новосибирск | РТК-ЦОД | РФ, г. Новосибирск, ул. Менделеева, д. 1 | III |
| Город | Дата-центр | Адрес дата-центра | Tier |
|---|---|---|---|
|Москва|[Останкино](https://dc.ostankino.ru/)|РФ, г. Москва, 1-я Останкинская ул., д. 1, стр. 1|III|
|Москва|[Oxygen](https://o2dc.ru/)|РФ, г. Москва, Волгоградский пр., д. 42, к. 9|III|
|Москва|[Филанко](https://datahouse.ru/datacenter/nagornaya/)|РФ, г. Москва, Электролитный пр-д, д. 3, стр. 47|II|
|Ярославль|ЯТЦ Модуль 3|РФ, г. Ярославль, ул. Технопарковая, д. 5|III|
|Ярославль|ЯТЦ Модуль 5|РФ, г. Ярославль, ул. Технопарковая, д. 5|III|
|Ярославль|ЯТЦ Модуль 6|РФ, г. Ярославль, ул. Технопарковая, д. 5|III|
|Новосибирск|РТК-ЦОД|РФ, г. Новосибирск, ул. Менделеева, д. 1|III|
- **ЯТЦ** — Ярославский технический центр.
-125
View File
@@ -1,125 +0,0 @@
# Типы тарификации
Эта статья описывает, как работает каждый тип тарификации: как рассчитывается стоимость, что происходит при изменении объема использования или отключении услуги в течение расчетного периода. Сервисы Beeline Cloud тарифицируются по одной из четырех моделей:
- [абонентская плата с перерасчетом по фактическим дням использования (Fix Prorate)](#абонентская-плата-с-перерасчетом-fix-prorate);
- [абонентская плата без перерасчета по фактическим дням использования (Fix Non Prorate)](#абонентская-плата-без-перерасчета-fix-non-prorate);
- [оплата по фактическому потреблению (PAYG)](#оплата-по-фактическому-потреблению-payg);
- [одноразовая оплата (One Time)](#одноразовая-оплата-one-time).
Fix Prorate и Fix Non Prorate — два подтипа [абонентской платы (Fix)](#абонентская-плата-fix). Они отличаются тем, как учитывается изменение объема использования или отключение услуги в течение расчетного периода.
Тип тарификации можно узнать на странице сервиса или у специалиста Beeline Cloud. В Beeline Cloud все цены всегда указаны в российских рублях.
## Абонентская плата (Fix)
Стоимость определяется объемом подключенной услуги, а не фактической нагрузкой на ресурсы.
Правила тарификации:
- Цена тарифа указана за месяц.
- В пределах квоты сервиса объекты можно создавать и удалять без ограничений.
- Плата начисляется ежемесячно, пока услуга подключена.
Абонентская плата имеет два подтипа. Они отличаются поведением при изменении объема использования или отключении услуги в течение расчетного периода:
- [с перерасчетом по фактическим дням использования (Fix Prorate)](#абонентская-плата-с-перерасчетом-fix-prorate);
- [без перерасчета по фактическим дням использования (Fix Non Prorate)](#абонентская-плата-без-перерасчета-fix-non-prorate).
### Абонентская плата с перерасчетом (Fix Prorate)
При подключении, изменении или отключении тарифа в течение расчетного периода стоимость пересчитывается пропорционально количеству дней с каждым подключенным объемом услуги.
Порядок расчета:
1. Месячная стоимость делится на количество дней в расчетном периоде — получается дневная ставка.
2. Дневная ставка умножается на количество дней с каждым подключенным объемом услуги.
3. Полученные значения суммируются.
Пример расчета: цена тарифа — 500₽ за 1 vCPU в месяц. В расчетном периоде 30 дней. Подключенный объем услуги меняется в течение периода:
| Период | Дней | vCPU | Расчет за период | Сумма |
| ----------- | ---- | ---- | ----------------- | -------------- |
| 0106 числа | 6 | 0 | — | 0 руб. |
| 0712 числа | 6 | 10 | 10 × 500 × 6 / 30 | 1 000 руб. |
| 1318 числа | 6 | 20 | 20 × 500 × 6 / 30 | 2 000 руб. |
| 1930 числа | 12 | 0 | — | 0 руб. |
| | | | **Итого без НДС** | **3 000 руб.** |
В счете каждый период с подключенным объемом услуги отображается отдельной строкой:
| № | Наименование тарифа | Период | Кол-во | Цена за единицу (руб.) | Сумма (руб.) |
| --- | -------------------------- | ----------------------- | ------ | ---------------------- | ------------ |
| 1 | Виртуальный процессор vCPU | 07.01.2025 — 12.01.2025 | 10 | 500,00 | 1 000,00 |
| 2 | Виртуальный процессор vCPU | 13.01.2025 — 18.01.2025 | 20 | 500,00 | 2 000,00 |
### Абонентская плата без перерасчета (Fix Non Prorate)
Стоимость рассчитывается по максимальному количеству подключенных объектов за расчетный период. Длительность использования не учитывается.
Порядок расчета:
1. В течение расчетного периода фиксируется максимальное количество подключенных объектов.
2. В конце расчетного периода максимальный объем умножается на цену тарифа.
Пример расчета: цена тарифа — 2 600₽ за 1 шт. Количество подключенных объектов меняется в течение периода:
| Период | Дней | Шт. |
| ------------ | ---- | ------ |
| 0106 числа | 6 | 0 |
| 0712 числа | 6 | 20 |
| 1318 числа | 6 | 5 |
| 1930 числа | 12 | 0 |
| **Максимум** | — | **20** |
Расчет ведется по максимальному количеству подключенных объектов:
| Параметр | Значение |
| ------------------ | --------------- |
| Максимальный объем | 20 шт. |
| Цена за 1 шт. | 2 600 руб. |
| Расчет | 20 × 2 600 руб. |
| **Итого без НДС** | **52 000 руб.** |
## Оплата по фактическому потреблению (PAYG)
Стоимость рассчитывается по фактически потребленным ресурсам.
Правила тарификации:
- Цена тарифа указана за час.
- Тарификация ресурса начинается при его создании и заканчивается при удалении.
- Остановка ресурса, например, виртуальной машины, не приостанавливает тарификацию ее ресурсов. Чтобы прекратить начисление платы, ресурс нужно удалить.
- В пределах квоты сервиса объекты можно создавать и удалять без ограничений.
- Плата начисляется ежемесячно за фактическое потребление, пока услуга подключена.
Пример расчета: цена тарифа — 0,70₽ за 1 vCPU в час. Используется 5 виртуальных машин по 2 vCPU в каждой в течение всего расчетного периода — 30 дней или 720 часов.
| Параметр | Значение |
| ------------------------- | ----------------------- |
| Цена за 1 vCPU в час | 0,70 руб. |
| Виртуальных машин | 5 |
| vCPU в каждой ВМ | 2 |
| Дней в расчетном периоде | 30 |
| Часов в расчетном периоде | 720 |
| Расчет | 5 × 2 × 720 × 0,70 руб. |
| **Итого без НДС** | **5 040 руб.** |
## Одноразовая оплата (One Time)
Плата за услугу взимается один раз — в расчетном периоде оформления заказа. В последующих расчетных периодах услуга в счете не отображается. Применяется для услуг без срока действия — например, для покупки лицензий или разовых работ.
Правила тарификации:
- Плата начисляется однократно — в момент оформления заказа.
- После оплаты услуга остается в распоряжении клиента бессрочно, если у нее нет срока действия.
- После оформления заказа изменить количество или отменить заказ нельзя.
Пример расчета: цена лицензии — 12 000₽. Например, в заказе 5 лицензий.
| Параметр | Значение |
| ----------------- | --------------- |
| Цена за лицензию | 12 000 руб. |
| Лицензий | 5 |
| Расчет | 5 × 12 000 руб. |
| **Итого без НДС** | **60 000 руб.** |
+14 -13
View File
@@ -4,25 +4,26 @@
## Способы обращения
| Способ связи | Канал обращения | Время работы | Описание |
| ------------ | --------------------------------------------------------- | ------------- | -------- |
| Почта | [servicedesk@datafort.ru](mailto:servicedesk@datafort.ru) | круглосуточно | |
| Способ связи | Канал обращения | Время работы | Описание |
|----------|----------|---------------------|----------|
|Центр поддержки| [lk.cloud.beeline.ru/support-center](https://lk.cloud.beeline.ru/support-center) | круглосуточно | Для подачи обращений через центр поддержки [зарегистрируйтесь в Beeline Cloud](./../../start/getting-started.md#шаг-1-регистрация-в-beeline-cloud) |
|Почта | [servicedesk@datafort.ru](mailto:servicedesk@datafort.ru) | круглосуточно| |
## Сроки обработки запросов
| **Приоритет обращения** | **Описание** | **Тип обращения** | **Целевой срок решения** | **Первичное время реакции на обращение (минуты)** |
| ----------------------- | ----------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ------------------------ | ------------------------------------------------- |
| 1 | Сервис полностью или частично недоступен | Устранение неисправности | 2 ч | 15 минут |
| 2 | Уровень качества сервиса снизился | Устранение неисправности | 4 ч | 15 минут |
| 3 | Вопрос, не оказывающий существенного влияния на ведение бизнеса.<br> Консультация.<br> Запрос на сервисные работы | Устранение неисправности.<br> Техническая консультация.<br> Сервисное обслуживание | Следующий рабочий день | 15 минут |
| 4 | Подготовить отчет по устранению неисправности | Отчет по устранению неисправности | 5 рабочих дней | 15 минут |
| **Приоритет обращения** | **Описание** | **Тип обращения** | **Целевой срок решения** | **Первичное время реакции на обращение (минуты)** |
|--------|--------|--------|--------|--------|
| 1 | Сервис полностью или частично недоступен | Устранение неисправности | 2 ч | 15 минут |
| 2 | Уровень качества сервиса снизился | Устранение неисправности | 4 ч | 15 минут |
| 3 | Вопрос, не оказывающий существенного влияния на ведение бизнеса.<br> Консультация.<br> Запрос на сервисные работы | Устранение неисправности.<br> Техническая консультация.<br> Сервисное обслуживание | Следующий рабочий день | 15 минут |
| 4 | Подготовить отчет по устранению неисправности | Отчет по устранению неисправности | 5 рабочих дней | 15 минут |
Подробную информацию смотрите в SLA сервисов Beeline Cloud.
## Типы обращений
| **Название** | **Описание** |
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Устранение неисправности | Запрос на устранение технических проблем, связанных с облачной инфраструктурой |
| Сервисное обслуживание | Запрос на установку и настройку программного обеспечения, обновления и патчи, а также на подготовку отчета по устранению неисправности |
| **Название** | **Описание** |
|--------|--------|
| Устранение неисправности | Запрос на устранение технических проблем, связанных с облачной инфраструктурой |
| Сервисное обслуживание | Запрос на установку и настройку программного обеспечения, обновления и патчи, а также на подготовку отчета по устранению неисправности |
| Техническая консультация | Консультация по вопросам, связанными с настройкой сервисов Beeline Cloud, программным обеспечением, аппаратными средствами или другими техническими вопросами |
Binary file not shown.
Binary file not shown.
Binary file not shown.
-20
View File
@@ -1,20 +0,0 @@
---
section_links:
- title: Обзор сервиса
link: /security/Cloud-MDM/about.md
description:
- title: Порядок платежей
link: /security/Cloud-MDM/payments.md
description:
- title: Качественные характеристики сервиса
link: /security/Cloud-MDM/characteristics.md
description:
- title: Сроки и условия предоставления сервиса
link: /security/Cloud-MDM/provision.md
description:
---
# Cloud Mobile Device Management (MDM)
Сервис управляет корпоративными и личными мобильными устройствами сотрудников и интегрируется с инфраструктурой заказчика.
-62
View File
@@ -1,62 +0,0 @@
# Cloud Mobile Device Management (MDM)
## Назначение сервиса
Сервис **Cloud Mobile Device Management (Cloud MDM)** используется для управления корпоративными и личными мобильными устройствами сотрудников. Сервис интегрируется с инфраструктурой заказчика и предоставляется по модели **Self-Service**.
## Возможности сервиса
Сервис позволяет:
- централизованно учитывать и управлять парком мобильных устройств;
- управлять настройками и политиками безопасности мобильных устройств;
- удаленно устанавливать ПО на управляемые мобильные устройства.
## Поддерживаемые операционные системы (ОС)
Сервис управляет мобильными устройствами со следующими ОС:
- Android 4.0 и выше.
- iOS 4.0 и выше.
- Windows Phone 8 и выше.
- Windows 10 Laptops.
- macOS 10.7 и выше.
- tvOS 7.0 и выше.
- Android TV (Android 4.4 и выше).
- Chrome OS 57.0 и выше.
- iPadOS 13.0 и выше.
## Функциональность сервиса
| Функция | Назначение |
| ----------------------------------------------- | ---------------------------------------------------------------------------------------------- |
| Поддержка BYOD | Разграничение личной и корпоративной информации на управляемом устройстве. |
| Геолокация | Определение местоположения мобильного устройства на карте. |
| Контейнеризация приложений | Защита данных, хранимых внутри приложений. |
| Собственный магазин приложений | Распространение приложений из публичных магазинов и приложений, разработанных внутри компании. |
| Автоматическая настройка приложений и устройств | Распространение конфигураций e-mail, VPN, Wi-Fi и сертификатов. |
| Режим "Kiosk" | Ограничение использования приложений, интерфейса ОС и настроек на мобильном устройстве. |
| Дистанционное удаление данных | Удаление данных при утере устройства или увольнении сотрудника. |
::: warning Важно
В зависимости от производителя устройства и версии ОС часть описанной функциональности может быть недоступна.
:::
## Компоненты сервиса
| Компонент | Назначение |
| ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Центр управления | Основной компонент сервиса. Заказчик подключается к центру управления через веб-браузер и получает доступ к веб-консоли администратора тенанта. В консоли администратор управляет настройками и задачами. Центр управления хранит информацию о конфигурации сервиса и отправляет команды агентам управления мобильными устройствами. |
| Агент управления мобильными устройствами | ПО, которое устанавливается на управляемые мобильные устройства. Агент выполняет задачи, инициированные из центра управления, и применяет политики и настройки на управляемое устройство. |
| Шлюз безопасности | Промежуточный сервер между агентами управления мобильными устройствами и центром управления. Все сообщения от агентов до центра управления проходят через шлюз. |
| Веб-консоль центра управления | Входит в состав центра управления. Центральная точка управления задачами MDM для администраторов заказчика. В консоли администратор создает и импортирует пользователей, настраивает политики для мобильных устройств, управляет политиками безопасности и т.д. |
| Сервер распространения | Устанавливается на компьютер в инфраструктуре заказчика. Используется для интеграции с Active Directory (AD) и получения информации обо всех компьютерах. Связывается с центром управления. |
::: warning Важно
**Сервер распространения** — дополнительный компонент. Разворачивается, если требуется интеграция AD заказчика с Cloud MDM или расширенное управление устройствами с ОС Windows.
:::

Some files were not shown because too many files have changed in this diff Show More