Executar uma máquina virtual Linux no AzureRun a Linux virtual machine on Azure

O aprovisionamento de uma máquina virtual (VM) no Azure requer alguns componentes adicionais além da VM em si, incluindo recursos de rede e armazenamento.Provisioning a virtual machine (VM) in Azure requires some additional components besides the VM itself, including networking and storage resources. Este artigo mostra as melhores práticas para executar uma VM do Linux no Azure.This article shows best practices for running a Linux VM on Azure.

VM do Linux no Azure

Grupo de recursosResource group

R [grupo de recursos] resource-manager-overview é um contentor lógico que retém recursos relacionados do Azure.A resource group is a logical container that holds related Azure resources. Em geral, grupo de recursos com base em seu tempo de vida e que irão gerenciá-las.In general, group resources based on their lifetime and who will manage them.

Coloque recursos estreitamente associados que partilhem o mesmo ciclo de vida no mesmo grupo de recursos.Put closely associated resources that share the same lifecycle into the same resource group. Os grupos de recursos permitem-lhe implementar e monitorizar recursos como um grupo e monitorizar os custos de faturação por grupo de recursos.Resource groups allow you to deploy and monitor resources as a group and track billing costs by resource group. Também pode eliminar recursos como um conjunto, o que é útil para implementações de teste.You can also delete resources as a set, which is useful for test deployments. Atribua nomes significativos aos recursos para simplificar a localização de um recurso específico e compreender a sua função.Assign meaningful resource names to simplify locating a specific resource and understanding its role. Para obter mais informações, veja Convenções de Nomenclatura Recomendadas para Recursos do Azure.For more information, see Recommended Naming Conventions for Azure Resources.

Máquina virtualVirtual machine

Pode aprovisionar uma VM com base numa lista de imagens publicadas, numa imagem gerida personalizada ou num ficheiro de disco rígido virtual (VHD) carregado para o Armazenamento de Blobs do Azure.You can provision a VM from a list of published images, or from a custom managed image or virtual hard disk (VHD) file uploaded to Azure Blob storage. O Azure suporta a execução de várias distribuições Linux populares, incluindo CentOS, Debian, Red Hat Enterprise, Ubuntu e FreeBSD.Azure supports running various popular Linux distributions, including CentOS, Debian, Red Hat Enterprise, Ubuntu, and FreeBSD. Para obter mais informações, veja Azure and Linux (O Azure e o Linux).For more information, see Azure and Linux.

O Azure oferece vários tamanhos de máquinas virtuais.Azure offers many different virtual machine sizes. Para obter mais informações, consulte tamanhos de máquinas virtuais no Azure.For more information, see Sizes for virtual machines in Azure. Se estiver a mover uma carga de trabalho existente para o Azure, comece com o tamanho de VM que melhor corresponda aos seus servidores no local.If you are moving an existing workload to Azure, start with the VM size that's the closest match to your on-premises servers. Em seguida, meça o desempenho da carga de trabalho real em termos de CPU, memória e disco operações por segundo (IOPS) de entrada/saída e ajustar o tamanho conforme necessário.Then measure the performance of your actual workload in terms of CPU, memory, and disk input/output operations per second (IOPS), and adjust the size as needed.

Em geral, escolha uma região do Azure mais próxima dos seus utilizadores internos ou clientes.Generally, choose an Azure region that is closest to your internal users or customers. Nem todos os tamanhos VM estão disponíveis em todas as regiões.Not all VM sizes are available in all regions. Para obter mais informações, veja Serviços por região.For more information, see Services by region. Para obter uma lista dos tamanhos de VM disponíveis numa determinada região, execute o seguinte comando na interface de linha de comandos (CLI) do Azure:For a list of the VM sizes available in a specific region, run the following command from the Azure command-line interface (CLI):

az vm list-sizes --location <location>

Para obter mais informações sobre como escolher uma imagem de VM publicada, veja Localizar imagens VM do Linux.For information about choosing a published VM image, see Find Linux VM images.

DiscosDisks

Para um melhor desempenho de E/S, recomendamos o Armazenamento Premium, que armazena os dados em unidades de estado sólido (SSDs).For best disk I/O performance, we recommend Premium Storage, which stores data on solid-state drives (SSDs). O custo tem por base a capacidade do disco aprovisionado.Cost is based on the capacity of the provisioned disk. O IOPS e o débito (ou seja, a velocidade de transferência de dados) também dependem do tamanho do disco, pelo que, quando aprovisionar um disco, considere os três fatores (capacidade, IOPS e débito).IOPS and throughput (that is, data transfer rate) also depend on disk size, so when you provision a disk, consider all three factors (capacity, IOPS, and throughput).

