Skip to content

Repository with samples for Terraform/Ansible/Powershell related to Microsoft Azure

License

Notifications You must be signed in to change notification settings

EtienneDeneuve/Azure

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Azure

Pour utiliser les scripts Ansible ou Terraform, un Service Principal dans Azure est nécessaire.
Si vous ne savez pas le faire, voici un article sur le blog de Stanislas Quastana.

1. Ansible

Le dossier contiens des playbook Ansible pour Azure

Si vous n'avez pas de compte sur Azure creer un compte gratuit ici

1. ansible_playbook_azure_inventory.yml

Ce playbook permet de verifier si le SDK Pyton Azure est bien configuré.

Il faut telecharger les fichier "azure_rm.py" et "azure_rm.ini" depuis le repo git de Ansible ou utiliser mon script d'instalation ici

Syntaxe :

  ansible-playbook -i azure_rm.py ansible_playbook_azure_inventory.yml 

2. ansible_playbook_azure_create_vm.yml

Dans le playbook vous devez indiquer une machine avec les modules Azure a la ligne "hosts" et qui doit etre presente dans /etc/ansible/hosts

Ce playbook cree une machine virtuelle dans Azure. Syntaxe :

  ansible-playbook ansible_playbook_azure_create_vm.yml --syntax-check
  ansible-playbook ansible_playbook_azure_create_vm.yml --check
  ansible-playbook ansible_playbook_azure_create_vm.yml

2. Powershell

Le dossier Powershell contiens quelques scripts pour Azure en Powershell.

1. Get-cAzureSubscription Function :

PS C:\WINDOWS\system32> Get-cAzureSubscription
Azure connected successfully
Select the subscription for the azure backup deployement
Subscription 1 :

         Subscription Name
         XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX
         XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX


Subscription 2 :

         Subscription Name
         XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX
         XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX


What is the Id of the subscription?

1
Here is the Subscription choosed :

         Subscription Name
         XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX
         XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX

3. Terraform Folder

1. IaaS

Le dossier contient des fichiers terraform pour Azure en mode quick & dirty, je vous recommande de ne pas les utiliser tels quels en production sans les rendre secure !

1. TF-Ubuntu-16.04-LTS

Deploie une machine Ubuntu 16.04 LTS dans un Ressource Group avec :

  • 1 Vnet
  • 1 Subnet
  • 1 Public ip
  • 1 Network Security Group
  • 1 Network Interface
  • 1 Storage account
  • 1 Availability Set
  • 1 Storage Container
  • 1 Machine Virtuelle

Example usage :

  terraform plan TF-Ubuntu-16.04-LTS
  terraform apply TF-Ubuntu-16.04-LTS

2. Ansible

Le dossier Ansible contient un fichier Terraform pour créer une machine virtuelle dans Azure, installer et configurer Ansible dans celle-ci

Vous devez modifier le fichier TF a deux endroit :

  • Ligne 2 a 5 : il est necessaire de mettre des " "
provider "azurerm" {
 subscription_id = "<subscription_id>"
 client_id       = "<client_id>"
 client_secret   = "<secret>"
 tenant_id       = "<tenant_id>"
}
  • Ligne 163 : il ne faut pas de " "
 settings = <<SETTINGS
{
   "fileUris": ["https://raw.githubusercontent.com/EtienneDeneuve/Azure/master/Terraform/02%20-%20Ansible/ansible.sh"],
   "commandToExecute": "sh ansible.sh -s <subscription_id> -c <client_id> -k <secret> -t <tenant_id>",
   "timestamp": "19"
}
SETTINGS

3. Note

  • Le script ansible.sh est utilisable séparément.

Utilisation :

  cd /tmp/ 
  wget https://raw.githubusercontent.com/EtienneDeneuve/Azure/master/Terraform/02%20-%20Ansible/ansible.sh
  chmod +x ansible.sh
  ./ansible -s YOUR-SUBSCRIPTION-XXXX-XXXX-XXXX \ 
    -c CLIENT-ID-VIA-SERVICE-PRINCIPAL \ 
    -k SECURITY_KEY \ 
    -t TENANT_ID

About

Repository with samples for Terraform/Ansible/Powershell related to Microsoft Azure

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published