Menggunakan rencana Terraform untuk menyebarkan instans Google Cloud Platform Windows dan menyambungkannya ke Azure Arc

Artikel ini memberikan panduan untuk menggunakan paket Terraform yang disediakan untuk menerapkan instans Windows Server Google Cloud Platform (GCP) dan menghubungkannya sebagai sumber daya server berkemampuan Azure Arc.

Prasyarat

  1. Kloning repositori Azure Arc Jumpstart.

    git clone https://github.com/microsoft/azure_arc.git
    
  2. Pasang atau perbarui Azure CLI ke versi 2.7 dan setelahnya. Gunakan perintah berikut untuk memeriksa versi terinstal Anda saat ini.

    az --version
    
  3. Memasang Terraform >= 0,12

  4. Akun Google Cloud Platform dengan tagihan diaktifkan:Membuat akun uji coba gratis. Untuk membuat komputer virtual Windows Server, Anda harus meningkatkan akun Anda untuk mengaktifkan penagihan. Pilih Tagihan dari menu lalu pilih Peningkatan di kanan bawah.

    First screenshot showing how to enable billing on a GCP account.

    Second screenshot showing how to enable billing on a GCP account.

    Third screenshot showing how to enable billing on a GCP account.

    Pengelakan: Untuk mencegah biaya tak terduga, ikuti bagian "hapus penyebaran" di akhir artikel ini.

  5. Membuat Prinsipal Layanan Azure.

    Untuk menyambungkan mesin virtual GCP ke Azure Arc, diperlukan perwakilan layanan Azure yang ditetapkan dengan peran Kontributor. Untuk membuatnya, masuk ke akun Azure Anda dan jalankan perintah berikut. Anda juga dapat menjalankan perintah ini di Azure Cloud Shell.

    az login
    az account set -s <Your Subscription ID>
    az ad sp create-for-rbac -n "<Unique SP Name>" --role contributor --scopes "/subscriptions/<Your Subscription ID>"
    

    Misalnya:

    az ad sp create-for-rbac -n "http://AzureArcGCP" --role contributor --scopes "/subscriptions/00000000-0000-0000-0000-000000000000"
    

    Output akan terlihat seperti ini:

    {
      "appId": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX",
      "displayName": "http://AzureArcGCP",
      "password": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX",
      "tenant": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX"
    }
    

    Catatan

    Kami sangat menyarankan agar Anda memasukkan prinsipal layanan ke langganan Azure dan grup sumber daya tertentu.

Membuat proyek GCP baru

  1. Telusur konsol Google API dan masuk dengan akun Google Anda. Setelah masuk, buat proyek baru bernama Azure Arc demo. Setelah membuatnya, pastikan untuk menyalin ID proyek karena biasanya berbeda dari nama proyek.

    First screenshot of the New Project page in the GCP console.

    Second screenshot of the New Project page in the GCP console.

  2. Setelah proyek baru dibuat dan dipilih dalam daftar dropdown di bagian atas halaman, Anda harus mengaktifkan akses API mesin komputasi untuk proyek. Klik + Aktifkan API dan Layanan dan cari mesin komputasi. Kemudian pilih Aktifkan untuk mengaktifkan akses API.

    First screenshot of Compute Engine API in the GCP console.

    Second screenshot of Compute Engine API in the GCP console.

  3. Selanjutnya, siapkan kunci akun layanan, yang akan digunakan Terraform untuk membuat dan mengelola sumber daya dalam proyek GCP Anda. Buka halaman buat kunci akun layanan. Pilih Akun Layanan Baru dari daftar dropdown, masukkan nama, pilih proyek lalu atur pemilik sebagai peran, JSON sebagai jenis kunci, dan pilih Buat. Langkah ini mengunduh file JSON dengan semua info masuk yang diperlukan untuk Terraform untuk mengelola sumber daya. Salin file JSON yang diunduh ke direktori azure_arc_servers_jumpstart/gcp/windows/terraform.

    A screenshot of how to create a service account in the GCP console.

Penyebaran

