Yandex Cloud
August 29, 2022

Создать группу размещения и добавить в неё ВМ

Чтобы контролировать уровень отказоустойчивости оборудования, виртуальные машины можно объединять в группы размещения.

Группа размещения ВМ — группа виртуальных машин, каждая из которых расположена на физическом оборудовании согласно определенной стратегии. Yandex Compute Cloud использует стратегию распределенного размещения.

Распределенное размещение (spread) — стратегия размещения виртуальных машин таким образом, чтобы каждая из виртуальных машин была гарантированно расположена на отдельной серверной стойке в одной из зон доступности. Если одна из стоек выйдет из строя, другие продолжат работу в обычном режиме.

Иными словами группа размещения должна использоваться для нескольких ВМ, для повышения надёжности и доступности сервисов, хранящихся на ВМ в этой группе.

Создадим группу размещения.

yc compute placement-group create \
   --name cam-prod-place-group \
   --description "Prod placement group" \
   --spread-strategy \
   --async

Создалось.

metadata:
  '@type': type.googleapis.com/yandex.cloud.compute.v1.CreatePlacementGroupMetadata
  placement_group_id: fd83r97ulotb79pgdage
response:
  '@type': type.googleapis.com/yandex.cloud.compute.v1.PlacementGroup
  id: fd83r97ulotb79pgdage
  folder_id: b1g62iqs14tk7mu0faun
  created_at: "2022-08-29T20:11:39Z"
  name: cam-prod-place-group
  description: Prod placement group
  spread_placement_strategy: {}

Создадим ВМ и прикрепим её к этой группе

export SG=$(yc vpc sg get cam-all --format json | jq -r '.id')
yc compute instance create \
--folder-id $FOLDER_ID \
--name cam-test \
--description "Machine with place group" \
--hostname cam-test \
--zone $ZONE_ID \
--platform standard-v3 \
--create-boot-disk image-family=debian-10,size=60,type=network-ssd,block-size=8K \
--image-folder-id standard-images \
--memory 8 \
--cores 4 \
--core-fraction 100 \
--preemptible \
--network-settings type=standard \
--network-interface subnet-id=$SUBNET_ID,nat-ip-version=ipv4,security-group-ids=$SG \
--metadata serial-port-enable=1 \
--ssh-key ~/.ssh/id_rsa.pub \
--placement-group-name cam-prod-place-group \
--service-account-id $SA \
--async

Проверим добавилась ли ВМ в группу размещения.

yc compute placement-group list-instances --name cam-prod-place-group
+----------------------+----------+---------------+---------+--------------+-------------+
|          ID          |   NAME   |    ZONE ID    | STATUS  | EXTERNAL IP  | INTERNAL IP |
+----------------------+----------+---------------+---------+--------------+-------------+
| fhmf0c4ruq8743a4jqmk | cam-test | ru-central1-a | RUNNING | 51.250.77.74 | 10.128.0.44 |
+----------------------+----------+---------------+---------+--------------+-------------+

Готово!

Полезные ссылки:

Концепция групп размещения описана тут:
https://cloud.yandex.ru/docs/compute/concepts/placement-groups
Создать группу размещения:
https://cloud.yandex.ru/docs/compute/operations/placement-groups/create
Добавить ВМ в группу размещения:
https://cloud.yandex.ru/docs/compute/operations/placement-groups/add-vm