パラメータと使い方をメモしています。(version 2.0.0)
Azure も含めての利用方法はこちら Ansible で Azure 上にプロビジョニング!
Inventory
インベントリ(hosts)
127.0.0.1 ansible_connection=local
Playbook
プレイブック(playbook.yml)
---
- hosts: localhost
gather_facts: no
tasks:
- name: Create Virtual Machine on Azure (for Windows)
azure:
auto_updates: no
enable_winrm: yes
endpoints: "3389" #
image: 'bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2012R2-x64-v14.2'
location: 'Japan West'
management_cert_path: /home/vagrant/azure/manage.cer
hostname: hogehoge
name: hogehoge
os_type: windows
user: azureuser
password: "Password_123"
role_size: Basic_A2
state: present
storage_account:
subscription_id:
Azure モジュール
Python Azure モジュール用意
Ansible で用意されている Azure モジュールは以下の環境でサポート。
- Pyhon >= 2.6
- Python azure module >= 0.8.0 (Ansible マニュアルは少し古い情報)
追加で Python の Azure モジュールをインストールしておく。
Ansible Azure モジュールパラメータ
以下は、必須および指定しておいたほうが良いパラメータをBoldとしている。
- auto_update
- 自動アップデートの有無
-
enable_winrm
- winrm の有効化(これは基本的に yes 、デフォルトも yes)
-
endpoints
- 外から仮想マシンへアクセス可能にするTCPポートを指定(カンマで複数可能、デフォルト
- パブリックとプライベートで同じポート番号になる
-
hostname
- /etc/hostname に書かれる、.cloudapp.net の name 部
-
image
- 仮想マシンのイメージIDを指定(Azure CLI にて
azure vm image list
で確認可能)
- 仮想マシンのイメージIDを指定(Azure CLI にて
-
location
- 仮想マシンを稼働させるロケーション指定(Azure CLI にて
azure vm location list
で確認可能)
- 仮想マシンを稼働させるロケーション指定(Azure CLI にて
-
management_cert_path
- 管理証明書のパスを指定(環境変数 AZURE_CERT_PATH で指定することも可能)
-
name
- 仮想マシンと関連するクラウドサービスの名前を指定
-
os_type
- OSタイプ windows or linux
- password
- Linux 仮想マシンのパスワード
- reset_pass_atlogon
- Windows 仮想マシンへ最初のログインの際に管理者バスワードをリセットするか否か
- ResetPasswordOnFirstLogon パラメータは廃止されているため利用不可 (Fixed)
-
role_size
- 仮想マシンのスペック(ここで確認)
- ssh_cert_path
- 仮想マシンにインストールするためのSSH公開鍵を含むX509証明書のパスを指定
-
state
- 仮想マシンを作るのか消すか(デフォルトは present)
-
storage_account
- Azure のストレージアカウント名
-
subscription_id
- Azure のサブスクリプションID(環境変数 AZURE_SUBSCRIPTION_ID で指定することも可能)
- user
- Linux 仮想マシンのユーザ名
- virtual_network_name
- 仮想ネットワーク名
- wait
- Running 状態になるまでに待つか否か
- wait_timeout
- どのくらい待つか(秒、デフォルトは600)
- wait_timeout_redirects
- リダイレクトのためにどのくらい待つか(秒、デフォルトは300)
Ansible 実行
$ ansible-playbook -i hosts playbook.yml