Sebelum menjalankan rencana Terraform, Anda harus mengatur dan kemudian mengekspor variabel lingkungan yang akan digunakan oleh perencanaan. Variabel-variabel ini didasarkan pada perwakilan layanan Azure yang baru saja Anda buat, langganan dan penyewa Azure Anda, dan nama proyek GCP.

  1. Ambil ID langganan Azure dan ID penyewa Anda menggunakan perintah az account list.

  2. Paket Terraform menciptakan sumber daya di Microsoft Azure dan Google Cloud Platform. Kemudian mengeksekusi skrip pada mesin virtual GCP untuk memasang agen Azure Arc dan semua artefak yang diperlukan. Skrip ini memerlukan informasi tertentu tentang GCP dan lingkungan Azure Anda. Edit scripts/vars.sh dan perbarui setiap variabel dengan nilai yang sesuai.

    • TF_VAR_subscription_id = ID langganan Azure Anda
    • TF_VAR_client_id = ID aplikasi perwakilan layanan Azure Anda
    • TF_VAR_client_secret = kata sandi perwakilan layanan Azure Anda
    • TF_VAR_tenant_id = ID penyewa Azure Anda
    • TF_VAR_gcp_project_id = ID proyek GCP
    • TF_VAR_gcp_credentials_filename = Nama file JSON info masuk GCP
  3. Dari CLI, navigasikan ke direktori azure_arc_servers_jumpstart/gcp/windows/terraform repositori terkloning.

  4. Ekspor variabel lingkungan yang Anda edit dengan menjalankan scripts/vars.sh dengan perintah sumber seperti yang ditunjukkan di bawah. Terraform mengharuskan variabel ini diatur agar rencana dapat dijalankan dengan benar.

    source ./scripts/vars.sh
    
  5. Jalankan perintah terraform init yang akan mengunduh penyedia Terraform AzureRM.

    A screenshot of the terraform init command.

  6. Selanjutnya, jalankan perintah terraform apply --auto-approve dan tunggu sampai rencana selesai. Setelah menyelesaikan skrip Terraform, Anda akan menyebarkan mesin virtual GCP Windows Server 2019 dan memulai skrip untuk mengunduh agen Azure Arc ke mesin virtual dan menghubungkan mesin virtual sebagai server baru yang mendukung kemampuan Azure Arc di dalam grup sumber daya Azure yang baru. Hal ini akan memakan waktu beberapa menit bagi agen untuk menyelesaikan provisi, jadi ambil secangkir kopi Anda.

    A screenshot of the terraform apply command.

  7. Setelah beberapa menit, Anda harus dapat membuka portal Microsoft Azure dan menavigasikannya ke grup sumber daya arc-gcp-demo. Mesin virtual Windows Server yang dibuat di GCP akan terlihat sebagai sumber daya.

    A screenshot of an Azure Arc-enabled server in the Azure portal.

Penyebaran semi otomatis (opsional)

Paket Terraform secara otomatis menginstal agen Azure Arc dan menghubungkan mesin virtual ke Azure sebagai sumber daya terkelola dengan menjalankan skrip PowerShell saat mesin virtual pertama kali di-boot.

A screenshot of the azcmagent connect command.

Jika Anda ingin mendemo/mengontrol proses pendaftaran yang sebenarnya, lakukan hal berikut:

  1. Sebelum menjalankan perintah terraform apply, buka main.tf dan beri komentar baris windows-startup-script-ps1 = local-file.install_arc_agent-ps1.content dan simpan file.

    A screenshot showing main.tf being commented out to disable automatic onboarding of an Azure Arc agent.

  2. Jalankan terraform apply --auto-approve seperti yang diinstruksikan di atas.

  3. Buka konsol GCP dan navigasikan ke halaman instans komputasi, lalu pilih mesin virtual yang dibuat.

    A screenshot of a server in the GCP console.

    A screenshot showing how to reset a password for a Windows Server in the GCP console.

  4. Buat pengguna dan kata sandi untuk mesin virtual dengan memilih Atur Kata Sandi dan tentukan nama pengguna.

    A screenshot showing how to set a username and password for a Windows Server in the GCP console.

  5. RDP ke mesin virtual dengan memilih tombol RDP dari halaman mesin virtual di konsol GCP, dan masuk dengan nama pengguna dan kata sandi yang baru saja Anda buat.

    A screenshot showing how to RDP into a GCP instance.

  6. Setelah masuk, buka PowerShell ISE sebagai Administrator. Pastikan Anda menjalankan PowerShell ISE versi x64, bukan versi x86. Setelah dibuka, pilih File > Baru untuk membuat file .ps1 kosong. Kemudian tempelkan seluruh isi ./scripts/install_arc_agent.ps1. Klik tombol putar untuk menjalankan skrip. Setelah selesai, Anda akan melihat output yang menunjukkan onboarding mesin sukses.

    Screenshot showing the Windows PowerShell integrated scripting environment with an Azure Arc agent connection script.

Menghapus penyebaran

Untuk menghapus semua sumber daya yang Anda buat sebagai bagian dari demo ini, gunakan perintah terraform destroy --auto-approve seperti yang ditunjukkan di bawah ini.

A screenshot of the terraform destroy command.

Atau, Anda dapat menghapus mesin virtual GCP langsung dari konsol GCP.

A screenshot showing how to delete a virtual machine from the GCP console.