Também recomendamos que utilize Managed Disks.We also recommend using Managed Disks. Discos geridos simplificam o gerenciamento de disco ao lidar com o armazenamento para si.Managed disks simplify disk management by handling the storage for you. Os discos geridos não precisam de uma conta de armazenamento.Managed disks do not require a storage account. Basta especificar o tamanho e tipo de disco e ele é implementado como um recurso de elevada disponibilidadeYou simply specify the size and type of disk and it is deployed as a highly available resource

O disco do SO é um VHD armazenado no Armazenamento do Microsoft Azure, por isso, este persiste, mesmo quando o computador anfitrião está inativo.The OS disk is a VHD stored in Azure Storage, so it persists even when the host machine is down. Para as VMs do Linux, o disco do SO é /dev/sda1.For Linux VMs, the OS disk is /dev/sda1. Também recomendamos que crie um ou mais discos de dados, quais são os VHDs persistentes utilizados para dados de aplicação.We also recommend creating one or more data disks, which are persistent VHDs used for application data.

Quando cria um VHD, os discos de dados não estão formatados.When you create a VHD, it is unformatted. Inicie sessão na VM para formatar o disco.Log into the VM to format the disk. Na shell do Linux, os discos de dados são apresentados como /dev/sdc, /dev/sdd e assim sucessivamente.In the Linux shell, data disks are displayed as /dev/sdc, /dev/sdd, and so on. Pode executar lsblk para listar os dispositivos de bloqueio, incluindo os discos.You can run lsblk to list the block devices, including the disks. Para utilizar um disco de dados, crie uma partição e um sistema de ficheiros e monte o disco.To use a data disk, create a partition and file system, and mount the disk. Por exemplo:For example:

# 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

Quando adiciona um disco de dados, é-lhe atribuído um número de unidade lógica (LUN).When you add a data disk, a logical unit number (LUN) ID is assigned to the disk. Opcionalmente, pode especificar o ID do LUN — por exemplo, se estiver a substituir um disco e quiser manter o mesmo ID de LUN ou se tiver uma aplicação que procura um ID de LUN específico.Optionally, you can specify the LUN ID — for example, if you're replacing a disk and want to retain the same LUN ID, or you have an application that looks for a specific LUN ID. Contudo, lembre-se de que os IDs de LUNs têm de ser exclusivos para cada disco.However, remember that LUN IDs must be unique for each disk.

Poderá ser útil alterar o agendador de E/S para otimizar o desempenho dos SSDs, pois os discos das VMs com contas de armazenamento premium são SSDs.You may want to change the I/O scheduler to optimize for performance on SSDs because the disks for VMs with premium storage accounts are SSDs. Uma recomendação comum é utilizar o agendador NOOP para os SSDs, mas deve utilizar uma ferramenta como iostat para monitorizar o desempenho de E/S do disco da carga de trabalho.A common recommendation is to use the NOOP scheduler for SSDs, but you should use a tool such as iostat to monitor disk I/O performance for your workload.

A VM é criada com um disco temporário.The VM is created with a temporary disk. Este disco é armazenado numa unidade física na máquina anfitriã.This disk is stored on a physical drive on the host machine. Não é guardado no Armazenamento do Microsoft Azure e pode ser eliminado durante os reinícios e outros eventos do ciclo de vida das VMs.It is not saved in Azure Storage and may be deleted during reboots and other VM lifecycle events. Utilize este disco apenas para dados temporários, tais como ficheiros de paginação ou de troca.Use this disk only for temporary data, such as page or swap files. Para as VMs do Linux, o disco temporário é /dev/sdb1 e está montado em /mnt/resource ou em /mnt.For Linux VMs, the temporary disk is /dev/sdb1 and is mounted at /mnt/resource or /mnt.

RedeNetwork

