Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Для подготовки виртуальной машины в Azure требуются дополнительные компоненты, кроме самой виртуальной машины, включая сетевые ресурсы и ресурсы хранилища. В этой статье приведены рекомендации по запуску защищенной виртуальной машины Linux на Azure.
Архитектура
Скачайте файл в формате Visio этой архитектуры.
Рабочий процесс
Группа ресурсов
Группа resource — это логический контейнер, содержащий связанные Azure ресурсы. Как правило, группы ресурсов создаются в зависимости от времени существования ресурсов и пользователя, который ими управляет.
Поместите тесно связанные ресурсы с одинаковым жизненным циклом в одну группу ресурсов. Группы ресурсов позволяют развертывать и отслеживать ресурсы как единое целое и отслеживать затраты на использование каждой группы ресурсов. Можно также удалить ресурсы как набор, что особенно полезно при тестовых развертываниях. Присвойте понятные имена ресурсам, чтобы упростить поиск определенного ресурса и получить сведения о его роли. Дополнительные сведения см. в Рекомендуемые соглашения об именовании ресурсов Azure.
Виртуальная машина
Вы можете подготовить виртуальную машину из списка опубликованных образов или из пользовательского управляемого образа или виртуального жесткого диска (VHD), отправленного в хранилище BLOB-объектов Azure. Azure поддерживает выполнение различных популярных дистрибутивов Linux, включая Debian, Red Hat Enterprise Linux (RHEL) и Ubuntu. Дополнительные сведения см. в разделе Azure и Linux.
Azure предоставляет множество различных виртуальных размеров компьютера. При перемещении существующей рабочей нагрузки на Azure начните с размера виртуальной машины, который наиболее близок к локальным серверам. Затем измерьте производительность фактической рабочей нагрузки по таким показателям, как потребление ЦП, памяти и дисковых операций ввода-вывода в секунду, и при необходимости измените размер.
Как правило, выберите Azure регион, который ближе всего к вашим внутренним пользователям или клиентам. Не во всех регионах доступны виртуальные машины всех размеров. См. дополнительные сведения о доступности служб в разных регионах. Чтобы получить список размеров виртуальных машин, доступных в определенном регионе, выполните следующую команду из Azure CLI:
az vm list-sizes --location <location>
Дополнительные сведения о том, как выбрать опубликованный образ виртуальной машины, см. в руководстве по поиску образов виртуальных машин Linux.
Диски
Для оптимальной производительности ввода-вывода диска рекомендуется Premium Storage, в которой хранятся данные на твердотельных дисках (SSD). Цена зависит от производительности подготовленного диска. Скорость выполнения операций ввода-вывода и пропускная способность (т. е. скорость передачи данных) также зависят от размера диска. Поэтому во время подготовки диска следует учитывать все эти факторы. Premium storage также предоставляет бесплатное расширение, в сочетании с пониманием шаблонов рабочей нагрузки, предлагает эффективную стратегию выбора SKU и оптимизации затрат для инфраструктуры IaaS, обеспечивая высокую производительность без чрезмерного избыточного резервирования и минимизации затрат на неиспользуемую емкость.
Managed Disks упрощают управление дисками, управляя хранилищем для вас. Для управляемых дисков не требуется учетная запись хранения. Вы указываете размер и тип диска, и он развёртывается как высокодоступный ресурс. Managed disks также обеспечивают оптимизацию затрат, обеспечивая требуемую производительность без избыточного резервирования, учитывая изменяющиеся характеристики рабочих нагрузок и минимизируя неиспользуемую зарезервированную емкость.
По умолчанию диск ОС — это управляемый диск, хранящийся в Azure Storage, поэтому он сохраняется даже при отключении хост-компьютера. В качестве альтернативы эфемерные диски ОС помещают образ ОС на локальное хранилище хоста виртуальной машины вместо удаленного Azure Storage, что снижает задержку при чтении, ускоряет повторное создание, а также устраняет затраты на управляемые диски. Однако все данные на эфемерном диске ОС теряются при остановке и освобождении ресурсов, повторном создании экземпляров или событиях восстановления при обслуживании узла, а эфемерные диски ОС не поддерживают моментальные снимки или Azure Backup. Используйте временные диски ОС только тогда, когда виртуальные машины могут быть полностью повторно развернуты с помощью автоматизации.
На виртуальной машине также есть временный диск, хранящийся на физическом диске на хост-компьютере. Временный диск не сохраняется в Azure Storage и может быть удален во время перезагрузки и других событий жизненного цикла виртуальной машины. Используйте временный диск только для временных данных, которые не требуют сохранения после перезагрузки, например, временных файлов приложения или пространства подкачки.
Многие образы Linux по умолчанию не настраивают пространство подкачки. Если для рабочей нагрузки требуется переключение, создайте его на временном диске с помощью cloud-init , а не на диске ОС или на диске данных.
Рекомендуется создать один или несколько дисков данных для данных приложения. Диски данных — это постоянные управляемые диски, поддерживаемые Azure Storage.
Создаваемый диск VHD не форматируется. Чтобы отформатировать диск, войдите на виртуальную машину. В оболочке Linux диски данных отображаются как /dev/sdc/dev/sddи более поздние буквы в серии. Можно выполнить lsblk , чтобы вывести список блочных устройств, включая диски. Чтобы использовать диск данных, создайте раздел и файловую систему, а затем подключите этот диск. Например:
# Create a partition.
sudo fdisk /dev/sdc # Enter 'n' to partition, 'w' to write the change.
# Create a file system.
sudo mkfs -t ext3 /dev/sdc1
# Mount the drive.
sudo mkdir /data1
sudo mount /dev/sdc1 /data1
При добавлении диска данных ему назначается идентификатор логического номера устройства (LUN ID). При необходимости можно указать идентификатор LUN, например, если при замене диска нужно сохранить тот же идентификатор LUN или если у вас есть приложение, которое ищет определенный идентификатор LUN. Однако следует помнить, что идентификаторы LUN для каждого диска должны быть уникальными.
Возможно, потребуется изменить планировщик ввода-вывода для оптимизации производительности на SSD-дисках, поскольку диски для виртуальных машин с учетными записями, использующими премиум-хранилище, являются SSD. Обычно для SSD рекомендуется использовать планировщик NOOP, но для мониторинга производительности дискового ввода-вывода рабочей нагрузки следует использовать такой инструмент, как iostat.
Виртуальная машина создается с временным диском. Этот диск хранится на физическом диске хост-компьютера. Он не сохранён в Azure Storage и может быть удалён во время перезагрузки и других событий жизненного цикла виртуальной машины. Используйте этот диск только для временных данных, таких как данные страниц или файлы подкачки. Для виртуальных машин Linux временный диск /dev/disk/azure/resource-part1 монтируется в /mnt/resource или /mnt.
Сеть
Сетевые компоненты включают приведенные ниже ресурсы.
Виртуальная сеть. Каждая виртуальная машина развертывается в виртуальной сети, которая сегментируется на подсети.
Сетевой интерфейс (сетевой адаптер). Сетевой интерфейс (NIC) позволяет виртуальной машине взаимодействовать с виртуальной сетью. Если для виртуальной машины требуется несколько сетевых адаптеров, для каждого размера виртуальной машины определяется максимальное количество сетевых адаптеров.
Общедоступный IP-адрес. Для взаимодействия с виртуальной машиной требуется общедоступный IP-адрес, например через протокол Remote Desktop (RDP). Общедоступный IP-адрес может быть динамическим или статическим. По умолчанию используется динамический.
- Зарезервировать статический IP-адрес если вам нужен фиксированный IP-адрес, который не изменяется, например, если необходимо создать запись DNS "A" или добавить IP-адрес в безопасный список.
- Можно также создать полное доменное имя для IP-адреса. Затем вы сможете зарегистрировать в DNS запись CNAME, которая указывает на полное доменное имя. Дополнительные сведения см. в разделе Создание полностью квалифицированного доменного имени в портале Azure.
Группа безопасности сети (NSG). группы сетевой безопасности используются для разрешения или блокировки сетевого трафика к виртуальным машинам. Группы безопасности сети могут быть связаны с подсетями или отдельными экземплярами виртуальных машин.
- Все группы безопасности сети содержат набор правил по умолчанию, включая правило, которое блокирует весь входящий интернет-трафик. Правила по умолчанию нельзя удалить, но их можно переопределить другими правилами. Чтобы разрешить интернет-трафик, создайте правила, разрешающие входящий трафик для определенных портов, например, это может быть порт 80 для протокола HTTP. Чтобы включить Secure Shell (SSH), добавьте правило NSG, разрешающее входящий трафик к TCP-порту 22.
Azure NAT Gateway.Шлюзы преобразования сетевых адресов (NAT) разрешают всем экземплярам в частной подсети подключаться к Интернету, оставаясь полностью приватными. Только пакеты, поступающие в качестве пакетов ответа для исходящего подключения, могут передаваться через шлюз NAT. Несанкционированные входящие соединения из Интернета не разрешены.
Azure Bastion.Azure Bastion — это полностью управляемая платформа как решение службы, которое обеспечивает безопасный доступ к виртуальным машинам через частные IP-адреса. В этой конфигурации виртуальные машины не нуждаются в публичном IP-адресе, который делает их доступными в интернете, что повышает уровень их безопасности. Azure Bastion обеспечивает безопасное подключение по RDP или SSH к вашим виртуальным машинам непосредственно через транспортный уровень безопасности (TLS) с помощью различных методов, включая портал Azure и стандартные клиенты SSH или RDP.
Операции
SSH. Перед созданием виртуальной машины Linux создайте парные 2048-разрядные ключи RSA (открытый и закрытый). При создании виртуальной машины используйте файл открытого ключа. Дополнительные сведения см. в статье How to Use SSH with Linux and Mac on Azure.
Диагностика. Включите мониторинг и диагностику, в том числе базовые метрики работоспособности, а также ведение журналов инфраструктуры диагностики и диагностику загрузки. Если виртуальную машину невозможно загрузить, для обнаружения неисправностей можно использовать диагностику загрузки. Создайте учетную запись Azure Storage для хранения журналов. Для журналов диагностики достаточно стандартной учетной записи хранилища с локальной избыточностью (LRS). Дополнительные сведения см. в статье о включении мониторинга и диагностики.
Доступность На вашу виртуальную машину могут повлиять плановое обслуживание или незапланированное время простоя. Чтобы определить, вызвана ли перезагрузка плановым техническим обслуживанием, изучите журналы перезагрузки виртуальной машины. Для повышения доступности разверните несколько виртуальных машин в группе доступности или между зонами доступности в регионе. Обе эти конфигурации предоставляют более высокое соглашение об уровне обслуживания (SLA).
Backups Чтобы защититься от случайной потери данных, используйте службу Azure Backup для резервного копирования виртуальных машин в геоизбыточное хранилище. Служба Azure Backup предоставляет резервные копии с согласованностью на уровне приложений. Для производительных рабочих нагрузок или специализированных дистрибутивов Linux, которые не поддерживают традиционные агенты резервного копирования, используйте функцию безагентного многодискового резервного копирования с согласованностью при сбоях, которая обеспечивает автоматическую защиту резервного копирования без влияния на производительность приложения.
Остановка виртуальной машины. Azure делает различие между "остановленными" и "разделенными" состояниями. Взимается плата, когда статус виртуальной машины остановлен, но не когда она деактивирована. На портале Azure кнопка Stop освобождает виртуальную машину. Если вы завершите работу через ОС, находясь в системе, виртуальная машина будет остановлена, но не освобождается, поэтому с вас все равно будет взиматься плата.
Удаление виртуальной машины. При удалении виртуальной машины у вас есть возможность удалить или сохранить его диски. Это означает, что вы можете удалить виртуальную машину без потери данных. Однако плата за диски по-прежнему будет взиматься. Управляемые диски можно удалять так же, как и любой другой ресурс Azure. Чтобы предотвратить случайное удаление, используйте блокировку ресурсов. Так вы сможете заблокировать всю группу или отдельные ресурсы (например, виртуальную машину).
Рекомендации
Эти рекомендации реализуют основы платформы Azure Well-Architected Framework, которая представляет собой набор руководящих принципов, которые можно использовать для улучшения качества рабочей нагрузки. Дополнительные сведения см. в разделе Microsoft Azure Well-Architected Framework.
Безопасность
Безопасность обеспечивает гарантии от преднамеренного нападения и злоупотребления ценными данными и системами. Для получения дополнительной информации см. контрольный список по проверке проектирования на безопасность.
Используйте Microsoft Defender for Cloud для получения центрального представления о состоянии безопасности Azure ресурсов. Microsoft Defender для облака отслеживает потенциальные проблемы безопасности, а также обеспечивает полное представление о состоянии системы безопасности развертывания. Defender для облака настраивается для каждой подписки Azure. Включите сбор данных безопасности, как описано в Подключите ваши подписки Azure. Если сбор данных включен, Defender для облака автоматически сканирует все виртуальные машины, созданные в этой подписке.
Управление исправлениями. Если этот параметр включен, Defender для облака проверяет, отсутствуют ли какие-либо обновления безопасности и критически важных обновлений.
Антивредоносная программа. Если этот параметр включен, Defender для облака проверяет, установлено ли антивредоносное программное обеспечение. Вы также можете использовать Defender для облака для установки программного обеспечения защиты от вредоносных программ на портале Azure.
Управление доступом. Используйте Azure управление доступом на основе ролей (Azure RBAC) для управления доступом к ресурсам Azure. Azure RBAC позволяет назначать роли авторизации членам команды DevOps. Например, роль читателя может просматривать ресурсы Azure, но не создавать, управлять или удалять их. Некоторые разрешения относятся к типу ресурса Azure. Например, роль участника виртуальной машины может перезапустить или отменить размещение виртуальной машины, сбросить пароль администратора и создать новую виртуальную машину. Другие встроенные роли , которые могут быть полезны для этой архитектуры, включают пользователя DevTest Labs и участника сети.
Примечание.
Azure RBAC не ограничивает действия, которые пользователь может выполнять, когда вошел в виртуальную машину. Эти разрешения определяются типом учетной записи в гостевой ОС.
Журналы аудита. Используйте журналы аудита для просмотра процесса подготовки и других событий виртуальной машины.
Шифрование данных. Включите encryption на узле для обеспечения сквозного шифрования данных виртуальной машины, включая временные диски и кэши дисков. Шифрование на узле обрабатывает шифрование в инфраструктуре узла виртуальной машины и не использует ресурсы ЦП виртуальной машины, в отличие от гостевого шифрования. Вы можете использовать ключи, управляемые клиентом, с Azure Key Vault для постоянных операционных систем и дисков данных. Временные диски и эфемерные диски ОС зашифрованы ключами, которые управляются платформой. Убедитесь, что выбранный размер VM поддерживает шифрование на узле перед подготовкой виртуальной машины.
Оптимизация затрат
Оптимизация затрат заключается в том, чтобы подумать о способах сокращения ненужных расходов и повышения эффективности работы. Дополнительные сведения см. в контрольном списке проектной экспертизы для оптимизации затрат.
Существуют различные варианты размеров виртуальных машин в зависимости от использования и рабочей нагрузки. Диапазон включает самый экономичный вариант серии Bs до новейших виртуальных машин GPU, оптимизированных для machine learning. Сведения о доступных вариантах см. в разделе цены виртуальных машин Azure Linux.
Для прогнозируемых рабочих нагрузок используйте Azure резервирования и план экономии Azure для вычислений с помощью одного или трехлетнего контракта и получайте значительные сбережения по сравнению с ценами модели «оплата по мере использования». Для рабочих нагрузок без прогнозируемого времени завершения или потребления ресурсов рассмотрите вариант оплаты по мере использования .
Используйте виртуальные машины Azure с оплатой по требованию для выполнения рабочих нагрузок, которые могут прерываться и не требуют завершения в течение предопределенного периода времени или соглашения об уровне обслуживания. Azure развертывает Spot ВМ, если имеется доступная ёмкость, и вытесняет их, когда требуется вернуть ёмкость. Затраты, связанные с виртуальными машинами Spot, значительно ниже. Рассмотрите использование Spot Virtual Machines для этих рабочих нагрузок:
- Сценарии высокопроизводительных вычислений, задания пакетной обработки или приложения для визуальной отрисовки.
- Тестовые среды, включая процессы непрерывной интеграции и доставки.
- Крупномасштабные приложения без отслеживания состояния.
Используйте калькулятор цен Azure для оценки затрат.
Дополнительные сведения см. в разделе затрат Microsoft Azure Well-Architected Framework.
Операционное превосходство
Операционное совершенство охватывает процессы, которые обеспечивают развертывание приложения и его работу в производственной среде. Для получения дополнительной информации см. Контрольный список для оценки проектирования с точки зрения операционной эффективности.
Используйте один шаблон Azure Resource Manager для развертывания ресурсов Azure и их зависимостей. Так как все ресурсы находятся в одной виртуальной сети, они изолированы в рамках одной базовой рабочей нагрузки. Это упрощает связывание конкретных ресурсов рабочей нагрузки с командой DevOps, чтобы команда могли самостоятельно управлять всеми аспектами этих ресурсов. Эта изоляция позволяет команде DevOps выполнять непрерывную интеграцию и непрерывную доставку (CI/CD).
Кроме того, можно использовать различные шаблоны Azure Resource Manager и интегрировать их с Azure DevOps Services для подготовки различных сред в минутах, например для репликации рабочих сред, таких как сценарии или среды нагрузочного тестирования только при необходимости, экономия затрат.
Попробуйте использовать Azure Monitor для анализа и оптимизации производительности инфраструктуры, мониторинга и диагностики сетевых проблем без входа в виртуальные машины.
Следующие шаги
- Сведения о создании виртуальной машины Linux см. в статье Quickstart: создание виртуальной машины Linux на портале Azure
- Чтобы установить драйвер NVIDIA на виртуальной машине Linux, ознакомьтесь с разделом Установка драйверов GPU NVIDIA на виртуальных машинах серии N под управлением Linux.
- Чтобы подготовить виртуальную машину Linux, см. статью Создание и управление виртуальными машинами Linux с помощью Azure CLI
- Исходящий доступ по умолчанию в Azure