2024-05-06

日: 2024-05-05 | 2024-05-07
週: 2024-04-29 | 2024-05-13
月: 2024-04-06 | 2024-06-06
年: 2023-05-06 | 2025-05-06

  • 14:07 Ansibleで自動的に展開したHyper-V上のVMに自動的にArcにオンボードさせようと思ったらansibleのプレイブックが用意されていたからそれをそのまま使ってみたら色々と動かない。むむー。

  • 14:18 というか、そもそも、きちんと書かれてないのか‥。なぜこうなった。

  • 15:22
    とりあえず下記のような感じにしてうまく動くようになった。

    - name: Collect facts
    
      setup:
    
      
    
    - name: Check if the Azure Connected Machine Agent is downloaded
    
      win_stat:
    
        path: C:\AzureConnectedMachineAgent.msi
    
      register: azcmagent_win_downloaded
    
      
    
    - name: Windows サーバーに接続コンピューター エージェントをダウンロードする
    
      win_get_url:
    
        url: https://aka.ms/AzureConnectedMachineAgent
    
        dest: C:\AzureConnectedMachineAgent.msi
    
      when: (ansible_os_family == 'Windows') and (not azcmagent_win_downloaded.stat.exists)
    
      
    
    - name: Check if the Azure Connected Machine Agent is downloaded
    
      win_stat:
    
        path: C:\AzureConnectedMachineAgent.msi
    
      register: azcmagent_win_downloaded
    
      
    
    - name: Windows サーバーに接続コンピューター エージェントをインストールする
    
      win_package:
    
        path: C:\AzureConnectedMachineAgent.msi
    
      when: (ansible_os_family == 'Windows') and (azcmagent_win_downloaded.stat.exists)
    
      
    
    - name: 接続コンピューター エージェントが既に接続されているかどうかを確認する
    
      win_command: azcmagent check
    
      register: azcmagent_win_connected
    
      when: ansible_os_family == 'Windows'
    
      ignore_errors: yes
    
      failed_when: (azcmagent_win_connected.rc not in [ 0, 16 ])
    
      changed_when: False
    
      
    
    - name: Windows サーバー上の接続コンピューター エージェントを Azure Arc に接続する
    
      win_shell: '& $env:ProgramFiles\AzureConnectedMachineAgent\azcmagent.exe connect --service-principal-id "{{ azure.service_principal_id }}" --service-principal-secret "{{ azure.service_principal_secret }}" --resource-group "{{ azure.resource_group }}" --tenant-id "{{ azure.tenant_id }}" --location "{{ azure.location }}" --subscription-id "{{ azure.subscription_id }}"'
    
      when: (ansible_os_family == 'Windows') and (azcmagent_win_connected.rc is defined and azcmagent_win_connected.rc != 0)
    
      
    
    - name: Reboot
    
      win_reboot:
    
      when: res.reboot_required
    
  • 15:32 これで、テキストファイルに構成を書いてコマンド一発叩けばWindows群が展開され、ADが構築され、Azure ArcでAzureから管理できるようになった。良きかな。