Creare una macchina virtuale di base in Azure con AnsibleCreate a basic virtual machine in Azure with Ansible

Ansible consente di automatizzare la distribuzione e la configurazione delle risorse nell'ambiente in uso.Ansible allows you to automate the deployment and configuration of resources in your environment. È possibile usare Ansible per gestire le macchine virtuali in Azure, così come si farebbe con qualsiasi altra risorsa.You can use Ansible to manage your virtual machines (VMs) in Azure, the same as you would any other resource. Questo articolo mostra come creare una macchina virtuale di base con Ansible.This article shows you how to create a basic VM with Ansible. È anche possibile capire come Creare un ambiente completo della macchina virtuale con Ansible.You can also learn how to Create a complete VM environment with Ansible.

PrerequisitiPrerequisites

Per gestire le risorse di Azure con Ansible, è necessario:To manage Azure resources with Ansible, you need the following:

Creare risorse di supporto di AzureCreate supporting Azure resources

In questo esempio, si crea un runbook che consente di distribuire una macchina virtuale in un'infrastruttura esistente.In this example, you create a runbook that deploys a VM into an existing infrastructure. Creare prima un gruppo di risorse con az group create.First, create resource group with az group create. L'esempio seguente crea un gruppo di risorse denominato myResourceGroup nella posizione eastus:The following example creates a resource group named myResourceGroup in the eastus location:

az group create --name myResourceGroup --location eastus

Creare una rete virtuale per la macchina virtuale con az network vnet create.Create a virtual network for your VM with az network vnet create. L'esempio seguente crea una rete virtuale denominata myVnet e una subnet denominata mySubnet:The following example creates a virtual network named myVnet and a subnet named mySubnet:

az network vnet create \
  --resource-group myResourceGroup \
  --name myVnet \
  --address-prefix 10.0.0.0/16 \
  --subnet-name mySubnet \
  --subnet-prefix 10.0.1.0/24

Creare ed eseguire il playbook AnsibleCreate and run Ansible playbook

Creare un playbook Ansible denominato azure_create_vm.yml e incollarvi i contenuti seguenti.Create an Ansible playbook named azure_create_vm.yml and paste the following contents. In questo esempio viene creata una singola macchina virtuale e vengono configurate le credenziali SSH.This example creates a single VM and configures SSH credentials. Immettere i propri dati di chiave pubblici completati nel key_data coppia come indicato di seguito:Enter your own complete public key data in the key_data pair as follows:

- name: Create Azure VM
  hosts: localhost
  connection: local
  tasks:
  - name: Create VM
    azure_rm_virtualmachine:
      resource_group: myResourceGroup
      name: myVM
      vm_size: Standard_DS1_v2
      admin_username: azureuser
      ssh_password_enabled: false
      ssh_public_keys: 
        - path: /home/azureuser/.ssh/authorized_keys
          key_data: "ssh-rsa AAAAB3Nz{snip}hwhqT9h"
      image:
        offer: CentOS
        publisher: OpenLogic
        sku: '7.3'
        version: latest

Per creare la macchina virtuale con Ansible, eseguire il playbook come segue:To create the VM with Ansible, run the playbook as follows:

ansible-playbook azure_create_vm.yml

L'output è simile all'esempio seguente che mostra che la macchina virtuale è stata creata correttamente:The output looks similar to the following example that shows the VM has been successfully created:

PLAY [Create Azure VM] ****************************************************

TASK [Gathering Facts] ****************************************************
ok: [localhost]

TASK [Create VM] **********************************************************
changed: [localhost]

PLAY RECAP ****************************************************************
localhost                  : ok=2    changed=1    unreachable=0    failed=0

Passaggi successiviNext steps

Questo esempio crea una macchina virtuale in un gruppo di risorse esistente e con una rete virtuale già distribuita.This example creates a VM in an existing resource group and with a virtual network already deployed. Per un esempio più dettagliato su come usare Ansible per creare le risorse di supporto, ad esempio le regole per una rete virtuale e per il gruppo di sicurezza di rete, vedere Creare un ambiente completo per la macchina virtuale con Ansible.For a more detailed example on how to use Ansible to create supporting resources such as a virtual network and Network Security Group rules, see Create a complete VM environment with Ansible.