Ansible を使用して Azure で Linux 仮想マシンを管理する

Ansible を使用すると、環境でのリソースの展開と構成を自動化することができます。 この記事では、Ansible プレイブックを使って Linux 仮想マシンの起動と停止を行います。

前提条件

  • Azure サブスクリプション:Azure サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。

仮想マシンの停止

このセクションでは、Ansible を使って Azure 仮想マシンの割り当て解除 (停止) を行います。

  1. Azure portal にサインインします。

  2. Cloud Shell を開きます。

  3. azure-vm-stop.yml という名前のファイルを作成し、エディターで開きます。

    code azure-vm-stop.yml
    
  4. 以下のサンプル コードをエディターに貼り付けます。

    - name: Stop Azure VM
      hosts: localhost
      connection: local
      tasks:
        - name: Stop virtual machine
          azure_rm_virtualmachine:
            resource_group: {{ resource_group_name }}
            name: {{ vm_name }}
            allocated: no
    
  5. {{ resource_group_name }} および {{ vm_name }} プレースホルダーを、実際の値に置き換えます。

  6. ファイルを保存し、エディターを終了します。

  7. ansible-playbook を使用してプレイブックを実行します

    ansible-playbook azure-vm-stop.yml
    
  8. プレイブックを実行すると、次の結果のような出力が表示されます。

    PLAY [Stop Azure VM] ********************************************************
    
    TASK [Gathering Facts] ******************************************************
    ok: [localhost]
    
    TASK [Deallocate the Virtual Machine] ***************************************
    changed: [localhost]
    
    PLAY RECAP ******************************************************************
    localhost                  : ok=2    changed=1    unreachable=0    failed=0
    

仮想マシンの起動

このセクションでは、割り当て解除 (停止) された Azure 仮想マシンを、Ansible を使って起動します。

  1. Azure portal にサインインします。

  2. Cloud Shell を開きます。

  3. azure-vm-start.yml という名前のファイルを作成し、エディターで開きます。

    code azure-vm-start.yml
    
  4. 以下のサンプル コードをエディターに貼り付けます。

    - name: Start Azure VM
      hosts: localhost
      connection: local
      tasks:
        - name: Start virtual machine
          azure_rm_virtualmachine:
            resource_group: {{ resource_group_name }}
            name: {{ vm_name }}
            started: yes
    
  5. {{ resource_group_name }} および {{ vm_name }} プレースホルダーを、実際の値に置き換えます。

  6. ファイルを保存し、エディターを終了します。

  7. ansible-playbook を使用してプレイブックを実行します

    ansible-playbook azure-vm-start.yml
    
  8. プレイブックを実行すると、次の結果のような出力が表示されます。

    PLAY [Start Azure VM] ********************************************************
    
    TASK [Gathering Facts] ******************************************************
    ok: [localhost]
    
    TASK [Start the Virtual Machine] ********************************************
    changed: [localhost]
    
    PLAY RECAP ******************************************************************
    localhost                  : ok=2    changed=1    unreachable=0    failed=0
    

次のステップ