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

Resource groupResource group

R grupo de recursos é 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. Resource groups allow you to deploy and monitor resources as a group and track billing costs by resource group. You can also delete resources as a set, which is useful for test deployments. Assign meaningful resource names to simplify locating a specific resource and understanding its role. For more information, see Recommended Naming Conventions for Azure Resources.Put closely associated resources that share the same lifecycle into the same resource group. Resource groups allow you to deploy and monitor resources as a group and track billing costs by resource group. You can also delete resources as a set, which is useful for test deployments. Assign meaningful resource names to simplify locating a specific resource and understanding its role. 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, consulte do Azure e 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, consulte serviços por região.For more information, see Services by region. Para obter uma lista de tamanhos de VM disponíveis numa região específica, execute o seguinte comando a partir da CLI do Azure:For a list of the VM sizes available in a specific region, run the following command from the Azure CLI:

az vm list-sizes --location <location>

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

DiscosDisks

Para obter melhor desempenho de e/s de disco, é recomendável o armazenamento Premium, que armazena 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 Azure, por isso, ele persiste, mesmo quando a máquina de 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 da 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.

  • Reserva de um endereço IP estático se precisar de um endereço IP fixo que não será alterado — por exemplo, se tiver de criar um registo DNS "A" ou adicionar o endereço IP a uma lista segura.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. Em seguida, pode registar um registo CNAME in DNS that points to the FQDN. For more information, see Create a fully qualified domain name in the Azure portal.You can then register a CNAME record in DNS that points to the FQDN. 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 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, consulte como utilizar o SSH 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 diagnóstico, incluindo métricas de estado de funcionamento básico, registos de infraestrutura de diagnósticos, e diagnósticos de arranque. Boot diagnostics can help you diagnose boot failure if your VM gets into a non-bootable state. Create an Azure Storage account to store the logs. A standard locally redundant storage (LRS) account is sufficient for diagnostic logs. For more information, see Enable monitoring and diagnostics.Enable monitoring and diagnostics, including basic health metrics, diagnostics infrastructure logs, and boot diagnostics. Boot diagnostics can help you diagnose boot failure if your VM gets into a non-bootable state. Create an Azure Storage account to store the logs. A standard locally redundant storage (LRS) account is sufficient for diagnostic logs. For more information, see Enable monitoring and diagnostics.

Disponibilidade.Availability. A VM pode ser afetada pelas manutenção planeada or unplanned downtime.Your VM may be affected by planned maintenance or unplanned downtime. Pode usar [registos de reinício de VM][registos de reinício] para determinar se um reinício da 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 armazenamento de BLOBs . To prevent accidental deletion, use a resource lock para bloquear o recursos inteiro grupo ou bloqueie recursos individuais, como uma VM.To delete the VHD, delete the file from Blob storage. 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

Uso Centro de segurança do Azure to get a central view of the security state of your Azure resources. Security Center monitors potential security issues and provides a comprehensive picture of the security health of your deployment. Security Center is configured per Azure subscription. Enable security data collection as described in Onboard your Azure subscription to Security Center Standard.Use Azure Security Center to get a central view of the security state of your Azure resources. Security Center monitors potential security issues and provides a comprehensive picture of the security health of your deployment. Security Center is configured per Azure subscription. 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. Uso definições de política de grupo na VM para ativar atualizações automáticas do sistema.Use Group Policy settings 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) to control access to Azure resources. RBAC lets you assign authorization roles to members of your DevOps team. For example, the Reader role can view Azure resources but not create, manage, or delete them. Some permissions are specific to an Azure resource type. For example, the Virtual Machine Contributor role can restart or deallocate a VM, reset the administrator password, create a new VM, and so on. Other built-in RBAC roles que podem ser úteis para esta arquitetura incluem [utilizador de DevTest Labs][rbac devtest] e Contribuinte de rede.Use role-based access control (RBAC) to control access to Azure resources. RBAC lets you assign authorization roles to members of your DevOps team. For example, the Reader role can view Azure resources but not create, manage, or delete them. Some permissions are specific to an Azure resource type. For example, the Virtual Machine Contributor role can restart or deallocate a VM, reset the administrator password, create a new VM, and so on. 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. Uso registos de auditoria para ver ações de aprovisionamento e outros eventos VM.Use audit logs to see provisioning actions and other VM events.

Encriptação de dados.Data encryption. Uso do Azure 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