見出し画像

テキストにテスト環境の構成を書けば全自動でActiveDirectoryが複数台のDCで構成され、メンバーサーバーがドメイン参加し、すべてAzure Arcで管理されるようにしました。

件名の通りです。こういう環境を何度も繰り返し作成するのでNested Hyper-V上で何度も繰り返し環境構築が自動的に行えるようにしています。今回は展開したサーバー群をAzure Arc Enabled Serversにするように追加で構成しました。

元々環境構築をAnsibleで行っているのでAzure Arcへの接続もAnsibleで行うようにしました。

で、実際にやろうとするとAzure 管理ポータルでAnsibleでの構成例が表示されるのでそれを使えば一発で簡単に…と思ったら色々と上手く動きませんでした。単純に間違ったコードが例として表示されてしまっているようです。

表示されるのはこちら。

---
- name: "パブリック エンドポイント 接続を使用して Azure Arc 対応サーバーに Windows 台のサーバーをオンボードする"
  hosts: all
  vars:
    azure:
      service_principal_id: ''
      service_principal_secret: 'INSERT-SERVICE-PRINCIPAL-SECRET'
      resource_group: ''
      tenant_id: ''
      subscription_id: ''
      location: 'japaneast'
  tasks:
- 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: Windows 台のサーバーに接続コンピューター エージェントをインストールする
  win_package:
  path: C:\AzureConnectedMachineAgent.msi
  when: (ansible_os_family == 'Windows') and (not azcmagent_win_downloaded.stat.exists)

- name: 接続コンピューター エージェントが既に Windows に接続されているかどうかを確認する
  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\AzureConnectedMachine\Agentazcmagent.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)

改めでですけど、これを実行してもうまく動きません。そもそも「Windows 台のサーバー」とかなんだか変なことが書いてありますし「Agentazcmagent.exe」なんていう実行ファイル無いですからね…。

で、色々と修正しつつ、私の既存のコードに追加したのはこちら。

ここから先は

1,813字

¥ 200

この記事が気に入ったらサポートをしてみませんか?