Os componentes de rede incluem os seguintes recursos:The networking components include the following resources:

  • Rede virtual.Virtual network. Cada VM é implementada numa rede virtual que pode ser segmentada em várias sub-redes.Every VM is deployed into a virtual network that can be segmented into multiple subnets.

  • Interface de rede (NIC).Network interface (NIC). A NIC permite à VM comunicar com a rede virtual.The NIC enables the VM to communicate with the virtual network. Se precisar de vários NICs para a sua VM, lembre-se de que um número máximo de NICs é definido para cada tamanho VM.If you need multiple NICs for your VM, be aware that a maximum number of NICs is defined for each VM size.

  • Endereço IP público.Public IP address. É preciso um endereço IP público para comunicar com a VM — por exemplo, através do ambiente de trabalho remoto (RDP).A public IP address is needed to communicate with the VM — for example, via remote desktop (RDP). O endereço IP público pode ser dinâmico ou estático.The public IP address can be dynamic or static. Por predefinição, é dinâmico.The default is dynamic.

  • Se precisar de um endereço IP fixo que não será alterado, reserve um endereço IP estático — por exemplo, se tiver de criar um registo A no DNS ou precisar de adicionar o endereço IP a uma lista de segurança.Reserve a static IP address if you need a fixed IP address that won't change — for example, if you need to create a DNS 'A' record or add the IP address to a safe list.

  • Também pode criar um nome de domínio completamente qualificado (FQDN) para o endereço IP.You can also create a fully qualified domain name (FQDN) for the IP address. Depois, pode registar um registo CNAME no DNS que aponte para o FQDN.You can then register a CNAME record in DNS that points to the FQDN. Para obter mais informações, veja Criar um nome de domínio completamente qualificado no portal do Azure.For more information, see Create a fully qualified domain name in the Azure portal.

  • Grupo de Segurança de Rede (NSG).Network security group (NSG). [Grupos de segurança de rede] nsg são utilizados para permitir ou negar o tráfego de rede para as VMs.Network security groups are used to allow or deny network traffic to VMs. Os NSGs podem ser associados com sub-redes ou com instâncias de VM individuais.NSGs can be associated either with subnets or with individual VM instances.

Todos os NSGs contêm um conjunto de regras predefinidas, incluindo uma regra que bloqueia todo o tráfego de entrada da Internet.All NSGs contain a set of default rules, including a rule that blocks all inbound Internet traffic. Não é possível eliminar as regras predefinidas, mas estas podem ser substituídas por outras.The default rules cannot be deleted, but other rules can override them. Para permitir o tráfego da Interne, crie regras que permitam o tráfego de entrada em portas específicas — por exemplo, a porta 80 para HTTP.To enable Internet traffic, create rules that allow inbound traffic to specific ports — for example, port 80 for HTTP. Para ativar o SSH, adicione uma regra do NSG que permita o tráfego de entrada para a porta TCP 22.To enable SSH, add an NSG rule that allows inbound traffic to TCP port 22.

OperaçõesOperations

SSH.SSH. Antes de criar uma VM do Linux, gere um par de chaves públicas-privadas de RSA 2048 bits.Before you create a Linux VM, generate a 2048-bit RSA public-private key pair. Utilize o ficheiro de chave pública quando criar a VM.Use the public key file when you create the VM. Para obter mais informações, veja Como utilizar SSG com Linux e Mac no Azure.For more information, see How to Use SSH with Linux and Mac on Azure.

Diagnóstico.Diagnostics. Ative a monitorização e os diagnósticos, incluindo métricas básicas de estado de funcionamento, registos de infraestrutura de diagnósticos e diagnósticos de arranque.Enable monitoring and diagnostics, including basic health metrics, diagnostics infrastructure logs, and boot diagnostics. Os diagnósticos de arranque poderão ajudá-lo a diagnosticar falhas no arranque se a VM não estiver no estado de arranque.Boot diagnostics can help you diagnose boot failure if your VM gets into a non-bootable state. Crie uma conta de armazenamento do Azure para armazenar os registos.Create an Azure Storage account to store the logs. Para conter os registos de diagnósticos, é suficiente uma conta de armazenamento localmente redundante (LRS) standard.A standard locally redundant storage (LRS) account is sufficient for diagnostic logs. Para obter mais informações, veja Enable monitoring and diagnostics (Ativar a monitorização e os diagnósticos).For more information, see Enable monitoring and diagnostics.

Disponibilidade.Availability. A VM pode ser afetada pelas [manutenção planeada] planned-maintenance ou período de indisponibilidade não planeado.Your VM may be affected by planned maintenance or unplanned downtime. Pode utilizar registos de reinício de VM para determinar se o reinício de uma VM foi provocado por uma manutenção planeada.You can use VM reboot logs to determine whether a VM reboot was caused by planned maintenance. Para maior disponibilidade, implemente várias VMs numa conjunto de disponibilidade.For higher availability, deploy multiple VMs in an availability set. Esta configuração proporciona uma maior (SLA) de contrato de nível de serviço.This configuration provides a higher service level agreement (SLA).

As cópias de segurança para proteger contra a perda acidental de dados, utilize o cópia de segurança do Azure serviço para criar cópias de segurança as suas VMs para o armazenamento georredundante.Backups To protect against accidental data loss, use the Azure Backup service to back up your VMs to geo-redundant storage. O Azure Backup fornece cópias de segurança consistentes com aplicações.Azure Backup provides application-consistent backups.

