Compare commits

...

146 Commits

Author SHA1 Message Date
Александр Анисин 1140a0295d MFA + правки структуры 2026-05-29 07:54:17 +03:00
Александр Анисин 06ed9845f1 Исправления ссылок 2026-05-26 09:35:35 +03:00
Левченко Людмила Алексеевна ed36dfb22b Merge branch 'feature/PaaS-Deckhouse' into 'main'
Feature/PaaS-Deckhouse

See merge request common/lk-beecloud/beecloud-docs!34
2026-05-22 12:14:39 +03:00
Левченко Людмила Алексеевна fe97e6c8ac Feature/PaaS-Deckhouse 2026-05-22 12:14:39 +03:00
Левченко Людмила Алексеевна b4dd7e6124 Merge branch 'hotfix/remove-extra-line' into 'main'
fix: убрала лишнее из конфликта

See merge request common/lk-beecloud/beecloud-docs!32
2026-05-20 12:20:56 +03:00
Левченко Людмила Алексеевна 8b000bbc5a fix: убрала лишнее из конфликта 2026-05-20 12:07:42 +03:00
Левченко Людмила Алексеевна 4ab958bb8b Merge branch 'Apache-Kafka' into 'main'
Apache kafka

See merge request common/lk-beecloud/beecloud-docs!31
2026-05-20 11:41:38 +03:00
Левченко Людмила Алексеевна 10ccccfaeb Merge branch 'main' into 'Apache-Kafka'
# Conflicts:
#   src/.vitepress/config.mts
#   src/index.md
2026-05-20 11:34:02 +03:00
Левченко Людмила Алексеевна 2702259c01 мелкие правки 2026-05-20 11:26:58 +03:00
Левченко Людмила Алексеевна e16de52934 изменение расположения документации 2026-05-15 12:38:25 +03:00
Анисин Александр Александрович bf04aa7cc1 Merge branch 'patch/finance-gr' into 'main'
Смена грануляции на детализацию

See merge request common/lk-beecloud/beecloud-docs!27
2026-05-13 12:51:41 +00:00
Aleksandr Anisin 4ea76d36ef Смена грануляции на детализацию 2026-05-13 15:51:04 +03:00
Анисин Александр Александрович 33c90da738 Merge branch 'fix/main' into 'main'
Удаление лишних пунктов Cloud NGFW

See merge request common/lk-beecloud/beecloud-docs!26
2026-05-13 10:43:16 +00:00
Александр Анисин 7c82953483 fix: удалить дублирующиеся пункты Cloud NGFW в сайдбаре 2026-05-13 13:39:22 +03:00
Анисин Александр Александрович c177afc01d Merge branch 'sync/main' into 'main'
Дата-центры и шрифты

See merge request common/lk-beecloud/beecloud-docs!25
2026-05-13 07:52:57 +00:00
Aleksandr Anisin bbd87d2431 Merge branch 'main' of ssh://git.vimpelcom.ru:1122/common/lk-beecloud/beecloud-docs 2026-05-13 10:45:22 +03:00
Александр Анисин a7656e4107 Правки по ДЦ 2026-05-13 10:40:54 +03:00
Анисин Александр Александрович cf742045d9 Merge branch 'test' into 'main'
Иконки и шрифты

See merge request common/lk-beecloud/beecloud-docs!24
2026-05-13 07:05:25 +00:00
Александр Анисин 428abd21a8 Иконки и шрифты 2026-05-13 09:58:34 +03:00
Анисин Александр Александрович d0231a62ea Merge branch 'test' into 'main'
Чистка портала документации

See merge request common/lk-beecloud/beecloud-docs!23
2026-05-13 06:22:09 +00:00
Aleksandr Anisin ebde707488 Исправления 2026-05-13 09:16:06 +03:00
Александр Анисин e63edcc02c Изменение страницы Legal 2026-05-13 08:59:55 +03:00
Александр Анисин 8b20ed8654 Правки по сервисам, функция WIP для разделов 2026-05-13 08:53:26 +03:00
Aleksandr Anisin 41a80cee19 Исправления 2026-05-12 13:09:08 +03:00
Aleksandr Anisin 4caeb6ce92 Merge branch 'test' of ssh://git.vimpelcom.ru:1122/common/lk-beecloud/beecloud-docs into test 2026-05-12 12:59:11 +03:00
Александр Анисин 4bfca763d1 Очистка 2026-05-12 12:55:57 +03:00
Александр Анисин 1b3e8c1843 Очистка 2026-05-12 12:43:41 +03:00
Левченко Людмила Алексеевна 47fad54a34 мелкие правки 2026-05-06 16:18:57 +03:00
Левченко Людмила Алексеевна 6a0314bcbb мелкие правки 2026-05-06 15:50:54 +03:00
Левченко Людмила Алексеевна 9f287b5f15 добавление блока брокеров + иконка 2026-05-06 13:03:08 +03:00
Левченко Людмила Алексеевна f242ddd4cb мелкие правки 2026-05-06 12:32:09 +03:00
Левченко Людмила Алексеевна 3a96cb441e правки kafka 2026-04-30 12:06:57 +03:00
Aleksandr Anisin 5ddf4db4e8 Правки по финансам 2026-04-29 15:10:10 +03:00
Анисин Александр Александрович 201c9b7653 Merge branch 'fix/icon-legal' into 'test'
Иконка

See merge request common/lk-beecloud/beecloud-docs!22
2026-04-29 11:22:27 +00:00
Анисин Александр Александрович 189773b236 Merge branch 'fix/finance-patch' into 'test'
Документация по финансам

See merge request common/lk-beecloud/beecloud-docs!21
2026-04-29 11:20:36 +00:00
Александр Анисин 4524124d0a Финансы 2026-04-29 14:16:01 +03:00
Анисин Александр Александрович 07fda47d30 Merge branch 'fix/legal-sidebar' into 'test'
Исправление двойной статьи в боковом меню в юридических документах

See merge request common/lk-beecloud/beecloud-docs!20
2026-04-29 11:04:58 +00:00
Александр Анисин 9bee10da5c Убрал дублирующий пункт в сайдбаре юридических документов 2026-04-29 13:59:34 +03:00
Анисин Александр Александрович 2b74ef8cbc Merge branch 'fix/tab-name' into 'test'
Технические изменения

See merge request common/lk-beecloud/beecloud-docs!19
2026-04-29 10:45:15 +00:00
Анисин Александр Александрович 446cae4efa Merge branch 'feature/finance' into 'test'
Документация по Финансам

See merge request common/lk-beecloud/beecloud-docs!18
2026-04-29 10:40:16 +00:00
Александр Анисин fc412a33c9 Технические изменения 2026-04-29 13:28:26 +03:00
Левченко Людмила Алексеевна c01886e49b Праавки по сервису kafka 2026-04-29 10:22:17 +03:00
Александр Анисин 70e5e662fc Финансы 2026-04-29 09:52:52 +03:00
Анисин Александр Александрович fbd9b516e8 Merge branch 'fix/icon-legal' into 'main'
Иконка

See merge request common/lk-beecloud/beecloud-docs!17
2026-04-24 11:38:25 +00:00
Aleksandr Anisin 142fba4bf4 Иконка 2026-04-24 14:33:26 +03:00
Анисин Александр Александрович 623f882625 Merge branch 'feature/legal-docs' into 'main'
Юридические документы

See merge request common/lk-beecloud/beecloud-docs!16
2026-04-24 11:17:21 +00:00
Анисин Александр Александрович b262bd7821 Merge branch 'feature/ngfw-services' into 'main'
Документы по NGFW

See merge request common/lk-beecloud/beecloud-docs!15
2026-04-24 11:16:20 +00:00
Александр Анисин bdab867205 Документы по NGFW 2026-04-24 14:07:00 +03:00
Aleksandr Anisin 7dde98d821 Убрал заголовок 2026-04-24 14:05:53 +03:00
Александр Анисин b12a029919 Юридические документы 2026-04-24 14:01:54 +03:00
Yana Ishkhanova 9a21a53e11 Внесение правок в статьи по постгресу и кафке 2026-04-21 17:35:44 +03:00
Aleksandr Anisin 87193038ae Обновление тестовой сборки 2026-04-20 16:00:41 +03:00
Aleksandr Anisin eab7a61ed1 Исправление ошибки сборки 2026-04-20 14:24:55 +03:00
Анисин Александр Александрович f4a212e3e2 Merge branch 'feature/billing' into 'test'
Биллинг

See merge request common/lk-beecloud/beecloud-docs!14
2026-04-20 10:15:28 +00:00
Анисин Александр Александрович 7dcab6a39b Merge branch 'test' into 'feature/billing'
# Conflicts:
#   src/.vitepress/config.mts
2026-04-20 10:15:05 +00:00
Анисин Александр Александрович f623476dff Merge branch 'feature/ngfw-f' into 'test'
NGFW-F

See merge request common/lk-beecloud/beecloud-docs!13
2026-04-20 10:14:10 +00:00
Анисин Александр Александрович dc9817d250 Merge branch 'test' into 'feature/ngfw-f'
# Conflicts:
#   src/.vitepress/config.mts
#   src/security/index.md
2026-04-20 10:13:53 +00:00
Анисин Александр Александрович 47a6d4d1ec Merge branch 'feature/ngfw-pro' into 'test'
NGFW Pro

See merge request common/lk-beecloud/beecloud-docs!12
2026-04-20 10:12:40 +00:00
Анисин Александр Александрович 45ec9a5ab3 Merge branch 'test' into 'feature/ngfw-pro'
# Conflicts:
#   src/.vitepress/config.mts
#   src/index.md
#   src/security/Cloud-MDM/MDM-index.md
#   src/security/Cloud-SA/SA-index.md
#   src/security/Cloud-VS/VS-index.md
#   src/security/index.md
2026-04-20 10:12:08 +00:00
Aleksandr Anisin 3c402cfa73 NGFW 2026-04-20 12:54:33 +03:00
Yana Ishkhanova 83f5e68647 внесение дополнительной информации 2026-04-17 11:46:26 +03:00
Yana Ishkhanova 46b4dfec73 внесение дополнительной информации в статью по кафке 2026-04-17 11:41:26 +03:00
Aleksandr Anisin ea42afac3e NGFW-Pro 2026-04-08 15:57:35 +03:00
Aleksandr Anisin f0c94a6587 NGFW-F 2026-04-08 15:54:59 +03:00
Анисин Александр Александрович d921225b30 Merge branch 'feature/security-part-prod' into 'main'
Feature/security part prod

See merge request common/lk-beecloud/beecloud-docs!11
2026-04-08 06:57:04 +00:00
Aleksandr Anisin 26e65e2a72 Заглушка 2026-04-08 09:55:04 +03:00
Aleksandr Anisin b01b38ed5a Правки в разделах по безопасности 2026-04-08 09:49:45 +03:00
Aleksandr Anisin dbaf23e144 Разделы по безопасности 2026-04-08 09:36:45 +03:00
Aleksandr Anisin 6511368389 Разделы по безопасности 2026-04-08 09:35:08 +03:00
Aleksandr Anisin 3808af1e34 Разделы по безопасности 2026-04-08 09:24:37 +03:00
Yana Ishkhanova ff8c1af855 Добавлены статьи по кафке 2026-04-07 11:35:23 +03:00
Левченко Людмила Алексеевна fc7486d182 Merge branch 'feature/PaaS-PostgreSQL-to-main' into 'main'
feature/PaaS-PostgreSQL-to-main

See merge request common/lk-beecloud/beecloud-docs!10
2026-04-01 18:00:48 +03:00
Левченко Людмила Алексеевна ec84ec85e1 feature/PaaS-PostgreSQL-to-main 2026-04-01 18:00:48 +03:00
Левченко Людмила Алексеевна a0f86509fa Merge branch 'feature/PaaS-PostgreSQL' into 'test'
feature/PaaS-PostgreSQL правки

See merge request common/lk-beecloud/beecloud-docs!9
2026-04-01 17:40:12 +03:00
Левченко Людмила Алексеевна 2c782be4da правки 2026-04-01 17:33:02 +03:00
Левченко Людмила Алексеевна 9fa086bffe Merge branch 'feature/PaaS-PostgreSQL' into 'test'
PaaS-PostgreSQL правки 2.0

See merge request common/lk-beecloud/beecloud-docs!8
2026-04-01 17:27:01 +03:00
Левченко Людмила Алексеевна fcc8b68475 правки 2.0 2026-04-01 17:20:40 +03:00
Левченко Людмила Алексеевна 52edef245f Merge branch 'feature/PaaS-PostgreSQL-to-main' into 'main'
feature/PaaS-PostgreSQL-to-main

See merge request common/lk-beecloud/beecloud-docs!7
2026-04-01 15:10:51 +03:00
Левченко Людмила Алексеевна a47571d8af feature/PaaS-PostgreSQL-to-main 2026-04-01 15:10:51 +03:00
Левченко Людмила Алексеевна 01938a5440 Merge branch 'feature/PaaS-PostgreSQL' into 'test'
feature/PaaS-PostgreSQL правки

See merge request common/lk-beecloud/beecloud-docs!6
2026-04-01 14:44:42 +03:00
Левченко Людмила Алексеевна 943c6432c9 правки 2026-04-01 14:40:55 +03:00
Левченко Людмила Алексеевна 0014452a20 Merge branch 'feature/PaaS-PostgreSQL' into 'test'
Feature/paas-postgresql

See merge request common/lk-beecloud/beecloud-docs!5
2026-04-01 12:30:12 +03:00
Левченко Людмила Алексеевна 764bedf550 правки 2026-04-01 12:24:03 +03:00
Левченко Людмила Алексеевна a4ba63de59 правки 2026-04-01 12:21:50 +03:00
Левченко Людмила Алексеевна ea4e00ef1b правки 2026-04-01 12:19:50 +03:00
Левченко Людмила Алексеевна e6ed9f0af5 Merge branch 'feature/PaaS-PostgreSQL' into 'test'
Feature/paas postgresql 2.0

See merge request common/lk-beecloud/beecloud-docs!4
2026-03-31 12:15:58 +03:00
Левченко Людмила Алексеевна 8e1da810a6 Мелкие правки 2026-03-31 11:08:54 +03:00
Левченко Людмила Алексеевна 518b0377f4 Мелкие правки 2026-03-31 10:54:44 +03:00
Левченко Людмила Алексеевна fd818ca3c4 Merge branch 'feature/PaaS-PostgreSQL' into 'test'
Feature/PaaS-Postgre-SQL

See merge request common/lk-beecloud/beecloud-docs!3
2026-03-30 11:24:52 +03:00
Левченко Людмила Алексеевна 4adfe0e44a удалены старые файлы 2026-03-27 17:12:38 +03:00
Yana Ishkhanova ae14925dcc мелкие правки 2026-03-27 16:16:12 +03:00
Yana Ishkhanova c33b6b8666 Merge branch 'feature/PaaS-PostgreSQL' of ssh://git.vimpelcom.ru:1122/common/lk-beecloud/beecloud-docs into feature/PaaS-PostgreSQL 2026-03-27 16:12:17 +03:00
Yana Ishkhanova 5a0c94a187 Внесение мелких правок 2026-03-27 16:09:02 +03:00
Левченко Людмила Алексеевна d8165f9442 внесение корректировок 2026-03-27 12:27:45 +03:00
Левченко Людмила Алексеевна 45c6e6dd0d Merge branch 'feature/PaaS-PostgreSQL' into 'test'
Документация для системы PaaS #BEECL-6775

See merge request common/lk-beecloud/beecloud-docs!1
2026-03-26 16:14:22 +03:00
Aleksandr Anisin 76ce7d5ecc Ссылки 2026-03-24 13:10:09 +03:00
Aleksandr Anisin cbca68dfbf Ссылки 2026-03-24 13:02:15 +03:00
Aleksandr Anisin 76ad140803 Merge remote-tracking branch 'origin/fix/security-naming' into test 2026-03-20 15:17:27 +03:00
Aleksandr Anisin 3618010241 Merge remote-tracking branch 'origin/feature/security' into test 2026-03-20 12:17:21 +03:00
Yana Ishkhanova 1bb42c4731 мелкие правки 2026-03-20 12:16:18 +03:00
Левченко Людмила Алексеевна 1b96efc894 Мелкие правки 2026-03-18 16:12:49 +03:00
Yana Ishkhanova e80065f53a Перенесла IPSEC в папку paas, тк на данную статью будут ссылаться не только по вопросам касаемо PostgreSQL, но и по Apache Kafka 2026-03-18 15:03:47 +03:00
Yana Ishkhanova 9a665dc7ab Вынесение блока IPSEC из cluster_parametr в отдельную статью, внесение правок 2026-03-18 14:57:51 +03:00
Yana Ishkhanova 2a4796a454 Перенесла файлы grafana и pgadmin в папку с документацией PostgreSQL 2026-03-18 12:53:51 +03:00
Левченко Людмила Алексеевна 983d12aa4c удалена дублирующая директория 2026-03-16 17:41:12 +03:00
dmvstrelnikov 2f97666bb3 chore: update build-npm.yml 2026-03-16 17:25:36 +03:00
dmvstrelnikov 8ea9b9cfba chore: update build-npm.yml 2026-03-16 17:24:58 +03:00
Левченко Людмила Алексеевна d0c4da711a Мелкие правки 2026-03-13 17:30:38 +03:00
Левченко Людмила Алексеевна 319ee317ac grafana и pgadmin 2026-03-13 15:45:08 +03:00
Yana Ishkhanova e1b0c5d60e Добавление двух новых документов, метрики + pgadmin 2026-03-13 11:05:58 +03:00
Yana Ishkhanova 86bc4b88a3 Merge branch 'feature/PaaS-PostgreSQL' of ssh://git.vimpelcom.ru:1122/common/lk-beecloud/beecloud-docs into feature/PaaS-PostgreSQL 2026-03-12 17:19:21 +03:00
Yana Ishkhanova 97bfe3d5b4 Добавлены инструкции по работе с PgAdmin, а также описание метрик 2026-03-12 15:16:55 +03:00
Левченко Людмила Алексеевна 2c30db4807 Сервис PostgreSQL 2026-03-11 16:17:54 +03:00
Aleksandr Anisin e1a91fd276 Боковое меню 2026-03-09 19:07:11 +03:00
Aleksandr Anisin 143517e0e9 Дополнения от владельца сервиса 2026-03-09 18:50:47 +03:00
Aleksandr Anisin c0f94d4ea7 Обновление названий сервисов 2026-03-09 18:14:00 +03:00
Левченко Людмила Алексеевна fa02fa99ff Корректировки сервиса VS 2026-03-05 18:04:08 +03:00
Левченко Людмила Алексеевна 694b9d4d79 Корректировка сервиса NGFW 2026-03-04 12:36:29 +03:00
Левченко Людмила Алексеевна 5028651702 Внесение правок 2026-03-04 12:01:45 +03:00
Левченко Людмила Алексеевна b9a19ca0af мелкие правки 2026-03-04 10:59:23 +03:00
Aleksandr Anisin d2e6a825fe Merge branch 'feature/security' of ssh://git.vimpelcom.ru:1122/common/vega/beecloud-docs into feature/security 2026-03-04 08:59:25 +03:00
Aleksandr Anisin 17253a29fb SA 2026-03-04 08:59:18 +03:00
Левченко Людмила Алексеевна d9ae9815c4 Внесение правов 2026-03-03 18:26:18 +03:00
Левченко Людмила Алексеевна d2b6e9fe70 PostgreSQL 2026-03-03 12:13:33 +03:00
Aleksandr Anisin 0825eea352 MDM 2026-03-03 11:21:19 +03:00
Левченко Людмила Алексеевна 36bcf449c1 Сервис Cloud NGFW 2026-02-26 17:55:34 +03:00
Левченко Людмила Алексеевна 7e5630cca3 Мелкие правки 2026-02-25 11:37:13 +03:00
Левченко Людмила Алексеевна e1ba316949 Мелкие правки 2026-02-25 11:34:03 +03:00
Левченко Людмила Алексеевна 3e530f2eb9 Мелкие правки 2026-02-25 11:31:15 +03:00
Левченко Людмила Алексеевна 3afc130ea9 Мелкие правки 2026-02-25 11:23:10 +03:00
Левченко Людмила Алексеевна 436d8dff17 Сервис MDM 2026-02-19 17:54:25 +03:00
Левченко Людмила Алексеевна 53edfe7a58 мелкие правки 2026-02-12 16:49:20 +03:00
Левченко Людмила Алексеевна ea20a8e8bf Сервис VS 2026-02-12 16:33:40 +03:00
Левченко Людмила Алексеевна 68c9e4167e Структурирование раздела 2026-02-06 17:25:05 +03:00
Левченко Людмила Алексеевна 5fdc3d3c68 Сервис SA 2026-02-05 17:30:52 +03:00
Речкина Елена Валерьевна adcd2d54d3 Update file package.json 2026-01-27 09:40:21 +00:00
Речкина Елена Валерьевна 451ecaa68d Merge branch 'main' into 'feature/billing'
# Conflicts:
#   src/.vitepress/config.mts
2026-01-13 06:49:35 +00:00
Elena Rechkina c99ffa082d Навигация 2025-12-12 16:01:44 +06:00
Речкина Елена Валерьевна afd228d696 Merge branch 'main' into 'feature/billing'
# Conflicts:
#   src/.vitepress/config.mts
#   src/billing/about.md
#   src/billing/usage-analytics.md
#   src/index.md
2025-12-12 09:59:32 +00:00
Elena Rechkina bb73b0cf68 Форматирование 2025-12-12 15:57:06 +06:00
Левченко Людмила Алексеевна 825daec2e7 мелкие правки 2025-12-11 17:12:45 +03:00
Aleksandr Anisin 4a82f2d34d Правка по Биллингу 2025-10-09 20:28:23 +03:00
Aleksandr Anisin a0bd478abe Small edits 2025-10-09 19:53:08 +03:00
Aleksandr Anisin 23bf227c36 Обновленное описание Биллинга 2025-10-09 13:58:04 +03:00
Aleksandr Anisin 089f9d1e98 Удалил временный файл 2025-09-25 09:09:43 +03:00
Aleksandr Anisin 9a38f22e65 Биллинг 2025-09-25 09:07:46 +03:00
265 changed files with 5172 additions and 2926 deletions
+1
View File
@@ -10,6 +10,7 @@ dist
.basement
config.local.js
basement_dist
.claude
src/.vuepress/.cache
src/.vuepress/.temp
src/.vitepress/cache
Submodule
+1
Submodule beecloud-docs added at df88416247
+2 -2
View File
@@ -1,12 +1,12 @@
{
"name": "docs",
"version": "0.6.5-main",
"version": "0.6.5-billing",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "docs",
"version": "0.6.5-main",
"version": "0.6.5-billing",
"license": "MIT",
"dependencies": {
"@beeline/design-tokens": "^1.31.6",
+5 -2
View File
@@ -1,12 +1,15 @@
{
"name": "docs",
"version": "0.6.5-main",
"version": "0.6.5-billing",
"description": "Beeline Cloud docs",
"main": "index.js",
"scripts": {
"predev": "node scripts/check-links.mjs",
"dev": "vitepress dev src",
"prebuild": "node scripts/check-links.mjs",
"build": "vitepress build src",
"preview": "vitepress preview src"
"preview": "vitepress preview src",
"check-links": "node scripts/check-links.mjs"
},
"keywords": [],
"authors": {
+186
View File
@@ -0,0 +1,186 @@
import { readFileSync, readdirSync, statSync, existsSync, realpathSync } from 'node:fs';
import { join, dirname, resolve, relative, extname } from 'node:path';
import { fileURLToPath } from 'node:url';
const ROOT = resolve(fileURLToPath(import.meta.url), '../..');
const SRC = join(ROOT, 'src');
const PUBLIC_DIR = join(SRC, 'public');
const CONFIG = join(SRC, '.vitepress/config.mts');
const HOME = join(SRC, 'index.md');
function walk(dir, out = [], skipDirs = new Set()) {
if (!existsSync(dir)) return out;
for (const name of readdirSync(dir)) {
if (skipDirs.has(name)) continue;
const p = join(dir, name);
const s = statSync(p);
if (s.isDirectory()) walk(p, out, skipDirs);
else out.push(p);
}
return out;
}
const docFiles = walk(SRC, [], new Set(['node_modules', '.vitepress', 'public', 'assets']));
const mdFiles = docFiles.filter(f => f.endsWith('.md'));
function checkTarget(target, fromFile) {
const url = target.trim();
if (!url) return { ok: false, reason: 'empty' };
if (/^(https?:|mailto:|tel:|ftp:|data:|javascript:|#)/i.test(url)) return { ok: true, skip: true };
const [pathPart] = url.split('#');
const [pathOnly] = pathPart.split('?');
if (!pathOnly) return { ok: true, skip: true };
let abs;
if (pathOnly.startsWith('/')) {
abs = join(SRC, pathOnly);
if (!existsSync(abs)) {
const inPublic = join(PUBLIC_DIR, pathOnly);
if (existsSync(inPublic)) return { ok: true };
}
} else {
abs = resolve(dirname(fromFile), pathOnly);
}
if (existsSync(abs)) return { ok: true };
if (extname(abs) === '') {
if (existsSync(abs + '.md')) return { ok: true };
if (existsSync(join(abs, 'index.md'))) return { ok: true };
}
if (extname(abs) === '.html') {
if (existsSync(abs.replace(/\.html$/, '.md'))) return { ok: true };
}
return { ok: false, reason: 'not found' };
}
function resolveToMd(target, fromFile) {
const url = target.trim();
if (!url) return null;
if (/^(https?:|mailto:|tel:|ftp:|data:|javascript:|#)/i.test(url)) return null;
const [pathPart] = url.split('#');
const [pathOnly] = pathPart.split('?');
if (!pathOnly) return null;
const abs = pathOnly.startsWith('/')
? join(SRC, pathOnly)
: resolve(dirname(fromFile), pathOnly);
if (extname(abs) === '.md' && existsSync(abs)) return abs;
if (extname(abs) === '') {
if (existsSync(abs + '.md')) return abs + '.md';
if (existsSync(join(abs, 'index.md'))) return join(abs, 'index.md');
}
if (extname(abs) === '.html') {
const asMd = abs.replace(/\.html$/, '.md');
if (existsSync(asMd)) return asMd;
}
return null;
}
const broken = [];
const usedMd = new Set();
const mdLinkRe = /(!?)\[([^\]]*)\]\(([^)\s]+)(?:\s+"[^"]*")?\)/g;
const htmlLinkRe = /<(?:img[^>]+src|a[^>]+href|source[^>]+src|video[^>]+src|link[^>]+href)\s*=\s*["']([^"']+)["']/gi;
const frontmatterLinkRe = /^\s*-?\s*link:\s*['"]?([^\s'"#]+)['"]?\s*$/;
const includeRe = /<!--\s*@include:\s*([^\s>-]+(?:\.md)?)[^>]*-->/g;
function recordUse(target, fromFile) {
const md = resolveToMd(target, fromFile);
if (md) usedMd.add(md);
}
for (const file of mdFiles) {
const content = readFileSync(file, 'utf8');
const lines = content.split('\n');
let fmStart = -1, fmEnd = -1;
if (lines[0]?.trim() === '---') {
fmStart = 0;
for (let i = 1; i < lines.length; i++) {
if (lines[i].trim() === '---') { fmEnd = i; break; }
}
}
for (let i = 0; i < lines.length; i++) {
const line = lines[i];
const inFrontmatter = fmStart !== -1 && i > fmStart && i < fmEnd;
if (inFrontmatter) {
const m = line.match(frontmatterLinkRe);
if (m) {
const res = checkTarget(m[1], file);
if (!res.ok && !res.skip) {
broken.push({ file: relative(ROOT, file), line: i + 1, target: m[1], type: 'frontmatter' });
} else {
recordUse(m[1], file);
}
}
continue;
}
for (const m of line.matchAll(mdLinkRe)) {
const res = checkTarget(m[3], file);
if (!res.ok && !res.skip) {
broken.push({ file: relative(ROOT, file), line: i + 1, target: m[3], type: m[1] === '!' ? 'image' : 'link' });
} else {
recordUse(m[3], file);
}
}
for (const m of line.matchAll(htmlLinkRe)) {
const res = checkTarget(m[1], file);
if (!res.ok && !res.skip) {
broken.push({ file: relative(ROOT, file), line: i + 1, target: m[1], type: 'html' });
} else {
recordUse(m[1], file);
}
}
for (const m of line.matchAll(includeRe)) {
recordUse(m[1], file);
}
}
}
const cfgLines = readFileSync(CONFIG, 'utf8').split('\n');
const sidebarLinkRe = /link:\s*['"]([^'"]+)['"]/g;
for (let i = 0; i < cfgLines.length; i++) {
const line = cfgLines[i];
if (/^\s*\/\//.test(line)) continue;
for (const m of line.matchAll(sidebarLinkRe)) {
const target = m[1];
if (!target) continue;
const res = checkTarget(target, CONFIG);
if (!res.ok && !res.skip) {
broken.push({ file: relative(ROOT, CONFIG), line: i + 1, target, type: 'sidebar' });
} else {
recordUse(target, CONFIG);
}
}
}
const orphans = mdFiles
.filter(f => f !== HOME && !usedMd.has(f))
.map(f => relative(ROOT, f))
.sort();
broken.sort((a, b) => a.file.localeCompare(b.file) || a.line - b.line);
let hasBroken = false;
if (broken.length === 0) {
console.log('OK: битых ссылок не найдено');
} else {
hasBroken = true;
console.log(`Найдено битых ссылок: ${broken.length}\n`);
let lastFile = '';
for (const b of broken) {
if (b.file !== lastFile) { console.log(`\n${b.file}`); lastFile = b.file; }
console.log(` L${b.line} [${b.type}] -> ${b.target}`);
}
}
console.log('');
if (orphans.length === 0) {
console.log('OK: неиспользуемых страниц не найдено');
} else {
console.log(`WARN: найдено неиспользуемых страниц (не упомянуты ни в sidebar, ни в других md): ${orphans.length}\n`);
for (const f of orphans) console.log(` ${f}`);
}
process.exit(hasBroken ? 1 : 0);
+288 -241
View File
@@ -1,8 +1,6 @@
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 'node:path'
import { fileURLToPath, URL } from 'node:url'
const gitlab = `<?xml version="1.0" encoding="UTF-8" standalone="no"?>
@@ -46,11 +44,10 @@ console.log({ base: typeof new_version !== 'undefined' ? '/' : '/docs/' })
// https://vitepress.dev/reference/site-config
export default defineConfig({
srcDir: ".",
title: " ",
title: 'Beeline Cloud',
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)
@@ -65,24 +62,7 @@ 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: {
@@ -91,6 +71,14 @@ export default defineConfig({
}
},
themeConfig: {
siteTitle: false,
notFound: {
title: 'Страница не найдена',
quote: 'Похоже, вы зашли в тупик. Но не волнуйтесь — всегда можно вернуться на главную.',
linkLabel: 'вернуться на главную',
linkText: 'Вернуться на главную',
code: '404',
},
logo: {
light: '/img/logo-cloud.svg',
dark: '/img/logo-cloud.svg',
@@ -107,8 +95,14 @@ export default defineConfig({
buttonAriaLabel: 'Поиск'
},
modal: {
noResultsText: 'По вашему запросу ничего не найдено',
noResultsText: 'Не удалось загрузить данные',
resetButtonTitle: 'Сбросить',
displayDetails: 'Показать расширенный список',
footer: {
selectText: 'Выбрать',
closeText: 'Закрыть',
navigateText: 'Перейти',
}
}
}
}
@@ -141,238 +135,291 @@ export default defineConfig({
label: 'Содержание'
},
sidebar: {
'/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'},
{ text: 'Обзор', link: '/platform/about.md' },
{ text: 'Техническая поддержка', link: '/platform/support-overview.md' },
],
'/legal/': [
{ text: 'Юридические документы', link: '/legal/index.md' },
],
'/security/': [
{ text: 'Сервисы информационной безопасности в Beeline Cloud', link: '/security/index.md' },
],
'/security/Cloud-SA/': [
{ text: 'Cloud Security Awareness (SA)', link: '/security/Cloud-SA/about.md' },
{ text: 'Состав сервиса', link: '/security/Cloud-SA/compound.md' },
{ text: 'Настройки сервиса по умолчанию', link: '/security/Cloud-SA/default-service.md' },
{ text: 'Почтовый ретранслятор (SMTP relay)', link: '/security/Cloud-SA/mail-relay.md' },
{ text: 'Мониторинг работоспособности платформы', link: '/security/Cloud-SA/monitoring.md' },
{ text: 'Модули платформы', link: '/security/Cloud-SA/platform-modules.md' },
{ text: 'Ограничения платформы', link: '/security/Cloud-SA/restrictions.md' },
{ text: 'Отказоустойчивость', link: '/security/Cloud-SA/fault-tolerance.md' },
{ text: 'Шаблоны почтовых сообщений и веб-форм', link: '/security/Cloud-SA/templates.md' },
{ text: 'Дополнительные работы', link: '/security/Cloud-SA/additional-work.md' },
{ text: 'Зоны ответственности', link: '/security/Cloud-SA/responsibility.md' },
{ text: 'Качественные характеристики сервиса', link: '/security/Cloud-SA/characteristics.md' },
{ text: 'Инструкции для начала работы с сервисом', link: '/security/Cloud-SA/instructions.md' },
{ text: 'Порядок платежей', link: '/security/Cloud-SA/payments.md' },
{ text: 'Сроки и условия предоставления сервиса', link: '/security/Cloud-SA/provision.md' },
],
'/security/Cloud-VS/': [
{ text: 'Cloud Vulnerability Scanner (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/fault-tolerance.md' },
{ text: 'Состав работ', link: '/security/Cloud-VS/scope-work.md' },
{ text: 'Дополнительные работы', link: '/security/Cloud-VS/additional-work.md' },
{ text: 'Зоны ответственности', link: '/security/Cloud-VS/responsibility.md' },
{ text: 'Качественные характеристики сервиса', link: '/security/Cloud-VS/characteristics.md' },
{ text: 'Сроки и условия предоставления сервиса', link: '/security/Cloud-VS/provision.md' },
{ text: 'Порядок платежей', link: '/security/Cloud-VS/payments.md' },
],
'/security/Cloud-MDM/': [
{ text: 'Cloud Mobile Device Management (MDM)', link: '/security/Cloud-MDM/about.md' },
{ text: 'Состав сервиса', link: '/security/Cloud-MDM/compound.md' },
{ text: 'Архитектура сервиса', link: '/security/Cloud-MDM/architecture.md' },
{ text: 'Зоны ответственности', link: '/security/Cloud-MDM/responsibility.md' },
{ text: 'Мониторинг работоспособности', link: '/security/Cloud-MDM/monitoring.md' },
{ text: 'Отказоустойчивость', link: '/security/Cloud-MDM/fault-tolerance.md' },
{ text: 'Дополнительные работы', link: '/security/Cloud-MDM/additional-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.md' },
{ text: 'Активация учетной записи', link: '/security/Cloud-MDM/activation.md' },
{ text: 'Режим Device Owner', link: '/security/Cloud-MDM/device-owner.md' },
],
'/security/Cloud-MFA/': [
{ text: 'Cloud Multifactor Authentication (MFA)', link: '/security/Cloud-MFA/about.md' },
{ text: 'Состав сервиса', link: '/security/Cloud-MFA/compound.md' },
{ text: 'Компоненты сервиса', link: '/security/Cloud-MFA/components.md' },
{ text: 'Схема взаимодействия компонентов сервиса', link: '/security/Cloud-MFA/interaction-scheme.md' },
{ text: 'Состав работ', link: '/security/Cloud-MFA/scope-work.md' },
{ text: 'Дополнительные работы', link: '/security/Cloud-MFA/additional-work.md' },
{ text: 'Настройки по умолчанию (Managed Service)', link: '/security/Cloud-MFA/default-settings.md' },
{ text: 'Зоны ответственности', link: '/security/Cloud-MFA/responsibility.md' },
{ text: 'Мониторинг работоспособности', link: '/security/Cloud-MFA/monitoring.md' },
{ text: 'Отказоустойчивость', link: '/security/Cloud-MFA/fault-tolerance.md' },
{ text: 'Качественные характеристики сервиса', link: '/security/Cloud-MFA/characteristics.md' },
{ text: 'Сроки и условия предоставления сервиса', link: '/security/Cloud-MFA/provision.md' },
{ text: 'Порядок платежей', link: '/security/Cloud-MFA/payments.md' },
],
'/security/Cloud-NGFW/': [
{ text: 'Cloud NGFW', 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/responsibility.md' },
{ text: 'Порядок платежей', link: '/security/Cloud-NGFW/payments.md' },
],
'/security/Cloud-NGFW-F/': [
{ text: 'Cloud NGFW F', 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/payments.md' },
{ text: 'Тестирование сервиса', link: '/security/Cloud-NGFW-F/testing.md' },
],
'/security/Cloud-NGFW-Pro/': [
{ text: 'Cloud NGFW Pro', 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/responsibility.md' },
{ text: 'Демодоступ к сервису', link: '/security/Cloud-NGFW-Pro/demo-access.md' },
{ text: 'Порядок платежей', link: '/security/Cloud-NGFW-Pro/payments.md' },
],
// '/billing/': [
// ],
'/backups/': [
// '/backups/': [
// {
// text: 'Резервное копирование', link: '/backups/index.md',
// },
// {
// text: 'Обзор сервиса', link: '/backups/backups-overview.md',
// collapsed: true,
// items: [
// {text: 'О сервисе', link: '/backups/about.md'},
// {text: 'Квоты и лимиты', link: '/backups/backup-quatos.md'},
// ]
// },
// ],
'/PostgreSQL/': [
{
text: 'Резервное копирование', link: '/backups/index.md',
},
{
text: 'Обзор сервиса', link: '/backups/backups-overview.md',
collapsed: true,
items: [
{text: 'О сервисе', link: '/backups/about.md'},
{text: 'Квоты и лимиты', link: '/backups/backup-quatos.md'},
]
text: 'Начало работы в Cloud PostgreSQL', link: '/PostgreSQL/PostgreSQL-index.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'},
{
text: 'Cloud PostgreSQL', link: '/PostgreSQL/service/service-index.md',
collapsed: true,
items: [
{text: 'Обзор сервиса', link: '/PostgreSQL/service/about.md'},
{text: 'Описание технических параметров', link: '/PostgreSQL/service/cluster-parameter.md'},
{text: 'Общая схема подключения', link: '/PostgreSQL/service/connection.md'},
{text: 'Возможности пользователя', link: '/PostgreSQL/service/user-capabilities.md'},
{text: 'Веб-интерфейс pgAdmin', link: '/PostgreSQL/service/pgadmin.md'},
{text: 'Веб-интерфейс Grafana', link: '/PostgreSQL/service/grafana.md'},
],
},
{text: 'IPSEC', link: '/PostgreSQL/IPSEC.md'},
{text: 'Cloud Interconnect', wip: true },
{text: '1C', 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-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'},
'/Deckhouse/': [
{ text: 'Deckhouse', link: '/Deckhouse/index.md',
collapsed: true,
items: [
{text: 'Обзор сервиса', link: '/Deckhouse/about.md'},
{text: 'Права и возможности пользователей', link: '/Deckhouse/user-permissions.md'},
{text: 'Описание технических параметров', link: '/Deckhouse/technical-parameters.md'},
{text: 'Подключение к сервису', link: '/Deckhouse/connection.md'}
]
},
],
'/Apache-Kafka/': [
{ text: 'Apache-Kafka', link: '/Apache-Kafka/Kafka-index.md',
collapsed: true,
items: [
{text: 'Обзор сервиса', link: '/Apache-Kafka/about-service.md'},
{text: 'Работа с кластером Kafka по тарифу Base', link: '/Apache-Kafka/base-tier-connection.md'},
{text: 'Настройка топика по тарифу Base', link: '/Apache-Kafka/base-tier-topics-guide.md'},
{text: 'Конфигурация кластера', link: '/Apache-Kafka/cluster-configuretion.md'},
{text: 'Работа с кластером Kafka по тарифу Full', link: '/Apache-Kafka/full-tier-connection.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: 'Виртуальные машины', 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: 'Настройка IPSec VPN', link: '/vdc/vdc-how-to/networks/ipsec/setup-ipsec-vpn.md'},
{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'},
{ 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: '/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: 'Настройка 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: '/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' },
],
},
],
'/admin/': [
],
},
{ 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: '/admin/index.md',
text: 'Мониторинг', link: '/monitoring/about.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'
},
],
],
},
},
}
@@ -44,8 +44,21 @@ watch(
<slot name="sidebar-nav-before" />
<div v-for="item in sidebarGroups" :key="item.text" class="group">
<VPSidebarItem :item="item" :depth="0" />
<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>
<slot name="sidebar-nav-after" />
@@ -109,6 +109,48 @@
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;
right: 16px;
top: 50%;
transform: translateY(-50%);
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;
+5 -2
View File
@@ -1,6 +1,9 @@
@use '@beeline/design-tokens/scss/font-face';
@use '@beeline/design-tokens/scss/font-face' with (
$font-path-beeline-sans: '/fonts/beeline-sans',
$font-path-roboto-mono: '/fonts/roboto-mono'
);
@use "@beeline/design-tokens/scss/iconfont/iconfont" with (
$font-path-iconfont: '../assets/fonts/iconfont'
$font-path-iconfont: '/fonts/iconfont'
);
@use "@beeline/design-tokens/scss/iconfont/icons";
@use '@beeline/design-tokens/scss/tokens/themes/dark';
+22
View File
@@ -0,0 +1,22 @@
---
section_links:
- title: Назначение сервиса
link: /Apache-Kafka/about-service.md
description: Назначения и преимущества сервиса
- title: Работа с кластером Kafka по тарифу Base
link: /Apache-Kafka/base-tier-connection.md
description: Подключение и работа с кластером Kafka по тарифу Base
- title: Настройка топика по тарифу Base
link: /Apache-Kafka/base-tier-topics-guide.md
description: Рекомендации по настройке топика Kafka по тарифу Base
- title: Конфигурация кластера
link: /Apache-Kafka/cluster-configuretion.md
description: Конфигурации и возможности кластера Kafka
- title: Работа с кластером Kafka по тарифу Full
link: /Apache-Kafka/full-tier-connection.md
description: Подключение и работа с кластером Kafka по тарифу Full
---
# Apache-Kafka
В данном разделе представлена документация по управляемому сервису **Apache-Kafka** платформы Beeline Cloud.
+75
View File
@@ -0,0 +1,75 @@
# Назначение сервиса
Данный сервис предназначен для команд, которым требуется надёжный и масштабируемый конвейер данных без необходимости самостоятельно разворачивать и обслуживать инфраструктуру Kafka.
**Apache Kafka** - это распределённая система для потоковой передачи данных в реальном времени. Сервис обеспечивает надёжную и масштабируемую доставку сообщений между компонентами приложений, гарантируя отказоустойчивость и высокую производительность.
В архитектуре современных информационных систем Kafka выполняет роль централизованного конвейера данных: одни сервисы (продюсеры) публикуют сообщения, а другие (консьюмеры) получают эти сообщения по мере необходимости.
## Основные понятия
| Термин | Описание |
|--------------------------------|----------|
| **Продюсер (Producer)** | Программный компонент, который отправляет данные в Kafka. Продюсером может выступать любой сервис, генерирующий события: модуль приложения, система логирования, датчик IoT-устройства. |
| **Консьюмер (Consumer)** | Программный компонент, который получает данные из Kafka. Консьюмер подписывается на интересующие его события и обрабатывает поступающие сообщения. |
| **Топик (Topic)** | Именованный канал для хранения сообщений определённого типа. Топики организуют потоки данных по смыслу: например, «заказы», «ошибки», «события авторизации». Консьюмеры подписываются на один или несколько топиков для получения релевантных данных. |
| **Партиция (Partition)** | Каждый топик разделяется на партиции - логические сегменты, распределяемые между серверами кластера. Партиции обеспечивают параллельную обработку данных: различные части одного топика могут обрабатываться одновременно несколькими консьюмерами. |
| **Репликация (Replication)** | Для обеспечения отказоустойчивости партиции копируются на несколько серверов (брокеров). При выходе одного сервера из строя данные остаются доступными на других узлах кластера. |
| **Микросервисная архитектура** | Kafka является стандартным решением для организации связи между микросервисами. В такой архитектуре сервисы обмениваются событиями асинхронно, что повышает надёжность и масштабируемость системы в целом. |
## Преимущества управляемого сервиса
#### Администрирование
Клиенту не требуется самостоятельно разворачивать и обслуживать кластер Kafka. Сервис включает в себя управление инфраструктурой, обновление версий, масштабирование и поддержку работоспособности.
#### Мониторинг
Предоставляются готовые дашборды в Grafana с визуализацией ключевых метрик:
- состояние брокеров;
- нагрузка на кластер;
- настроенная система оповещений о критических событиях;
- заполнение дискового пространства.
#### Безопасность
Поддерживается шифрованное подключение к кластеру с использованием SSL/TLS-сертификатов, что гарантирует защиту данных при передаче.
#### Экспертная поддержка
Сервис создан с учётом практического опыта администрирования более 500 кластеров Kafka. Накопленная экспертиза позволяет обеспечивать стабильность работы, своевременно выявлять и устранять потенциальные проблемы, оптимизировать конфигурации под конкретные задачи.
## Тарифные планы
### 1. Тариф "Base"
Тарифный план для тех, кто имеет собственную экспертизу в работе с Kafka и желает самостоятельно управлять объектами верхнего уровня.
**Обязательства провайдера:**
- поддержка инсталляции кластера;
- своевременное обновление версий Kafka;
- расширение вычислительных ресурсов кластера по запросу клиента.
**Возможности:**
- **Управление учетными записями и правами доступа** – создание пользователей и настройка их прав для работы с Kafka;
- **Администрирование топиков** - полный цикл управления: создание, конфигурирование, настройка параметров и удаление;
- **Управление консьюмер-группами (Consumer Groups)** – возможность создавать, изменять и удалять логические объединения консьюмеров, которые совместно читают сообщения из топиков. Это обеспечивает высокую производительность и отказоустойчивость при обработке данных;
- **Работа с transactional ID** – полный цикл управления транзакционными идентификаторами (создание, изменение, удаление). Транзакционный идентификатор присваивается продюсеру Kafka для обеспечения атомарности операций: запись нескольких сообщений или коммит оффсетов выполняются по принципу «всё или ничего», а также предотвращается появление «зомби-продюсеров» при перезапусках.
Инфраструктурное ядро кластера (брокеры, репликация, отказоустойчивость) остаётся под управлением провайдера.
### 2. Тариф "Full"
Тарифный план для тех, кто предпочитает полностью делегировать задачи по администрированию Kafka.
**Обязательства провайдера:**
- полное управление кластером;
- администрирование топиков;
- управление консьюмер-группами;
- работа с transactional id.
Kafka используется как готовый сервис, не вовлекаясь в вопросы настройки и обслуживания.
+244
View File
@@ -0,0 +1,244 @@
# Подключение и работа с кластером Kafka (тариф Base)
Раздел содержит описание способов подключения к управлению кластером Kafka. Поддерживаются два типа подключения:
- `SASL_PLAINTEXT` - незашифрованное;
- `SASL_SSL` - зашифрованное (через SSL-сертификат).
Также в разделе приведены примеры работы с клиентскими утилитами и базовые операции администрирования.
## Предварительные требования
Для начала работы с кластером Kafka необходимо выполнить предварительную настройку:
1. **Установить клиент Kafka** - скачивается дистрибутив Kafka (например, kafka_2.13-4.2.0) и распаковывается в удобную директорию;
2. **Установить среду выполнения Java** - для работы необходимо установить среду выполнения, с помощью команды: `sudo apt install openjdk-17-jre-headless`. Рекомендуется использовать версию OpenJDK 17 или выше;
3. **Доступ к брокерам** - адреса брокеров (bootstrap servers) предоставляются после развертывания кластера;
4. **Учетные данные**:
- **Имя пользователя (username)** - стандартное значение client;
- **Пароль** - предоставляется после развертывания кластера.
5. **Корневой сертификат (для SSL-подключения)** - сертификат для зашифрованного подключения предоставляется файлом при заказе сервиса Kafka.
## Структура клиентского дистрибутива
После распаковки архива Kafka в директории bin доступны основные скрипты для управления:
| Скрипт | Назначение |
| --------------------------- | -------------------------------------------------- |
| `kafka-topics.sh` | Управление топиками (создание, удаление, просмотр) |
| `kafka-console-producer.sh` | Отправка сообщений в топик |
| `kafka-console-consumer.sh` | Чтение сообщений из топика |
| `kafka-consumer-groups.sh` | Управление консьюмер-группами |
| `kafka-configs.sh` | Изменение конфигурации топиков и других объектов |
| `kafka-acls.sh` | Управление списками доступа (ACL) |
В разделе ниже приведены примеры использования скриптов.
Подробное описание операций с данными и другими скриптами приведено в [официальной документации Kafka](https://kafka.apache.org/42/getting-started/introduction/). Дополнительную информацию можно получить, выполнив любой скрипт с флагом --help:
```
./kafka-topics.sh --help
```
#### Конфигурационные файлы клиента
Для подключения к Kafka используется файл настроек **client.properties**, который содержит параметры аутентификации, протокола и его механизмов (рекомендуются SCRAM_SHA_512 и SCRAM_SHA_256).
## Незашифрованное подключение (SASL_PLAINTEXT)
Создается файл **client.properties** со следующим содержимым:
```
sasl.mechanism=SCRAM-SHA-512
security.protocol=SASLPLAINTEXT
sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required \
    username="client" \
    password="вашпароль";
```
::: warning Примечание
Для незашифрованного подключения (SASL_PLAINTEXT) используется порт 9091;
:::
## Зашифрованное подключение (SASL_SSL)
Для зашифрованного подключения (в production-средах рекомендуется использовать именно его) дополнительно требуется корневой сертификат и хранилище доверенных сертификатов (truststore).
::: warning Примечание
Для зашифрованного подключения (SASL_SSL) используется порт 9092.
:::
### Шаг 1. Создание truststore
С помощью утилиты **keytool** выполняется импорт сертификата в хранилище:
```
keytool -importcert -storetype PKCS12 -keystore /путь/к/трастстору/truststore.jks -alias myalias -file ca.crt -storepass любойвашпароль -keypass любойвашпароль
```
Параметры:
- **keystore** - путь к создаваемому хранилищу;
- **alias** - псевдоним сертификата в хранилище;
- **file** - путь к загруженному корневому сертификату;
- **storepass** - пароль для доступа к хранилищу;
- **keypass** - пароль для доступа к ключу.
### Шаг 2. Настройка client.properties
В файл **client.properties** добавляются параметры SSL:
```
sasl.mechanism=SCRAM-SHA-512
security.protocol=SASLSSL
sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required \
    username="client" \
    password="вашпароль";
ssl.truststore.location=/путь/к/трастстору/truststore.jks
ssl.truststore.password=парольотхранилища
```
## Работа с кластером Kafka
### Создание топиков
```
./kafka-topics.sh --bootstrap-server <IP машины 0>:9092,<IP машины 1>:9092,<IP машины X>:9092 --command-config ../config/client.properties --create --topic <имя топика> --partitions <количество партиций> --replication-factor <значение> --config min.insync.replicas=<значение>
```
**Ознакомиться с рекомендациями по настройке топиков можно в разделе [Настройка топиков](./base-tier-topics-guide.md).**
По умолчанию топик создаётся с --partitions 10 --replication-factor 3 --config min.insync.replicas=2, поэтому, если нет необходимости создавать топик со специфическими настройками, эти флаги в команде можно не указывать.
### Просмотр списка топиков
Выполняется команда с указанием брокеров и файла конфигурации:
```
./kafka-topics.sh --bootstrap-server <IP_брокера_0>:9092,<IP_брокера_1>:9092,<IP_брокера_2>:9092 --command-config ~/client.properties --list
```
Параметры:
- **bootstrap-server** - список брокеров кластера (адреса и порты);
command-config - путь к файлу с настройками клиента;
- **list** - вывод списка топиков.
### Отправка сообщения в топик
Выполняется команда с указанием брокеров, файла конфигурации и топика:
```
./kafka-console-producer.sh --bootstrap-server <IP_брокера_0>:9092,<IP_брокера_1>:9092,<IP_брокера_2>:9092 --command-config~/client.properties --topic test-topic
```
После выполнения команды сообщения вводятся построчно. Для завершения используется сочетание клавиш Ctrl+C.
### Чтение сообщений из топика
Выполняется команда с указанием топика и, при необходимости, consumer group:
```
./kafka-console-consumer.sh --bootstrap-server <IP_брокера_0>:9092,<IP_брокера_1>:9092,<IP_брокера_2>:9092 --command-config~/client.properties --topic test-topic --from-beginning --group my-new-consumer-group
```
Параметры:
- **from-beginning**- чтение всех сообщений с начала (при отсутствии параметра чтение начинается с новых сообщений);
- **group** - название consumer group, которая создастся автоматически.
## Управление пользователями и доступом
### Рекомендации к созданию пароля
**Длина пароля (рекомендуемая):**
- для учётной записи пользователя - не менее 12 знаков;
- для учётных записей администраторов, технических и служебных учётных записей - не менее 16 знаков.
**Сложность пароля:** рекомендуется использовать уникальный пароль, содержащий символы как минимум трёх из четырёх указанных ниже групп (при отсутствии технических ограничений):
- буквы латинского алфавита в верхнем регистре (A-Z);
- буквы латинского алфавита в нижнем регистре (a-z);
- цифры (0-9);
- специальные символы и знаки пунктуации (например, `!@#$%^&*(),.?`).
**Периодичность смены:** рекомендуемая периодичность смены пароля - не реже одного раза в год.
### Создание пользователей
Для удобства можно написать скрипт, который создает пользователя сразу для двух методов шифрования - SHA-256 и SHA-512:
```
#!/bin/bash
username="имя_пользователя"
password="сгенерированный_пароль"
bootstrap="<IP_брокера_0>:9092,<IP_брокера_1>:9092,<IP_брокера_X>:9092"
/opt/kafka/bin/kafka-configs.sh \
          --bootstrap-server $bootstrap \
          --alter \
          --add-config SCRAM-SHA-256=[password="$password"] \
          --command-config /opt/kafka/config/client.properties \
          --entity-type users \
          --entity-name $username
/opt/kafka/bin/kafka-configs.sh \
          --bootstrap-server $bootstrap \
          --alter \
          --add-config SCRAM-SHA-512=[password="$password"] \
          --command-config /opt/kafka/config/client.properties \
          --entity-type users \
          --entity-name $username
```
**Запуск скрипта:**
```
sudo ./kafka-user-add.sh
```
### Просмотр данных о пользователе
Для просмотра информации о существующих пользователях выполняется команда:
```
sudo ./kafka-console-consumer.sh --bootstrap-server <IP_брокеров>:9092 --describe --command-config ../config/client.properties --entity-type users
```
### Управление consumer groups
Consumer Group создается автоматически при обращении к ней. Например, при чтении сообщений из топика с указанием этой consumer group:
```
sudo ./kafka-console-consumer.sh --bootstrap-server <IP_брокеров>:9092 --command-config ../config/client.properties --topic test-topic --group test-group --from-beginning
```
### Просмотр списка ACL
Действия с ACL из командной строки осуществляются скриптом kafka-acls.sh. Пример просмотра списка ACL:
```
sudo ./kafka-acls.sh --bootstrap-server <IP_брокера_0>:9092,<IP_брокера_1>:9092,<IP_брокера_X>:9092 --command-config ../config/client.properties --list
```
## Администрирование кластера
#### Изменение объема RAM
Для изменения объема оперативной памяти, выделенной под Kafka, направляется обращение в техническую поддержку с указанием требуемого объема RAM.
#### Изменение количества брокеров
Выполняется также через обращение в техническую поддержку.
Брокеров в кластере рекомендуется поддерживать **нечетным** для корректной работы механизмов выборов лидера.
После добавления брокера выполняется перераспределение существующих партиций с учетом нового узла с помощью утилиты **kafka-reassign-partitions.sh:**
```
./kafka-reassign-partitions.sh --bootstrap-server <адреса_брокеров> --generate --topics-to-move-json-file topics.json --broker-list "0,1,2" --execute
```
::: warning Примечание
Операция перераспределения партиций требует времени и может создавать дополнительную нагрузку на кластер. Выполнение рекомендуется в период наименьшей активности.
:::
@@ -0,0 +1,64 @@
# Рекомендации по настройке топика (тариф Base)
В разделе описаны основные параметры топиков Apache Kafka, влияющие на производительность, отказоустойчивость и параллелизм обработки данных.
## Базовые параметры топика
### Имя топика
При именовании топика применяются следующие правила:
**Допустимые символы:**
- первый символ — буква (a–z, A–Z), цифра (0–9) или подчёркивание (_);
- последующие символы — буквы, цифры, точки (.), дефисы (-) или подчёркивания;
- длина имени — от 3 до 200 символов.
**Ограничения:**
- имя топика нельзя изменить после создания;
- не рекомендуется использовать имена, различающиеся только точкой и подчёркиванием (например, `topic_1` и `topic.1`): Kafka не различает такие названия;
- имена с двойным подчёркиванием в начале (например, `__consumer_offsets`) зарезервированы для внутренних топиков Kafka.
### Количество партиций (partitions)
Партиции определяют уровень параллелизма при чтении и записи данных. Количество партиций выбирается исходя из требуемой пропускной способности.
**Правила:**
- количество партиций можно только увеличивать (уменьшение невозможно);
- при наличии нескольких брокеров рекомендуется выбирать число партиций, кратное количеству брокеров — для равномерного распределения нагрузки;
- рекомендуется мониторить отставание потребителей (consumer lag) и при необходимости увеличивать число партиций.
**Расчет количества партиций:**
Количество партиций определяется по формуле:
```
Partitions = max(NP, NC)
```
где:
- NP = TT / TP - количество необходимых продюсеров;
- NC = TT / TC - количество необходимых консьюмеров;
- TT - общая ожидаемая пропускная способность системы;
- TP - максимальная пропускная способность одного продюсера для одной партиции;
- TC - максимальная пропускная способность одного консьюмера для одной партиции.
## Фактор репликации (replication-factor)
Фактор репликации определяет количество копий данных, хранящихся на разных брокерах.
**Рекомендация для production-сред:** установите значение **3**.
При этом каждая партиция получает одного лидера и две реплики, что обеспечивает отказоустойчивость при выходе одного брокера.
## Дополнительные параметры конфигурации
Параметр `min.insync.replicas` (минимальное количество синхронизированных реплик) работает вместе с настройкой продюсера `acks=all`. Он задаёт, сколько реплик (включая лидера) должны подтвердить запись, чтобы она считалась успешной.
**Для production-кластера с фактором репликации = 3**
Установите `min.insync.replicas = 2`.
Что это даёт:
- **надёжность** — данные точно попали минимум на два брокера;
- **доступность** — если один брокер упадёт, запись продолжится.
::: warning Примечание
Не рекомендуется устанавливать значение равным фактору репликации (например, `min.insync.replicas = 3`). Если один брокер перезагрузится, запись в топик станет невозможной — система будет ждать подтверждения от всех трёх реплик, а одна недоступна.
:::
+108
View File
@@ -0,0 +1,108 @@
# Конфигурация кластера
В разделе описаны технические параметры кластера Kafka и порядок их первичной настройки.
Конфигурация выполняется администратором облачного провайдера на этапе развёртывания сервиса. Пользователь не имеет прямого доступа к изменению этих параметров. Перед созданием кластера клиент передаёт менеджеру перечень требуемых параметров. Администратор выполняет настройку в соответствии с согласованными требованиями.
## Выбор типа и размера дискового хранилища
Производительность брокера сообщений напрямую зависит от скорости чтения и записи на диск. При заказе кластера необходимо выбрать тип дискового хранилища — он определяет максимальную скорость работы (IOPS) и время отклика.
**IOPS** (Input/Output Operations Per Second) — количество операций чтения или записи, которые диск выполняет за секунду. Чем выше IOPS, тем быстрее брокер обрабатывает запросы.
::: warning Примечание
Каждые 15 IOPS обеспечивают примерно 1 Мбит/с скорости чтения или записи при размере блока данных 64 КБ.
:::
### Доступные типы хранилищ:
|Название | Лимит IOPS |
|---------------|--------------------|
|**Fast SAS** | до 2 IOPS на 1 ГБ |
|**SSD** | до 5 IOPS на 1 ГБ |
|**Fast SSD** | до 10 IOPS на 1 ГБ |
|**Ultra NVMe** | до 25 IOPS на 1 ГБ |
::: warning Примечание
После выбора типа диска необходимо указать объем дискового хранилища, который будет выделен под данные кластера Kafka. Минимальный объем зависит от выбранного типа хранилища
:::
## Конфигурация вычислительных ресурсов
В данном разделе определяются вычислительные мощности кластера: процессорные ресурсы, оперативная память и количество серверов (нод), из которых будет состоять кластер Kafka.
#### Основные понятия
| Термин | Описание |
|-------------------------------|----------|
| **Количество нод в кластере** | Количество нод определяет отказоустойчивость кластера и возможность распределять запросы на чтение между репликами. Чем больше нод, тем выше надежность и производительность чтения. Количество нод выбирается в диапазоне от 3 до 14. |
| **Процессор (CPU)** | Процессор - это вычислительная мощность, которая выделяется каждой ноде кластера. Количество vCPU определяет, насколько быстро брокер сообщений сможет обрабатывать запросы, выполнять сложные операции (сортировки, объединения таблиц) и обслуживать одновременные подключения. Доступный диапазон выбора процессора: от 2 шт до 24 шт. |
| **Оперативная память (RAM)** | Оперативная память - один из ключевых ресурсов для производительности. Данные, помещающиеся в RAM, обрабатываются максимально быстро, без обращения к диску. Доступный диапазон выбора оперативной памяти: от 4 ГБ до 768 ГБ. |
## Интернет
При заказе сервиса можно выбрать пропускную способность канала связи, через который будет осуществляться доступ к кластеру Kafka из сети интернет.
**Доступные варианты скорости:**
- 50 Мбит/с;
- 100 Мбит/с;
- 200 Мбит/с;
- 300 Мбит/с;
- 400 Мбит/с;
- 500 Мбит/с;
- 1000 Мбит/с (1 Гбит/с).
::: warning Примечание
Для выбранного канала предоставляется **публичный IP-адрес**.
:::
## Сетевой доступ к кластеру
Выбор способа подключения зависит от архитектуры приложений и требований к безопасности. Доступны два варианта:
- **IPsec-подключение** — организация защищённого туннеля между инфраструктурой клиента и кластером Kafka. Подробнее см. раздел «IPsec»;
- **Interconnect** — прямое сетевое соединение между сервисами внутри платформы без использования публичных сетей. Подробнее см. раздел «Interconnect».
**Особенности Interconnect:**
- сначала закажите PaaS-сервис и дождитесь его предоставления;
- затем отдельно закажите Interconnect через менеджера.
## Калькулятор расчёта кластера
Для расчёта параметров кластера Kafka разработан специализированный калькулятор — простое веб-приложение.
**Как работает:**
- в калькулятор вносятся исходные данные о планируемой нагрузке (пропускная способность, количество партиций и т.д.);
- после нажатия кнопки **«Получить»** автоматически рассчитывается конфигурация кластера.
Все поля обязательны для заполнения. Формы можно удалять, добавлять и дублировать — это позволяет гибко настраивать параметры под разные сценарии использования.
## Параметры топиков
| Параметр |Описание |
|---------------------------------------|---------|
| **Имя топика** |Уникальное наименование топика в рамках кластера. Поле обязательное. Используется для идентификации топика при расчетах.|
| **Число партиций** |Количество партиций, на которые будет разбит топик. Значение должно быть больше числа консьюмеров.|
| **Фактор репликации** |Количество копий данных, хранящихся на разных брокерах. Для продуктивных кластеров рекомендуется значение не менее 3. <br>**Примечание:** Количество узлов кластера формируется на основании параметра фактора репликации. Рекомендуется выбирать нечетное количество узлов для корректной работы механизмов выборов лидера.|
| **Средний размер сообщения** |Средний объем одного сообщения, передаваемого через топик.|
| **Максимальный размер сообщения** |Максимальный объем одного сообщения. Используется для расчета пиковых нагрузок.|
| **Частота сообщений** |Количество сообщений, отправляемых в топик за единицу времени.|
| **Срок хранения сообщения** |Период времени, в течение которого сообщения хранятся в топике после записи. По истечении этого срока данные удаляются.|
| **Имя продюсера** |Наименование приложения-отправителя (для идентификации в расчетах)|
| **Количество экземпляров продюсера** |Число одновременно работающих экземпляров продюсера.|
| **Имя консьюмера** |Наименование приложения-получателя (для идентификации в расчетах).|
| **Количество экземпляров консьюмера** |Число одновременно работающих экземпляров консьюмера. <br>**Примечание:** Формы продюсеров и консьюмеров можно добавлять, удалять и дублировать. Это позволяет учитывать множественные источники и приемники данных в рамках одного расчета.|
## Расчет конфигурации кластера
После заполнения всех полей нажимается кнопка **Получить**. Все расчеты выполняются в соответствии с планированием ресурсов, указанных в официальной документации Apache Kafka.
В результате, рассчитанные параметры служат основой для формирования заказа на управляемый сервис Kafka.
Калькулятор автоматически производит расчет следующих параметров:
- **Количество узлов** - формируется на основании параметра фактора репликации (replication.factor). Рекомендуется выбирать нечетное количество узлов для корректной работы механизмов выборов лидера;
- **vCPU** - вычисляется из планируемого количества входящих сообщений и масштабируется в зависимости от числа узлов: чем больше кластер, тем меньше требуется CPU на отдельный сервер благодаря распределению нагрузки;
- **RAM** - рассчитывается с учетом количества партиций, объема сообщений и числа подключений продюсеров и консьюмеров;
- **Тип и объем дискового хранилища** - определяется на основе среднего и максимального размера сообщения, частоты отправки, срока хранения и фактора репликации;
- **Параметры репликации** - учитывают заданный фактор репликации и обеспечивают отказоустойчивость кластера.
+138
View File
@@ -0,0 +1,138 @@
# Подключение и работа с кластером Kafka (тариф Full)
Раздел содержит описание способов подключения к управлению кластером Kafka. Поддерживаются два типа подключения:
- `SASL_PLAINTEXT` - незашифрованное;
- `SASL_SSL` - зашифрованное (через SSL-сертификат).
Также в разделе приведены примеры работы с клиентскими утилитами и базовые операции администрирования.
## Предварительные требования
Для начала работы с кластером Kafka необходимо выполнить предварительную настройку:
1. **Установить клиент Kafka** - скачивается дистрибутив Kafka (например, kafka_2.13-4.2.0) и распаковывается в удобную директорию;
2. **Установить среду выполнения Java** - для работы необходимо установить среду выполнения, с помощью команды: `sudo apt install openjdk-17-jre-headless`. Рекомендуется использовать версию OpenJDK 17 или выше;
3. **Доступ к брокерам** - адреса брокеров (bootstrap servers) предоставляются после развертывания кластера;
4. **Учетные данные**:
- Имя пользователя (username) - стандартное значение client;
- Пароль - предоставляется после развертывания кластера.
5. **Корневой сертификат (для SSL-подключения)** - сертификат для зашифрованного подключения предоставляется файлом при заказе сервиса Kafka.
## Структура клиентского дистрибутива 
После распаковки архива Kafka в директории bin доступны скрипты, например:
| Скрипт | Назначение |
|---------------------------|--------------------------|
|`kafka-console-producer.sh`|Отправка сообщений в топик|
|`kafka-console-consumer.sh`|Чтение сообщений из топика|
В разделе ниже приведены примеры использования скриптов.
Подробное описание операций с данными и другими скриптами приведено в [официальной документации Kafka](https://kafka.apache.org/42/getting-started/introduction/). Дополнительную информацию можно получить, выполнив любой скрипт с флагом --help:
```
./kafka-console-producer.sh
```
## Конфигурационные файлы клиента
Для подключения к Kafka используется файл настроек **client.properties**, который содержит параметры аутентификации, протокола и его механизмов (рекомендуются SCRAM_SHA_512 и SCRAM_SHA_256).
### Незашифрованное подключение (SASL_PLAINTEXT)
Создается файл client.properties со следующим содержимым:
```
sasl.mechanism=SCRAM-SHA-512
security.protocol=SASLPLAINTEXT
sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required \
    username="вашлогин" \
    password="вашпароль";
```
::: warning Примечание
Для незашифрованного подключения (SASL_PLAINTEXT) используется порт 9091;
:::
### Зашифрованное подключение (SASL_SSL)
Для зашифрованного подключения (в production-средах рекомендуется использовать именно его) дополнительно требуется корневой сертификат и хранилище доверенных сертификатов (truststore).
::: warning Примечание
Для зашифрованного подключения (SASL_SSL) используется порт 9092.
:::
### Шаг 1. Создание truststore
С помощью утилиты **keytool** выполняется импорт сертификата в хранилище:
```
keytool -importcert -storetype PKCS12 -keystore /путь/к/трастстору/truststore.jks -alias myalias -file ca.crt -storepass любойвашпароль -keypass любойвашпароль
```
Параметры:
- **keystore** - путь к создаваемому хранилищу;
- **alias** - псевдоним сертификата в хранилище;
- **file** - путь к загруженному корневому сертификату;
- **storepass** - пароль для доступа к хранилищу;
- **keypass** - пароль для доступа к ключу.
### Шаг 2. Настройка client.properties
В файл **client.properties** добавляются параметры SSL:
```
sasl.mechanism=SCRAM-SHA-512
security.protocol=SASLSSL
sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required \
    username="вашлогин" \
    password="вашпароль";
ssl.truststore.location=/путь/к/трастстору/truststore.jks
ssl.truststore.password=парольотхранилища
```
### Отправка сообщения в топик
Выполняется команда с указанием брокеров, файла конфигурации и топика:
```
./kafka-console-producer.sh --bootstrap-server <IP_брокера_0>:9092,<IP_брокера_1>:9092,<IP_брокера_2>:9092 --command-config~/client.properties --topic test-topic
```
Параметры:
- **bootstrap-server** - список брокеров кластера (адреса и порты);
- **command-config** - путь к файлу с настройками клиента;
После выполнения команды сообщения вводятся построчно. Для завершения используется сочетание клавиш Ctrl+C.
### Чтение сообщений из топика
Выполняется команда с указанием топика и, при необходимости, consumer group:
```
./kafka-console-consumer.sh --bootstrap-server <IP_брокера_0>:9092,<IP_брокера_1>:9092,<IP_брокера_2>:9092 --command-config~/client.properties --topic test-topic --from-beginning --group my-new-consumer-group
```
Параметры:
- **from-beginning** - чтение всех сообщений с начала (при отсутствии параметра чтение начинается с новых сообщений);
- **group** - название consumer group, которая при её указании создастся автоматически.
## Администрирование кластера
::: warning Примечание
Для изменения параметров кластера Kafka (CPU, RAM, DISK, количества брокеров, параметров топиков) необходимо направить запрос в **Service Desk** по адресу `servicedesk@datafort.ru` с указанием требуемых значений.
:::
### Изменение количества брокеров
Выполняется также через обращение в техническую поддержку.
Брокеров в кластере рекомендуется поддерживать **нечетным** для корректной работы механизмов выборов лидера.
::: warning Примечание
Операция перераспределения партиций требует времени и может создавать дополнительную нагрузку на кластер. Выполнение рекомендуется в период наименьшей активности.
:::
+107
View File
@@ -0,0 +1,107 @@
# Cloud Deckhouse Kubernetes
## Назначение сервиса
**Cloud Deckhouse Kubernetes** — это управляемый облачный сервис на базе платформы оркестрации контейнеров Kubernetes.
Сервис автоматизирует настройку:
- серверов;
- сети;
- балансировщиков нагрузки;
- механизмов отказоустойчивости.
Пользователю не нужно самостоятельно управлять инфраструктурой — кластер работает «из коробки».
> **Kubernetes** - это платформа для оркестрации контейнеров, которая автоматизирует развертывание, масштабирование и управление приложениями.
## Автоматизация сервис
**Cloud Deckhouse Kubernetes** самостоятельно выполняет следующие операции:
| Операция | Описание |
|------------------------------|-------------------------------------------------------|
| Управление ролями узлов | Назначает узлам роли master, frontend, system, worker |
| Мониторинг компонентов | Отслеживает состояние всех частей платформы |
| Восстановление после отказов | Автоматически перезапускает отказавшие узлы и поды |
## Архитектура и компоненты
Для стабильной работы сервиса используются три ключевых компонента:
- **Deckhouse** — платформа управления. Устанавливает, обновляет и настраивает кластер.
- **etcd** — распределенное хранилище. Сохраняет состояние кластера и данные конфигурации.
- **Балансировщики нагрузки** — единая точка входа. Направляют трафик к работающим приложениям.
## Доступ к приложениям
Подключение к приложениям внутри кластера выполняется через единую точку доступа. Подключаться к отдельным узлам не требуется.
## Управление и мониторинг
| Задача | Инструмент |
|-------------------------------------------------|-----------------------|
| Управление кластером и развертывание приложений | Веб-интерфейс Console |
| Мониторинг состояния системы | Grafana |
## Отказоустойчивость
Кластер поставляется в отказоустойчивой архитектуре, которая обеспечивает:
- высокую доступность плоскости управления (control plane);
- автоматическое восстановление узлов при отказах.
### Типы узлов кластера
Кластер состоит из следующих типов виртуальных серверов:
| Тип виртуального сервера | Количество узлов | Назначение |
| ------------------------------- | ---------------- | -------------------- |
| **Master-узлы (control plane)** | 3 | Обязательные узлы. На них работают управляющие компоненты кластера: API server, etcd, controller manager, scheduler. |
| **System-узлы** | 2 | Служебные узлы. На них размещаются внутренние компоненты платформы Deckhouse, системы мониторинга (Prometheus, Grafana), логирования и другие вспомогательные сервисы, обеспечивающие работу кластера. |
| **Frontend-узлы** | 2 | Узлы, предназначенные для обработки входящего трафика. На них работают Ingress-контроллеры и балансировщики нагрузки, которые принимают запросы из внешней сети и распределяют их между приложениями, запущенными на worker-узлах. |
| **Worker-узлы** | от 1 и более | Узлы, на которых непосредственно выполняются пользовательские приложения в контейнерах. Именно здесь размещаются поды с сервисами и прикладными компонентами. |
::: info Примечание
По умолчанию кластер работает в высокодоступном режиме. Выход из строя одного или двух master-узлов не приводит к потере управления кластером.
:::
::: warning Важно
Для тестовых сред возможна **одноузловая конфигурация control plane**. В этом случае отказ master-узла сделает кластер неуправляемым.
:::
## Доступ к кластеру
Прямой доступ к серверам кластера (по SSH) не предоставляется.
Управление приложениями и ресурсами кластера возможно через:
- **kubectl** — командная строка;
- **веб-интерфейс Console**;
- **API Kubernetes**.
## Возможности сервиса
**Cloud Deckhouse Kubernetes** предоставляет возможности, позволяющие использовать Kubernetes без самостоятельного администрирования инфраструктуры.
Сервис обеспечивает:
- автоматическое управление кластером (установка, обновление, настройка);
- высокую доступность control plane;
- единую точку входа в приложения;
- автоматическое восстановление при отказах;
- веб-доступ к управлению кластером и мониторингу;
- совместимость со стандартными инструментами (**kubectl**);
- автоматическое масштабирование приложений;
- блочные и сетевые хранилища для данных приложений (Persistent Volume).
## Сценарии использования
Сервис подходит для систем, где требуется надежная оркестрация контейнеров и упрощённое управление инфраструктурой.
Примеры использования:
- размещение production-приложений в контейнерах с высокими требованиями к доступности;
- микросервисная архитектура с единой точкой управления кластером;
- работа stateful-приложений (базы данных, очереди) с сохранением состояния;
- быстрое развёртывание Kubernetes-кластера без ручной настройки сети, хранилищ и мониторинга;
- администрирование через веб-интерфейс без прямого доступа к серверам.
+238
View File
@@ -0,0 +1,238 @@
# Подключение к сервису Deckhouse
В данном разделе описаны способы подключения к кластеру **Cloud Deckhouse Kubernetes**. Рассматривается работа с кластером через веб-интерфейс **Console**, а также управление через командную строку с использованием утилиты **kubectl** после генерации **kubeconfig**.
## Предварительные требования
После предоставления доступа к **сервису Cloud Deckhouse Kubernetes** пользователь получает возможность управлять кластером через веб-интерфейс **Console**.
**Console** - это встроенный веб-интерфейс платформы Deckhouse, предназначенный для упрощения взаимодействия с Kubernetes-кластером.
Он позволяет выполнять большинство операций, доступных в командной строке через **kubectl**, в визуальном режиме:
- мониторинг состояния кластера;
- управление узлами и модулями;
- настройку безопасности и сети.
## Вход в Console
1. Откройте веб-браузер и перейдите по адресу, предоставленному для доступа к Console.
::: info Примечание
URL-адрес направляется пользователю на электронную почту при предоставлении доступа.
:::
2. На странице ввода учетных данных выполняется аутентификация при помощи логина и пароля;
![Авторизация](images/authorization.png)
3. После успешной аутентификации откроется главная страница веб-интерфейса Console.
![Главная страница](images/home-page.png)
## Основные разделы Console
В левой боковой панели веб-интерфейса Console расположены основные разделы для управления кластером:
| Раздел | Назначение |
| ------------------ | -------------------------------------------------------------------------------------- |
| **Deckhouse** | Управление платформой Deckhouse: обзор, обновления, модули, глобальные настройки |
| **Проекты** | Управление проектами, шаблонами проектов и namespace (пространствами имён) |
| **Узлы** | Управление узлами кластера: группы узлов, конфигурации, классы машин, статические узлы |
| **Конфигурация** | Настройка Deschedulers и Priority Classes |
| **Доступ** | Управление аутентификацией, сессиями пользователей, правами доступа (RBAC) |
| **Сеть** | Настройка Egress-шлюзов, балансировки и управление сертификатами |
| **Хранилище** | Управление Persistent Volume, классами хранилищ и снимками томов |
| **Безопасность** | Настройка политик безопасности и операционных политик |
| **Мониторинг** | Просмотр данных, дашбордов, активных алертов, настройка уведомлений и экспорт метрик |
| **Журналирование** | Управление отправкой и сбором логов |
## Генерация kubeconfig через Console
Помимо управления через веб-интерфейс, Console позволяет сгенерировать файл **kubeconfig** для доступа к кластеру через **kubectl**.
1. На главной странице Console находится раздел «Инструменты» (Tools);
2. Необходимо выбрать пункт «Генератор kubeconfig» (Generate kubeconfig);
3. Нажимается кнопка генерации - система сгенерирует необходимые команды;
4. Далее, нужно скопировать и выполнить в терминале команды, которые сгенерированы для пользовательской учётной записи.
::: info Примечание
Сгенерированный **kubeconfig** уже содержит все необходимые параметры для подключения к API Kubernetes.
:::
## Примеры простейших команд kubectl
После настройки **kubeconfig** управление кластером осуществляется через командную строку с помощью утилиты **kubectl**. Ниже приведены основные команды для начала работы.
### Проверка подключения к кластеру
```
kubectl cluster-info
```
**Пример вывода:**
```
Kubernetes control plane is running at https://127.0.0.1:6445
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
```
### Просмотр узлов кластера
```
kubectl get nodes
```
**Пример вывода:**
```
NAME STATUS ROLES AGE VERSION
cloud-frontend-0 Ready frontend 12d v1.32.10
cloud-frontend-1 Ready frontend 12d v1.32.10
cloud-master-0 Ready control-plane,master 12d v1.32.10
cloud-master-1 Ready control-plane,master 12d v1.32.10
cloud-master-2 Ready control-plane,master 12d v1.32.10
cloud-system-0 Ready system 12d v1.32.10
cloud-system-1 Ready system 12d v1.32.10
cloud-worker-a374349e-zznfp-nkqr2 Ready worker 12d v1.32.10
cloud-worker-a374349e-zznfp-rdpdz Ready worker 12d v1.32.10
```
### Просмотр пространств имен
```
kubectl get namespaces
```
**Пример вывода:**
```
NAME STATUS AGE
d8-admission-policy-engine Active 12d
d8-cert-manager Active 12d
d8-chrony Active 12d
d8-cloud-instance-manager Active 12d
d8-cloud-provider-vcd Active 12d
d8-cni-cilium Active 12d
d8-console Active 12d
d8-dashboard Active 12d
d8-descheduler Active 12d
d8-ingress-nginx Active 12d
d8-local-path-provisioner Active 12d
d8-log-shipper Active 12d
d8-metallb Active 12d
d8-monitoring Active 12d
d8-multitenancy-manager Active 12d
d8-observability Active 12d
d8-operator-prometheus Active 12d
d8-pod-reloader Active 12d
d8-service-accounts Active 12d
d8-snapshot-controller Active 12d
d8-system Active 12d
d8-upmeter Active 12d
d8-user-authn Active 12d
default Active 12d
kube-node-lease Active 12d
kube-public Active 12d
kube-system Active 12d
```
### Просмотр подов в конкретном namespace
```
kubectl get pods -n d8-console
```
**Пример вывода:**
```
NAME READY STATUS RESTARTS AGE
backend-546c7496f8-2nzx2 1/1 Running 0 3d7h
backend-546c7496f8-nxqf4 1/1 Running 0 3d7h
console-dex-authenticator-6b7d456445-7cg9p 2/2 Running 0 12d
console-dex-authenticator-6b7d456445-ljjr8 2/2 Running 0 12d
frontend-79cb59c94d-cf457 1/1 Running 0 3d7h
frontend-79cb59c94d-rvlzk 1/1 Running 0 3d7h
observability-gw-59c4fb6548-2lcqr 1/1 Running 0 3d7h
observability-gw-59c4fb6548-9n6nb 1/1 Running 0 3d7h
```
### Просмотр логов пода
```
kubectl logs frontend-79cb59c94d-cf457 -n d8-console
```
### Просмотр сервисов
```
kubectl get services -n d8-console
```
**Пример вывода:**
```
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
backend ClusterIP 10.222.4.60 <none> 8999/TCP 12d
console-dex-authenticator ClusterIP 10.222.224.82 <none> 443/TCP 12d
frontend ClusterIP 10.222.226.106 <none> 80/TCP 12d
observability-gw ClusterIP None <none> 3000/TCP,8443/TCP 12d
```
### Быстрое получение информации о ресурсах
```
kubectl get all -n d8-console
```
**Пример вывода:**
```
NAME READY STATUS RESTARTS AGE
pod/backend-546c7496f8-2nzx2 1/1 Running 0 3d7h
pod/backend-546c7496f8-nxqf4 1/1 Running 0 3d7h
pod/console-dex-authenticator-6b7d456445-7cg9p 2/2 Running 0 12d
pod/console-dex-authenticator-6b7d456445-ljjr8 2/2 Running 0 12d
pod/frontend-79cb59c94d-cf457 1/1 Running 0 3d7h
pod/frontend-79cb59c94d-rvlzk 1/1 Running 0 3d7h
pod/observability-gw-59c4fb6548-2lcqr 1/1 Running 0 3d7h
pod/observability-gw-59c4fb6548-9n6nb 1/1 Running 0 3d7h
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/backend ClusterIP 10.222.4.60 <none> 8999/TCP 12d
service/console-dex-authenticator ClusterIP 10.222.224.82 <none> 443/TCP 12d
service/frontend ClusterIP 10.222.226.106 <none> 80/TCP 12d
service/observability-gw ClusterIP None <none> 3000/TCP,8443/TCP 12d
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/backend 2/2 2 2 12d
deployment.apps/console-dex-authenticator 2/2 2 2 12d
deployment.apps/frontend 2/2 2 2 12d
deployment.apps/observability-gw 2/2 2 2 12d
NAME DESIRED CURRENT READY AGE
replicaset.apps/backend-546c7496f8 2 2 2 3d7h
replicaset.apps/backend-69d8c6bd68 0 0 0 12d
replicaset.apps/console-dex-authenticator-6b7d456445 2 2 2 12d
replicaset.apps/console-dex-authenticator-74c97bf4d6 0 0 0 12d
replicaset.apps/frontend-6b7ffb7bbd 0 0 0 9d
replicaset.apps/frontend-79cb59c94d 2 2 2 3d7h
replicaset.apps/frontend-79ccdfc56b 0 0 0 12d
replicaset.apps/observability-gw-574cdfdd87 0 0 0 12d
replicaset.apps/observability-gw-59c4fb6548 2 2 2 3d7h
```
### Получение справки
Для получение справки по любой команде используется флаг **--help**:
```
kubectl get pods --help
kubectl describe pod --help
```
### Просмотр подробной информации о конкретном ресурсе
```
kubectl describe pod <имя-пода> -n <namespace>
```
Binary file not shown.

After

Width:  |  Height:  |  Size: 864 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 257 KiB

+19
View File
@@ -0,0 +1,19 @@
---
section_links:
- title: Обзор сервиса
link: /Deckhouse/about.md
description: Обзор сервиса
- title: Права и возможности пользователей
link: /Deckhouse/user-permissions.md
description: Управление доступом и роли пользователей
- title: Описание технических параметров
link: /Deckhouse/technical-parameters.md
description: Параметры конфигурации сервиса Deckhouse
- title: Подключение к сервису Deckhouse
link: /Deckhouse/connection.md
description: Подключение и работа с сервисом Deckhouse
---
# Cloud Deckhouse Kubernetes
В данном разделе представлена документация по управлемому сервису **Cloud Deckhouse Kubernetes** платформы Beeline Cloud.
+120
View File
@@ -0,0 +1,120 @@
# Описание технических параметров
Данный раздел содержит технические параметры **кластера Kubernetes** и порядок их первичной конфигурации.
Настройка параметров выполняется администратором облачного провайдера на этапе развертывания сервиса. Пользователь не может изменять их самостоятельно (исключение — конфигурация worker-узлов).
**Процедура согласования параметров:**
1. Клиент передает менеджеру список требуемых параметров.
2. Администратор выполняет настройку по согласованным требованиям.
## Дисковое хранилище
Производительность приложений в Kubernetes зависит от скорости чтения и записи данных на диск. Тип хранилища определяет:
- **IOPS** (Input/Output Operations Per Second) — количество операций ввода-вывода в секунду;
- **время отклика** (латентность).
::: info Примечание
Чем выше IOPS, тем быстрее работают базы данных и другие диско-интенсивные приложения.
:::
## Доступные типы хранилищ:
| Тип | Лимит IOPS |
| ---------- | ------------------ |
| Fast SAS | до 2 IOPS на 1 ГБ |
| SSD | до 5 IOPS на 1 ГБ |
| Fast SSD | до 10 IOPS на 1 ГБ |
| Ultra NVMe | до 25 IOPS на 1 ГБ |
::: warning Важно
После выбора типа диска необходимо указать объем дискового хранилища, который будет выделен под данные приложений (Persistent Volumes). **Минимальный объем - 50 ГБ.**
:::
## Конфигурация вычислительных ресурсов
Вычислительные мощности кластера включают:
- процессорные ресурсы (vCPU);
- оперативную память (RAM);
- количество узлов.
### Узлы в кластере
Количество узлов определяет отказоустойчивость кластера и возможность распределять нагрузку между worker-узлами.
::: info Примечение
Чем больше узлов, тем выше надежность и пропускная способность.
:::
#### 1. Master-узлы (control plane)
Для обеспечения отказоустойчивости кластера **рекомендуется использовать не менее трех master-узлов**.
| Количество узлов | Результат |
|------------------|-----------------------------------------------------------------------------------------------|
| 3 и более | Обеспечивают кворум, безопасное обновление и отказоустойчивость. Большего числа не требуется. |
| 2 | Недостаточно для кворума при отказе одного узла. |
| 1 | Отказ узла приводит к полному сбою кластера. |
#### 2. System-узлы
Предназначены для запуска модулей Deckhouse.
**Рекомендация:** два узла. Это изолирует системные модули от пользовательских приложений.
#### 3. Frontend-узлы
Балансируют входящий трафик, на них работают Ingress-контроллеры.
**Рекомендация:** более одного узла.
**Требования к емкости:**
| Количество узлов | Требование к каждому узлу |
|------------------|---------------------------------------------------|
| 2 | Должен выдержать 100% нагрузки при отказе второго |
| 3 | Должен выдержать увеличение нагрузки в 1.5 раза |
#### 4. Worker-узлы
На них выполняются пользовательские приложения.
- **Рекомендация:** от 1 узла.
- **Управление:** пользователь может увеличивать максимальное количество узлов самостоятельно.
## Процессор (CPU)
**Процессор** - это вычислительная мощность, выделяемая каждому узлу кластера. Количество vCPU определяет, насколько быстро приложения смогут:
- обрабатывать запросы;
- выполнять сложные вычисления;
- обслуживать одновременные подключения.
**Диапазон**: от 2 до 24 vCPU на один узел.
## Оперативная память (RAM)
**Оперативная память** - влияет на производительность приложений. Данные в RAM обрабатываются без обращения к диску.
**Диапазон**: от 4 до 768 ГБ RAM на один узел.
## Доступ в интернет
При заказе сервиса выберите пропускную способность канала для доступа к кластеру из интернета.
**Доступные скорости**:
- 50 Мбит/с;
- 100 Мбит/с;
- 200 Мбит/с;
- 300 Мбит/с;
- 400 Мбит/с;
- 500 Мбит/с;
- 1000 Мбит/с (1 Гбит/с).
::: info Примечание
Для выбранного канала предоставляется **статический белый IP-адрес**.
:::
+83
View File
@@ -0,0 +1,83 @@
# Права и возможности пользователей
При развертывании сервиса Cloud Deckhouse Kubernetes создается учетная запись с уровнем доступа **SuperAdmin**. Этот уровень предоставляет расширенные права на управление кластером Kubernetes.
**SuperAdmin** получает полный контроль над своими приложениями и ресурсами в пределах выделенного кластера или пространства имен (namespace).
## Ограничения доступа SuperAdmin
SuperAdmin **не имеет доступа** к следующим компонентам:
- инфраструктурный уровень (гипервизоры, физические серверы, сетевое оборудование);
- управление компонентами платформы Deckhouse на уровне всего кластера;
- master-узлы, system-узлы и frontend-узлы;
- изменение конфигурации платформы Deckhouse и её глобальных модулей.
## Доступные действия
### Управление пространствами имен (Namespaces)
SuperAdmin может управлять пространствами имен:
- создавать новые namespace;
- удалять namespace (все ресурсы внутри удаляются);
- просматривать список всех namespace;
- устанавливать метки (labels) и аннотации для namespace.
### Управление рабочими нагрузками
SuperAdmin имеет полный контроль над подами, развёртываниями и другими ресурсами приложений:
- создавать, обновлять и удалять Deployment, StatefulSet, DaemonSet;
- создавать, обновлять и удалять Pod;
- просматривать логи подов (`kubectl logs`);
- подключаться к выполняющемуся контейнеру (`kubectl exec`);
- масштабировать развертывания (увеличивать или уменьшать количество реплик);
- обновлять версии образов контейнеров;
- удалять поды (в том числе принудительно);
- просматривать события (events) в namespace.
### Управление сетевым доступом (Services & Ingress)
SuperAdmin может настраивать способы доступа к приложениям как внутри кластера, так и из внешней сети:
SuperAdmin может настраивать способы доступа к приложениям внутри кластера и из внешней сети:
- создавать, изменять и удалять Service (типы: ClusterIP, NodePort, LoadBalancer);
- создавать, изменять и удалять Ingress-правила для маршрутизации входящего трафика;
- настраивать порты и селекторы для сервисов;
- просматривать список сервисов и их конечных точек (endpoints).
### Управление хранилищем (Storage)
SuperAdmin может создавать и использовать тома для хранения данных приложений:
- создавать Persistent Volume Claim (PVC);
- удалять PVC (освобождать дисковое пространство);
- просматривать список PVC и их статусов;
- использовать PVC в подах (монтировать тома).
### Управление конфигурацией (ConfigMaps & Secrets)
SuperAdmin может создавать и изменять конфигурационные данные и секреты для приложений:
- создавать, изменять и удалять ConfigMap;
- создавать, изменять и удалять Secrets (например, для хранения токенов, паролей или ключей);
- монтировать ConfigMap и Secrets в поды в виде переменных окружения или файлов.
### Мониторинг и наблюдаемость
SuperAdmin имеет доступ к метрикам и логам своих приложений:
- просматривать метрики приложений в Grafana;
- просматривать логи через `kubectl logs` или интерфейс сбора логов (Loki);
- просматривать дашборды с информацией о потреблении ресурсов (CPU, RAM, Storage) своими приложениями;
- просматривать события Kubernetes (events) для диагностики проблем.
### Управление доступом (RBAC)
SuperAdmin может управлять правами других пользователей в рамках своего пространства имен:
- создавать и удалять учетные записи (ServiceAccount);
- назначать роли (Role, RoleBinding) другим пользователям в пределах своего namespace;
- ограничивать доступ к отдельным ресурсам.
+144
View File
@@ -0,0 +1,144 @@
# Параметры конфигурации 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-адресов.
+3
View File
@@ -0,0 +1,3 @@
# Cloud Interconnect
Раздел в разработке.
+16
View File
@@ -0,0 +1,16 @@
---
section_links:
- title: Cloud PostgreSQL
link: /PostgreSQL/service/service-index.md
description: Обзор сервиса PostgreSQL
- title: IPSEC
link: /PostgreSQL/IPSEC.md
description: Параметры конфигурации IPSEC
- title: Cloud Interconnect
link:
description: Обзор сервиса Interconnect
---
# Cloud PostgreSQL
В данном разделе представлена документация по управляемому сервису **Cloud PostgreSQL**, а также сервисами платформы Beeline Cloud, использующими его в своей работе.
+3
View File
@@ -0,0 +1,3 @@
# 1C
Раздел в разработке.
+88
View File
@@ -0,0 +1,88 @@
# 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;
- администрирование баз данных через веб-интерфейс без прямого доступа к серверам кластера.
@@ -0,0 +1,81 @@
# Описание технических параметров
Данный раздел содержит технические параметры кластера 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
@@ -0,0 +1,88 @@
# Общая схема подключения
Подключение к кластеру **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
@@ -0,0 +1,104 @@
# 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
@@ -0,0 +1,67 @@
# 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. Нажмите **Сохранить**.
+28
View File
@@ -0,0 +1,28 @@
---
section_links:
- title: Назначение сервиса
link: /PostgreSQL/service/about.md
description: Конфигурации и возможности сервиса
- title: Параметры кластера PostgreSQL
link: /PostgreSQL/service/cluster-parameter.md
description: Технические параметры кластера PostgreSQL
- title: Схема подключения
link: /PostgreSQL/service/connection.md
description: Общая схема подключения к Cloud PostgreSQL
- title: Возможности пользователя
link: /PostgreSQL/service/user-capabilities.md
description: Возможности пользователя при создании сервиса
- title: Веб-интерфейс Grafana
link: /PostgreSQL/service/grafana.md
description: Инструкция по работе с Grafana
- title: Веб-интерфейс PgAdmin
link: /PostgreSQL/service/pgadmin.md
description: Инструкция по работе с PgAdmin
- title: 1C для PostgreSQL
link:
description: Инструкция по работе с 1C при использовании PostgreSQL
---
# Cloud PostgreSQL
В данном разделе представлена документация по управляемому сервису **Cloud PostgreSQL** платформы Beeline Cloud.
+134
View File
@@ -0,0 +1,134 @@
# Возможности пользователя
Данный раздел описывает права, которые предоставляются пользователю 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;``` |
### Требования к паролям
**Длина пароля (рекомендуемая):**
- для учётной записи пользователя - не менее 12 знаков;
- для учётных записей администраторов, технических и служебных учётных записей - не менее 16 знаков.
**Сложность пароля:** рекомендуется использовать уникальный пароль, содержащий символы как минимум трёх из четырёх указанных ниже групп (при отсутствии технических ограничений):
- буквы латинского алфавита в верхнем регистре (A-Z);
- буквы латинского алфавита в нижнем регистре (a-z);
- цифры (0-9);
- специальные символы и знаки пунктуации (например, `!@#$%^&*(),.?`).
**Периодичность смены:** рекомендуемая периодичность смены пароля - не реже одного раза в год.
## Создание пользователей и ролей
Пользователь `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: Управление ключевыми парами
link: /admin/ssh.md
description: Добавление SSH-ключей для подключения к виртуальным машинам
---
# Администрирование
При [регистрации пользователя](../start/getting-started.md#1-регистрация-в-beeline-cloud) в Beeline Cloud создается аккаунт и проект в Beeline Cloud.
С помощью аккаунта можно управлять профилем пользователя - добавлять SSH-ключи, чтобы подключаться к виртуальным машинам без ввода пароля.
-56
View File
@@ -1,56 +0,0 @@
# Управление ключевыми парами
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
@@ -1,8 +0,0 @@
# О сервисе
Сервиса **Резервное копирование** — это сервис для сохранения данных и конфигураций виртуальных машин с возможностью последующего восстановления. В облачной среде резервные копии позволяют вернуть систему в рабочее состояние после сбоя и поддерживать доступность сервисов.
Резервное копирование подключается:
- для [виртуальных машин, развернутых в Beeline Cloud](./backup-internal-infra.md);
- для [собственной инфраструктуры](./backup-external-infra.md).
-54
View File
@@ -1,54 +0,0 @@
# Резервное копирование собственной инфраструктуры в 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
@@ -1,58 +0,0 @@
# Резервное копирование виртуальных машин 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
@@ -1,27 +0,0 @@
# Квоты и лимиты
Квоты — это организационные ограничения на количество доступных ресурсов в сервисе. В некоторых случаях квоты могут быть увеличены или уменьшены по запросу.
Лимиты — это технические ограничения на количество доступных ресурсов в сервисе. Ограничения, обычно, связаны с характеристиками оборудования и особенностями архитектуры.
## Квоты
### Бесплатный период
В [бесплатном периоде](../start/trial.md) использования Beeline Cloud установлены квоты на ресурсы сервиса:
| Вид ограничения | Значение |
| ------------------- | -------- |
| Количество хранилищ | 1 |
| Количество виртуальных машин | 5 |
| Объем хранилища | 1 ПБ |
### Платное использование
| Вид ограничения | Значение |
| ------------------- | ------------- |
| Количество хранилищ | Неограниченно |
| Количество виртуальных машин | 999 |
| Объем хранилища | 1 ПБ |
Если вы заключили договор с Beeline Cloud, то объем хранилища и количество ВМ можно увеличить. Для этого обратитесь в [техническую поддержку](../platform/support/support-overview.md).
-11
View File
@@ -1,11 +0,0 @@
---
section_links:
- title: О сервисе
link: /backups/about.md
description: Назначение сервиса
- title: Квоты и лимиты
link: /backups/backup-quatos.md
description: Ограничения на количество ресурсов в сервисе
---
# Обзор сервиса
-17
View File
@@ -1,17 +0,0 @@
---
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
@@ -1,30 +0,0 @@
# Каталог резервных копий
## Посмотреть каталог резервных копий
Чтобы посмотреть, к каким ресурсам у подключено резервное копирование:
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
@@ -1,21 +0,0 @@
# Биллинг
Биллинг предназначен для управления финансовыми операциями в Beeline Cloud. В биллинге вы можете:
- контролировать счета;
- отслеживать платежи;
- анализировать потребление ресурсов.
## Разделы биллинга
### Счета
В этом разделе отображаются все выставленные счета, их статусы и суммы. Вы можете посмотреть детали каждого счета и скачать документы для бухгалтерии.
### Финансовый мониторинг
В этом разделе вы можете отслеживать движение средств, контролировать платежи и задолженности.
### Аналитика потребления
В этом разделе вы можете создавать отчеты и строить графики, чтобы отследить использование ресурсов за выбранный период.
View File
View File
-17
View File
@@ -1,17 +0,0 @@
# Аналитика потребления
В этом разделе вы можете отследить использование ресурсов в проектах. Это может помочь вам контролировать расходы на сервисы.
Вы можете:
- Узнать какие проекты потребляют больше всего ресурсов.
- Сравнить использование за разные периоды.
## Как пользоваться
1. В поле **Проект** выберите один или `все проекты`.
2. В поле **Сервис** укажите нужный сервис, например, **Виртуальные дата-центры на VMware**.
3. В поле Ресурсы выберите «Все ресурсы» или конкретный тип.
4. Установите период с помощью календаря.
После этого появится отчет. Если данных нет, попробуйте изменить период, выбрать другой проект или ресурс.
-129
View File
@@ -1,129 +0,0 @@
# Быстрый старт
В этой инструкции рассмотрен процесс создания ресурсов, настройки связанности ,.
## Перед началом работы
- [Зарегистрируйтесь](../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#подключение-вм-закрытого-контура-к-интернету).
::::
@@ -1,14 +0,0 @@
---
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-inside.md
description: Подключиться к виртуальной машине по SSH с помощью логина и пароля
---
# Подключение к ВМ
@@ -1,70 +0,0 @@
# Подключение по 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
```
@@ -1,49 +0,0 @@
# Подключение по 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>
```
::::
@@ -1,44 +0,0 @@
# Подключение по 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).
::::
@@ -1,7 +0,0 @@
# Диски
Хранение данных организовано с использованием сетевых дисков. Диск создается в определенной зоне доступности. Каждый диск автоматически реплицируется внутри своей зоны доступности, что обеспечивает надежное хранение данных.
Загрузочный диск создается вместе с виртуальным ВМом. Конфигурация загрузочного диска задается на этапе [создания ВМ](../compute-servers-create.md#создать-виртуальную-машину). При [удалении ВМ](../compute-servers-manage.md#удалить-ВМ) загрузочный диск удалится вместе с ВМ.
[Дополнительные диски можно добавить](../compute-servers-create.md#добавить-диск) на этапе создания ВМ или [создать диск позже и подключить к нужной ВМ](../compute-disks/compute-disk-create.md). При [удалении ВМ](../compute-servers-manage.md#удалить-ВМ) дополнительные диски (не загрузочные) останутся в проекте в списке дисков.
@@ -1,21 +0,0 @@
# Создание диска
Создание диска позволяет добавить новое блочное хранилище. В процессе создания можно выбрать тип диска, размер и зону доступности, а также настроить дополнительные параметры для оптимального соотношения производительности и стоимости.
## Создать диск
Создать диск дополнительный (не загрузочный):
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **Диски**.
5. Нажмите **Создать диск**.
6. Введите параметры добавляемого диска:
- **Имя диска**: введите название диска
- **Зона доступности**: выберите из списка зону доступности, в которой будет создан диск.
- **Тип**: выберите из списка тип хранения.
- **Размер диска**: введите размер добавляемого диска в Гб.
7. Нажмите **Создать диск**.
На странице **Диски** будет добавлен новый диск, но не подключен к какой-либо виртуальной машине. Диск можно [подключить к ВМ](../compute-disks/compute-disk-manage.md#подключить-диск-к-вм).
@@ -1,19 +0,0 @@
# Удаление диска
Удаление диска позволяет освободить ресурсы хранилища после завершения работы с данными. Перед удалением необходимо убедиться, что диск [отключен](../compute-disks/compute-disk-manage.md#отключить-диск-от-вм) от всех виртуальных машин и не содержит критически важных данных без резервных копий.
## Удалить диск
::: danger Предупреждение
Удаление диска необратимо. Все данные будут удалены без возможности восстановления.
:::
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **Диски**.
5. Нажмите на имя диска.
6. Нажмите на &hellip; и выберите **Удалить**.
7. В открывшемся окне подтвердите операцию:
- Введите имя удаляемого диска.
- Нажмите **Удалить**.
@@ -1,17 +0,0 @@
---
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: Удаление диска
---
# Диски
@@ -1,75 +0,0 @@
# Управление дисками
Управление дисками позволяет выполнять операции с существующими хранилищами. Доступно управление списками и информацией о дисках, изменение размера дискового пространства, а также подключение и отключение дисков от виртуальных машин.
## Посмотреть список дисков
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. В открывшемся окне подтвердите операцию:
- Введите имя ВМ, от которого отключаете диск.
- Нажмите **Отключить диск**.
@@ -1,17 +0,0 @@
---
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: Управление состоянием виртуальной машины, удаление виртуальной машины
---
# Виртуальные машины
@@ -1,31 +0,0 @@
# 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-адрес зарезервирован и не назначен ВМ, доступен для назначения.
@@ -1,20 +0,0 @@
# Создание IP-адреса
Раздел описывает процедуру создания нового IP-адреса в проекте с выбором типа и параметров.
## Создать IP-адрес
Вы можете зарезервировать IP-адрес из диапазона IP-адресов и назначить этот адрес новой ВМ.
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **IP-адреса**.
5. Нажмите **Создать IP-адрес**.
6. Введите параметры адреса:
- **Имя**: введите имя IP-адреса.
- **Зона доступности**: выберите зону доступности, в которой будут доступен адрес.
- добавьте тег адресу при необходимости.
7. Нажмите **Создать**.
На странице **Виртуальные машины → IP-адреса** появится новый IP-адрес со статусом **Зарезервирован**.
@@ -1,27 +0,0 @@
# Удаление 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; в правом углу страницы и выберите **Удалить**.
- Подтвердите действие.
@@ -1,20 +0,0 @@
---
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-адреса
@@ -1,44 +0,0 @@
# Управление 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;.
@@ -1,21 +0,0 @@
# Просмотр 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-адрес).
@@ -1,12 +0,0 @@
---
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, и установка ПО на ВМ
---
# Сети
@@ -1,122 +0,0 @@
# Подключение ВМ закрытого контура к интернету
В зависимости от доступов ВМ в Интернет или 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
```
@@ -1,290 +0,0 @@
# Настройка 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

Before

Width:  |  Height:  |  Size: 46 KiB

@@ -1,19 +0,0 @@
# Группы размещения
Группы размещения — это правила размещения виртуальных машин на физических хостах. Правила размещения позволяют создавать виртуальные машины на разных или на одном хосте. Политика размещения виртуальных машин действует в рамках одной зоны доступности.
- Правило `Affinity` размещает ВМ обязательно на одном физическом хосте.
- Правило `Soft-Affinity` размещает ВМ по возможности на одном физическом хосте.
- Правило `Anti-Affinity` размещает ВМ обязательно на разных физических хостах. Такое размещение повышает производительность и предотвращает недоступность ВМ при отказе хоста.
- Правило `Soft-Anti-Affinity` размещает ВМ по возможности на разных физических хостах.
::: warning Важно
В группу размещения можно добавить новую ВМ. Во время создания ВМ укажите группу размещения, к которой будет принадлежать ВМ.
Существующая ВМ не может быть добавлена в группу размещения.
ВМ может быть создана в группе размещения, если для выполнения правила есть ресурсы в зоне доступности. Если ресурсов нет, то ВМ не будет создан.
:::
@@ -1,17 +0,0 @@
# Создание группы размещения
Раздел описывает процедуру создания новой группы размещения. Вы можете настроить параметры размещения виртуальных машин, выбрать имя и определить правила распределения на физических хостах.
## Создать группу размещения
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **Группы размещения**.
5. Нажмите **Создать группу**.
6. Введите параметры группы размещения:
- **Имя группы размещения**: введите имя группы размещения.
- выберите правило размещения.
- **Зона доступности**: выберите зону доступности, в которой будут создаваться виртуальные машины по правилу размещения.
- добавьте тег группе размещения при необходимости.
7. Нажмите **Создать группу**.
@@ -1,11 +0,0 @@
# Удаление группы размещения
Раздел описывает процедуру удаления группы размещения.
## Удалить группу размещения
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **Группы размещения**.
5. Справа от названия группы размещения нажмите кнопку ![del](../image/delete.png).
@@ -1,18 +0,0 @@
---
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: Удаление группы размещения
---
# Группы размещения
@@ -1,26 +0,0 @@
# Управление группами размещения
Раздел позволяет управлять существующими группами размещения. Доступны операции добавления виртуальных машин в группах, а также редактирование параметров размещения.
## Добавить виртуальную машину в группу размещения
Принадлежность виртуальной машины к группе размещения указывается во время [создания ВМ](../compute-servers-create.md#создать-виртуальную-машину). Уже созданную виртуальную машину нельзя добавить в группу размещения.
## Редактировать группу размещения
В группе размещения можно изменить название группы и редактировать теги.
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **Группы размещения**.
5. Переименовать группу размещения:
- Нажмите на название группы в списке групп.
- Нажмите на &hellip; и выберите **Переименовать**.
- Введите новое имя группы размещения.
- Нажмите &#10003;.
6. Редактировать теги группы размещения:
- Нажмите на название группы в списке групп.
- Нажмите **Редактировать теги**.
- Добавьте или удалите теги.
- Нажмите **Сохранить**.
@@ -1,69 +0,0 @@
# Создание виртуальной машины
## Создать виртуальную машину
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. Нажмите **Создать диск**.
Далее выполните монтирование диска в операционной системе.
@@ -1,51 +0,0 @@
# Создание ВМ джамп-хоста
Промежуточная ВМ (джамп-хост) — это виртуальная машина с внешним 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. Нажмите **Создать виртуальную машину**.
@@ -1,160 +0,0 @@
# Управление виртуальными машинами
## Посмотреть список ВМ
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.

Before

Width:  |  Height:  |  Size: 281 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 803 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 996 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 937 B

-11
View File
@@ -1,11 +0,0 @@
---
section_links:
- title: Техническое описание
link: /compute/compute-overview.md
description: Информация о зонах доступности, физических платформах сервиса
- title: Квоты и лимиты
link: /compute/compute-quatos.md
description: Ограничения на количество ресурсов в сервисе
---
# Обзор сервиса
-81
View File
@@ -1,81 +0,0 @@
# Техническое описание
## Виртуальная машина
Конфигурация виртуальной машины задается при ее создании:
- операционная система;
- количество 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
@@ -1,37 +0,0 @@
# Квоты и лимиты
Квоты — это организационные ограничения на количество доступных ресурсов в сервисе. В некоторых случаях квоты могут быть увеличены или уменьшены по запросу.
Лимиты — это технические ограничения на количество доступных ресурсов в сервисе. Ограничения, обычно, связаны с характеристиками оборудования и особенностями архитектуры.
## Квоты
| Вид ограничения | Значение |
|---|---|
|Количество публичных 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
@@ -1,22 +0,0 @@
---
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
@@ -0,0 +1,31 @@
---
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
@@ -0,0 +1,79 @@
---
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
@@ -0,0 +1,3 @@
# Бюджеты и уведомления
Раздел в разработке.
+112
View File
@@ -0,0 +1,112 @@
---
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
@@ -0,0 +1,3 @@
# Финансовый мониторинг
Раздел в разработке.
+3
View File
@@ -0,0 +1,3 @@
# Прогнозирование
Раздел в разработке.
+3
View File
@@ -0,0 +1,3 @@
# Квоты и лимиты
Раздел в разработке.
+3
View File
@@ -0,0 +1,3 @@
# Рекомендации
Раздел в разработке.
+3
View File
@@ -0,0 +1,3 @@
# Управление тегами
Раздел в разработке.
+3
View File
@@ -0,0 +1,3 @@
# Аналитика потребления
Раздел в разработке.
+45 -122
View File
@@ -9,149 +9,72 @@ hero:
# tagline: My great project tagline
features:
- title: Начало работы
icon: coffee
link: /start/index
- title: Облачная платформа
- title: Обзор платформы
icon: tv_modern
link: /platform/index
- 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: Биллинг
link: /platform/about
# - title: Документация по сервисам
# scroll_to: "#home-services-section-title"
# icon: cloud
- title: Финансы
icon: wallet
link:
- title: Безопасность и стандарты
icon: security
link: ''
- title: Тех поддержка
icon: headset_help
link: /platform/support/support-overview
link: /finance/about
- title: Юридические документы
icon: handshake
link: /legal/index
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: ClickHouse
description: В работе
- title: Cloud PostgreSQL
description: Объектно-реляционная СУБД с открытым кодом, обеспечивающая высокую надёжность и масштабируемость
icon: database
- title: MongoDB
description: В работе
icon: database
- title: Аналитика
link: /PostgreSQL/PostgreSQL-index
- title: Брокеры сообщений
articles:
- title: Визуализация и анализ данных
description: В работе
icon: graph_up
- title: Apache Kafka
description: Распределённая система для потоковой передачи данных в реальном времени
icon: message
link: /Apache-Kafka/Kafka-index
- title: DevOps Инструменты
articles:
- title: Cloud Deckhouse Kubernetes
description: Облачный сервис на базе платформы оркестрации контейнеров Kubernetes
icon: server
link: /Deckhouse/index
- title: Безопасность
articles:
- title: Межсетевой экран (NGFW)
description: В работе
- title: Cloud NGFW
link: /security/Cloud-NGFW/about.md
description: Межсетевой экран для инспекции и фильтрации трафика на уровне приложений
icon: security
- title: Защита веб-приложений (WAF)
description: В работе
- title: Cloud NGFW F
link: /security/Cloud-NGFW-F/about.md
description: Виртуальный аплаенс межсетевого экрана для исследования и фильтрации сетевого трафика
icon: security
- title: Защита серверов и рабочих мест
description: В работе
- title: Cloud NGFW Pro
link: /security/Cloud-NGFW-Pro/about.md
description: Межсетевой экран с IDS и потоковым антивирусом на базе отказоустойчивой инфраструктуры
icon: security
- title: Защита устройств пользователей
description: В работе
- title: Управление мобильными устройствами (MDM)
link: /security/Cloud-MDM/about.md
description: Сервис централизованного управления корпоративными и личными мобильными устройствами сотрудников
icon: security
- title: Сканер уязвимостей
description: В работе
- title: Сканер уязвимостей (VS)
link: /security/Cloud-VS/about.md
description: Сервис сканирования компьютеров и приложений на уязвимости
icon: security
- title: Курсы кибербезопасности
description: В работе
- title: Обучение основам киберграмотности (SA)
link: /security/Cloud-SA/about.md
description: Сервис для формирования у сотрудников навыков реагирования на угрозы информационной безопасности
icon: security
- title: Многофакторная аутентификация
description: В работе
- title: Многофакторная аутентификация (MFA)
link: /security/Cloud-MFA/about.md
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
@@ -0,0 +1,13 @@
---
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 обрабатывает данные пользователей в соответствии с законодательством Российской Федерации. На этой странице собраны документы, регулирующие сбор, хранение и использование персональных данных.
+24 -18
View File
@@ -1,27 +1,33 @@
# Обзор
# Платформа Beeline Cloud
Beeline Cloud — облачная платформа, основанная на собственной разработке. Платформа Beeline Cloud обладает встроенной защитой и предоставляет облачные сервисы в одном окне.
Преимущества облачной платформы:
- быстрое развертывание сервисов;
- безопасное хранение данных — наши системы хранения данных соответствуют строгим стандартам;
- защита данных от утечек и несанкционированного доступа;
- гибкое масштабирование — увеличение или уменьшение ресурсов по мере необходимости.
- прогнозируемые расходы.
Облачная платформа полностью соответствует требованиям по защите ПДн для первого уровня защищенности (УЗ-1), что позволяет безопасно размещать и обрабатывать персональные данные.
## Сервисы
Каждый сервис Beeline Cloud предоставляет определенный набор облачных ресурсов и инструменты для управления этими ресурсами. Все сервисы Beeline Cloud объединены в каталог и размещены в личном кабинете в разделе **Сервисы**.
Каждый сервис Beeline Cloud предоставляет определенный набор облачных ресурсов и инструменты для управления этими ресурсами.
Список сервисов можно посмотреть в разделе **Сервисы** в личном кабинете.
Сервисы с отметкой `По заявке` подключаются по запросу специалистами Beeline Cloud. Сервисы без отметки `По заявке` — цифровые, и подключаются самостоятельно.
Доступ к сервисам Beeline Cloud предоставляется [зарегистрированным пользователям](../start/getting-started.md#1-регистрация-в-beeline-cloud).
Доступ к сервисам Beeline Cloud предоставляется зарегистрированным пользователям.
## Центры обработки данных
Инфраструктура Beeline Cloud размещена в надежных дата-центрах уровней Tier II и III.
Инфраструктура Beeline Cloud размещена в надежных дата-центрах уровня Tier 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 |
| Москва | ДЦ2 Линкс | РФ, г. Москва, 8 Марта, д. 14, стр. 3 | III |
| Ярославль | ЯТЦ Модуль 3 | РФ, г. Ярославль, ул. Технопарковая, д. 5 | III |
| Новосибирск | РТК-ЦОД | РФ, г. Новосибирск, ул. Менделеева, д. 1 | III |
- **ЯТЦ** — Ярославский технический центр.
- **ЯТЦ** — Ярославский технический центр.
-23
View File
@@ -1,23 +0,0 @@
---
section_links:
- title: Обзор
link: /platform/about.md
description: Информация о сервисах Beeline Cloud, ЦОД
- title: Техническая поддержка
link: /platform/support/support-overview.md
description: Условия оказания и способы обращения в техническую поддержку
---
# Платформа Beeline Cloud
Beeline Cloud — облачная платформа, основанная на собственной разработке. Платформа Beeline Cloud обладает встроенной защитой и предоставляет облачные сервисы в одном окне.
Преимущества облачной платформы:
- быстрое развертывание сервисов;
- безопасное хранение данных — наши системы хранения данных соответствуют строгим стандартам;
- защита данных от утечек и несанкционированного доступа;
- гибкое масштабирование — увеличение или уменьшение ресурсов по мере необходимости.
- прогнозируемые расходы.
Облачная платформа полностью соответствует требованиям по защите ПДн для первого уровня защищенности (УЗ-1), что позволяет безопасно размещать и обрабатывать персональные данные.
+28
View File
@@ -0,0 +1,28 @@
# Техническая поддержка
По вопросам сопровождения сервисов Beeline Cloud обращайтесь в техническую поддержку.
## Способы обращения
| Способ связи | Канал обращения | Время работы | Описание |
| ------------ | --------------------------------------------------------- | ------------- | -------- |
| Почта | [servicedesk@datafort.ru](mailto:servicedesk@datafort.ru) | круглосуточно | |
## Сроки обработки запросов
| **Приоритет обращения** | **Описание** | **Тип обращения** | **Целевой срок решения** | **Первичное время реакции на обращение (минуты)** |
| ----------------------- | ----------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ------------------------ | ------------------------------------------------- |
| 1 | Сервис полностью или частично недоступен | Устранение неисправности | 2 ч | 15 минут |
| 2 | Уровень качества сервиса снизился | Устранение неисправности | 4 ч | 15 минут |
| 3 | Вопрос, не оказывающий существенного влияния на ведение бизнеса.<br> Консультация.<br> Запрос на сервисные работы | Устранение неисправности.<br> Техническая консультация.<br> Сервисное обслуживание | Следующий рабочий день | 15 минут |
| 4 | Подготовить отчет по устранению неисправности | Отчет по устранению неисправности | 5 рабочих дней | 15 минут |
Подробную информацию смотрите в SLA сервисов Beeline Cloud.
## Типы обращений
| **Название** | **Описание** |
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Устранение неисправности | Запрос на устранение технических проблем, связанных с облачной инфраструктурой |
| Сервисное обслуживание | Запрос на установку и настройку программного обеспечения, обновления и патчи, а также на подготовку отчета по устранению неисправности |
| Техническая консультация | Консультация по вопросам, связанными с настройкой сервисов Beeline Cloud, программным обеспечением, аппаратными средствами или другими техническими вопросами |

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