Parar uma VM.Stopping a VM. O Azure faz uma distinção entre os estados “parada” e “desalocada”.Azure makes a distinction between "stopped" and "deallocated" states. Se o estado da VM for "parada", será cobrado, mas não se for "desalocada".You are charged when the VM status is stopped, but not when the VM is deallocated. No portal do Azure, o botão Parar desaloca a VM.In the Azure portal, the Stop button deallocates the VM. Se encerrar com o SO enquanto tiver sessão iniciada, a VM será parada, mas não desalocada, pelo que continuarão a ser cobrado custos.If you shut down through the OS while logged in, the VM is stopped but not deallocated, so you will still be charged.

Eliminar uma VM.Deleting a VM. Se eliminar uma VM, os VHDs não são eliminados.If you delete a VM, the VHDs are not deleted. Isto significa que pode eliminar em segurança a VM sem perder dados.That means you can safely delete the VM without losing data. No entanto, ainda lhe será cobrado o armazenamento.However, you will still be charged for storage. Para eliminar o VHD, elimine o ficheiro do Armazenamento de blobs.To delete the VHD, delete the file from Blob storage. Para impedir a eliminação acidental, utilize um bloqueio de recursos para bloquear o grupo de recursos inteiro ou bloqueie recursos individuais, como a VM.To prevent accidental deletion, use a resource lock to lock the entire resource group or lock individual resources, such as a VM.

Considerações de segurançaSecurity considerations

Para obter uma visão central do estado de segurança dos recursos do Azure, utilize o Centro de Segurança do Azure.Use Azure Security Center to get a central view of the security state of your Azure resources. O Centro de Segurança monitoriza potenciais problemas de segurança e fornece uma visão global do estado de funcionamento da segurança da sua implementação.Security Center monitors potential security issues and provides a comprehensive picture of the security health of your deployment. O Centro de Segurança está configurado por subscrição do Azure.Security Center is configured per Azure subscription. Ativar a recolha de dados de segurança, conforme descrito em carregar sua subscrição do Azure para o Centro de segurança Standard.Enable security data collection as described in Onboard your Azure subscription to Security Center Standard. Quando a recolha de dados está ativada, o Centro de Segurança analisa automaticamente todas as VMs criadas nessa subscrição.When data collection is enabled, Security Center automatically scans any VMs created under that subscription.

Gerenciamento de patches.Patch management. Se estiver ativada, o Centro de Segurança verifica se as atualizações críticas e de segurança estão em falta.If enabled, Security Center checks whether any security and critical updates are missing. Utilize [definições de política de grupo] [-política de grupo] na VM para ativar atualizações automáticas do sistema.Use [Group Policy settings][group-policy] on the VM to enable automatic system updates.

Antimalware.Antimalware. Se estiver ativado, o Centro de Segurança verifica se está instalado software antimalware.If enabled, Security Center checks whether antimalware software is installed. Também pode utilizar o Centro de Segurança para instalar software antimalware no portal do Azure.You can also use Security Center to install antimalware software from inside the Azure portal.

Controlo de acesso.Access control. Uso [controlo de acesso baseado em funções (RBAC)] rbac para controlar o acesso aos recursos do Azure.Use role-based access control (RBAC) to control access to Azure resources. O RBAC permite-lhe atribuir funções de autorização a membros da sua equipa de DevOps.RBAC lets you assign authorization roles to members of your DevOps team. Por exemplo, a Função Leitor pode ver recursos do Azure, mas não criá-los, geri-los nem eliminá-los.For example, the Reader role can view Azure resources but not create, manage, or delete them. Algumas permissões são específicas para um tipo de recurso do Azure.Some permissions are specific to an Azure resource type. Por exemplo, a função Contribuidor de Máquina Virtual pode reiniciar ou desalocar uma VM, repor a palavra-passe de administrador, criar uma nova VM e assim sucessivamente.For example, the Virtual Machine Contributor role can restart or deallocate a VM, reset the administrator password, create a new VM, and so on. Outras funções RBAC incorporadas que podem ser úteis para esta arquitetura incluem Utilizador de DevTest Labs e Contribuidor de Rede.Other built-in RBAC roles that may be useful for this architecture include DevTest Labs User and Network Contributor.

Nota

O RBAC não limita as ações que os utilizadores que tenham sessão iniciada numa VM podem fazer.RBAC does not limit the actions that a user logged into a VM can perform. Estas permissões são determinadas pelo tipo de conta no SO convidado.Those permissions are determined by the account type on the guest OS.

Registos de auditoria.Audit logs. Utilize registos de auditoria para ver ações de aprovisionamento e outros eventos da VM.Use audit logs to see provisioning actions and other VM events.

Encriptação de dados.Data encryption. Uso [do Azure Disk Encryption] disk-encryption se precisar de encriptar os discos de SO e dados.Use Azure Disk Encryption if you need to encrypt the OS and data disks.

Passos SeguintesNext steps