Menyebarkan Mulai/Hentikan VM v2 ke langganan Azure

Lakukan langkah-langkah dalam artikel ini secara berurutan untuk menginstal fitur Mulai/Hentikan VM v2. Setelah menyelesaikan proses persiapan, konfigurasikan jadwal agar sesuai dengan kebutuhan.

Pertimbangan Izin dan Kebijakan

Ingatlah pertimbangan berikut sebelum dan selama penyebaran:

  • Solusi ini memungkinkan pengguna dengan izin kontrol akses berbasis peran (RBAC) yang sesuai pada penyebaran Start/Stop v2 untuk menambahkan, menghapus, dan mengelola jadwal untuk komputer virtual di bawah cakupan instans Start/Stop VM v2. Perilaku ini secara desain. Dalam praktiknya, ini berarti pengguna yang tidak memiliki izin eksplisit pada komputer virtual masih dapat membuat operasi mulai, berhenti, dan autostop pada komputer virtual tersebut ketika mereka memiliki izin untuk memodifikasi solusi Start/Stop v2 yang mengelola komputer virtual.

  • Setiap pengguna yang memiliki akses ke solusi Start/Stop v2 dapat melihat biaya, penghematan, riwayat operasi, dan data lain yang disimpan dalam instans Application Insights yang digunakan oleh aplikasi Start/Stop v2.

  • Saat mengelola solusi Start/Stop v2, Anda harus mempertimbangkan izin pengguna ke solusi Start/Stop v2, terutama saat mereka tidak memiliki izin untuk memodifikasi komputer virtual target secara langsung.

  • Saat Anda menyebarkan solusi Start/Stop v2 ke grup sumber daya baru atau yang sudah ada, tag bernama SolutionName dengan nilai StartStopV2 ditambahkan ke grup sumber daya dan ke sumber dayanya yang disebarkan oleh Start/Stop v2. Tag lain pada sumber daya ini dihapus. Jika Anda memiliki kebijakan Azure yang menolak operasi manajemen berdasarkan tag sumber daya, Anda harus mengizinkan operasi manajemen untuk sumber daya yang hanya berisi tag ini.

Fitur Sebarkan

Penyebaran dimulai dari organisasi GitHub Start/Stop VM v2. Meskipun fitur ini dimaksudkan untuk mengelola semua VM di langganan Anda di semua grup sumber daya dari satu penyebaran dalam langganan, Anda dapat menginstal instans lain berdasarkan model operasi atau persyaratan organisasi Anda. Ini juga dapat dikonfigurasi untuk mengelola VM secara terpusat di beberapa langganan.

Untuk menyederhanakan manajemen dan penghapusan, sebaiknya Anda menyebarkan Mulai/Hentikan VM v2 ke grup sumber daya khusus.

Catatan

Saat ini solusi ini tidak dapat menentukan akun Penyimpanan atau sumber daya Application Insights yang ada.

Catatan

Format penamaan untuk aplikasi fungsi dan akun penyimpanan telah berubah. Untuk menjamin keunikan global, string acak dan unik kini ditambahkan ke nama sumber daya ini.

  1. Buka browser dan navigasi ke Mulai/Hentikan VM v2 organisasi GitHub.

  2. Pilih opsi penyebaran berdasarkan lingkungan cloud Azure tempat Azure VM dibuat.

  3. Jika diminta, masuk ke portal Microsoft Azure.

  4. Pilih Paket yang sesuai dari kotak drop-down. Saat memilih paket Zone Redundant (Start/StopV2-AZ), Anda harus membuat penyebaran di salah satu wilayah berikut:

    • Australia Timur
    • Brasil Selatan
    • Kanada Tengah
    • US Tengah
    • US Timur
    • AS Timur 2
    • Prancis Tengah
    • Jerman Barat Tengah
    • Jepang Timur
    • Eropa Utara
    • Asia Tenggara
    • UK Selatan
    • Eropa Barat
    • US Barat 2
    • AS Barat 3
  5. Pilih Buat, yang membuka halaman penyebaran Azure Resource Manager kustom di portal Azure.

  6. Masukkan nilai berikut:

    Nama Nilai
    Wilayah Pilih wilayah di dekat Anda untuk sumber daya baru.
    Nama Grup Sumber Daya Tentukan nama grup sumber daya yang akan berisi sumber daya perorangan untuk Mulai/Hentikan VM.
    Wilayah Grup Sumber Daya Tentukan wilayah untuk grup sumber daya. Misalnya, US Tengah.
    Nama Aplikasi Fungsi Azure Ketik nama yang valid di jalur URL. Nama yang Anda ketik akan divalidasi untuk memastikan bahwa nama tersebut bersifat unik di Azure Functions.
    Nama Application Insights Tentukan nama instans Application Insights yang akan menyimpan analitik untuk Mulai/Hentikan VM.
    Wilayah Application Insights Tentukan wilayah untuk instans Application Insights.
    Name Akun Penyimpanan Tentukan nama akun Azure Storage untuk menyimpan telemetri eksekusi Mulai/Hentikan VM.
    Alamat Email Tentukan satu atau beberapa alamat email untuk menerima pemberitahuan status, dipisahkan oleh koma (,).

    Start/Stop VMs template deployment configuration

  7. Pilih Tinjau + buat di bagian bawah halaman.

  8. Pilih Buat untuk memulai penyebaran.

  9. Pilih ikon bel (pemberitahuan) dari bagian atas layar untuk melihat status penyebaran. Anda akan melihat Penyebaran sedang berlangsung. Tunggu hingga penyebaran selesai.

  10. Pilih Masuk ke grup sumber daya dari panel pemberitahuan. Anda akan melihat layar yang mirip dengan:

    Start/Stop VMs template deployment resource list

Catatan

Kami mengumpulkan telemetri operasi dan heartbeat untuk membantu Anda dengan lebih baik jika Anda menghubungi tim dukungan untuk pemecahan masalah apa pun. Kami juga mengumpulkan riwayat peristiwa komputer virtual untuk memverifikasi kapan layanan bertindak pada komputer virtual dan berapa lama komputer virtual ditunda untuk menentukan efektivitas layanan.

Mengaktifkan beberapa langganan

Setelah penyebaran Mulai/Hentikan selesai, lakukan langkah-langkah berikut agar Mulai/Hentikan VM v2 dapat berfungsi di beberapa langganan.

  1. Salin nilai untuk nama Azure Function App yang Anda tentukan selama penyebaran.

  2. Di portal Azure, navigasikan ke langganan sekunder Anda.

  3. Pilih Kontrol akses (IAM).

  4. Pilih Tambahkan>Tambahkan penetapan peran untuk membuka halaman Tambahkan penetapan peran.

  5. Tetapkan peran berikut. Untuk langkah-langkah mendetail, lihat Menetapkan peran Azure menggunakan portal Azure.

    Pengaturan Nilai
    Peran Kontributor
    Tetapkan akses ke Pengguna, grup, atau perwakilan layanan
    Anggota <Nama Aplikasi Azure Function Anda>

    Screenshot showing Add role assignment page in Azure portal.

Mengonfigurasi gambaran umum jadwal

Untuk mengelola metode otomatisasi untuk mengontrol awal dan akhir VM, Anda mengonfigurasi satu atau beberapa aplikasi logika yang disertakan berdasarkan kebutuhan Anda.

  • Terjadwal - Tindakan mulai dan hentikan didasarkan pada jadwal yang Anda tentukan terhadap Azure Resource Manager dan mesin virtual klasik. ststv2_vms_Scheduled_start dan ststv2_vms_Scheduled_stop mengonfigurasi mulai dan hentikan terjadwal.

  • Berurutan - Tindakan mulai dan hentikan didasarkan pada mesin virtual penargetan jadwal dengan tag urutan yang telah ditentukan sebelumnya. Hanya dua tag bernama yang didukung - sequencestart dan sequencestop. ststv2_vms_Sequenced_start dan ststv2_vms_Sequenced_stop mengonfigurasi mulai dan hentikan berurutan.

    Catatan

    Skenario ini hanya mendukung Azure Resource Manager VM.

  • Hentikan Otomatis - Fungsionalitas ini hanya digunakan untuk melakukan tindakan hentikan terhadap Azure Resource Manager dan mesin virtual klasik berdasarkan pemanfaatan CPU-nya. Ini juga dapat menjadi tindakan ambil berbasis terjadwal, yang membuat peringatan di VM dan berdasarkan kondisi, peringatan dipicu untuk melakukan tindakan hentikan. ststv2_vms_AutoStop mengonfigurasi fungsi hentikan otomatis.

Jika Anda memerlukan jadwal tambahan, Anda dapat menduplikatkan salah satu Logic Apps yang disediakan menggunakan opsi Kloning di portal Microsoft Azure.

Select the Clone option to duplicate a logic app

Skenario mulai dan hentikan terjadwal

Lakukan langkah-langkah berikut untuk mengonfigurasi tindakan mulai dan berhenti terjadwal untuk Azure Resource Manager dan VM klasik. Misalnya, Anda dapat mengonfigurasi jadwalststv2_vms_Scheduled_start untuk memulainya pada pagi hari ketika berada di kantor, dan menghentikan semua VM di seluruh langganan saat Anda meninggalkan pekerjaan pada malam hari berdasarkan ststv2_vms_Scheduled_stop.

Mengonfigurasi aplikasi logika untuk memulai VM didukung.

Untuk setiap skenario, Anda dapat menargetkan tindakan terhadap satu atau beberapa langganan, satu atau beberapa grup sumber daya, dan menentukan satu atau beberapa VM dalam daftar penyertaan atau pengecualian. Anda tidak dapat menentukannya bersama-sama dalam aplikasi logika yang sama.

  1. Masuk ke portal Microsoft Azure lalu navigasi ke aplikasi Logika.

  2. Dari daftar aplikasi Logika, untuk mengonfigurasi mulai terjadwal, pilih ststv2_vms_Scheduled_start. Untuk mengonfigurasi berhenti terjadwal, pilih ststv2_vms_Scheduled_stop.

  3. Pilih Desainer aplikasi logika dari panel sebelah kiri.

  4. Setelah Desainer Aplikasi Logika, di panel desainer, pilih Pengulangan untuk mengonfigurasi jadwal aplikasi logika. Untuk mempelajari tentang opsi pengulangan tertentu, lihat Menjadwalkan tugas berulang.

    Configure the recurrence frequency for logic app

  5. Di panel desainer, pilih Function-Try untuk mengonfigurasi pengaturan target. Di isi permintaan, jika Anda ingin mengelola VM di semua grup sumber daya dalam langganan, ubah isi permintaan seperti yang ditunjukkan dalam contoh berikut.

    {
      "Action": "start",
      "EnableClassic": false,
      "RequestScopes": {
        "ExcludedVMLists": [],
        "Subscriptions": [
          "/subscriptions/12345678-1234-5678-1234-123456781234/"
        ]
     }
    }
    

    Tentukan beberapa langganan dalam array subscriptions dengan setiap nilai dipisahkan oleh koma seperti dalam contoh berikut.

    "Subscriptions": [
          "/subscriptions/12345678-1234-5678-1234-123456781234/",
          "/subscriptions/11111111-0000-1111-2222-444444444444/"
        ]
    

    Di isi permintaan, jika Anda ingin mengelola VM untuk grup sumber daya tertentu, ubah isi permintaan seperti yang ditunjukkan dalam contoh berikut. Setiap jalur sumber daya yang ditentukan harus dipisahkan oleh koma. Anda dapat menentukan satu grup sumber daya atau lebih jika diperlukan.

    Contoh ini juga menunjukkan tidak termasuk komputer virtual. Anda dapat mengecualikan VM dengan menentukan jalur sumber daya VM atau dengan kartubebas.

    {
      "Action": "start",
      "EnableClassic": false,
      "RequestScopes": {
        "Subscriptions": [
          "/subscriptions/12345678-1234-5678-1234-123456781234/",
          "/subscriptions/11111111-0000-1111-2222-444444444444/"
         ],
        "ResourceGroups": [
          "/subscriptions/12345678-1234-5678-1234-123456781234/resourceGroups/rg1/",
          "/subscriptions/11111111-0000-1111-2222-444444444444/resourceGroups/rg2/"
        ],
        "ExcludedVMLists": [
         "/subscriptions/12345678-1234-5678-1234-123456781234/resourceGroups/vmrg1/providers/Microsoft.Compute/virtualMachines/vm1"
        ]
      }
    }
    

    Di sini tindakan akan dilakukan di semua VM kecuali pada nama VM dimulai dengan Az dan Bz di kedua langganan.

    {
      "Action": "start",
      "EnableClassic": false,
      "RequestScopes": {
        "ExcludedVMLists": [“Az*”,“Bz*”],
       "Subscriptions": [
          "/subscriptions/12345678-1234-5678-1234-123456781234/",
          "/subscriptions/11111111-0000-1111-2222-444444444444/"
    
        ]
      }
    }
    

    Di isi permintaan, jika Anda ingin mengelola sekumpulan VM tertentu dalam langganan, ubah isi permintaan seperti yang ditunjukkan dalam contoh berikut. Setiap jalur sumber daya yang ditentukan harus dipisahkan oleh koma. Anda dapat menentukan satu VM jika diperlukan.

    {
      "Action": "start",
      "EnableClassic": false,
      "RequestScopes": {
        "ExcludedVMLists": [],
        "VMLists": [
          "/subscriptions/12345678-1234-5678-1234-123456781234/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm1",
          "/subscriptions/12345678-1234-5678-1234-123456781234/resourceGroups/rg3/providers/Microsoft.Compute/virtualMachines/vm2",
          "/subscriptions/11111111-0000-1111-2222-444444444444/resourceGroups/rg2/providers/Microsoft.ClassicCompute/virtualMachines/vm30"
    
        ]
      }
    }
    
  6. Di panel gambaran umum untuk aplikasi logika, pilih Aktifkan.

Skenario mulai dan berhenti berurutan

Dalam lingkungan yang mencakup dua komponen atau lebih di beberapa Azure Resource Manager VM dalam arsitektur aplikasi terdistribusi, penting untuk mendukung urutan komponen dimulai dan dihentikan. Pastikan Anda telah menerapkan tag sequencestart dan sequencestop ke VM target seperti yang dijelaskan di laman Ikhtisar sebelum mengonfigurasi skenario ini.

  1. Dari daftar aplikasi Logika, untuk mengonfigurasi mulai berurutan, pilih ststv2_vms_Sequenced_start. Untuk mengonfigurasi berhenti berurutan, pilih ststv2_vms_Sequenced_stop.

  2. Pilih Desainer aplikasi logika dari panel sebelah kiri.

  3. Setelah Desainer Aplikasi Logika, di panel desainer, pilih Pengulangan untuk mengonfigurasi jadwal aplikasi logika. Untuk mempelajari tentang opsi pengulangan tertentu, lihat Menjadwalkan tugas berulang.

    Configure the recurrence frequency for logic app

  4. Di panel perancang, pilih Function-Try untuk mengonfigurasi pengaturan target lalu pilih <tombol tampilan /> Code di menu atas untuk mengedit kode untuk elemen Function-Try. Di isi permintaan, jika Anda ingin mengelola VM di semua grup sumber daya dalam langganan, ubah isi permintaan seperti yang ditunjukkan dalam contoh berikut.

    {
      "Action": "start",
      "EnableClassic": false,
      "RequestScopes": {
        "ExcludedVMLists": [],
        "Subscriptions": [
          "/subscriptions/12345678-1234-5678-1234-123456781234/"
        ]
     },
       "Sequenced": true
    }
    

    Tentukan beberapa langganan dalam array subscriptions dengan setiap nilai dipisahkan oleh koma seperti dalam contoh berikut.

    "Subscriptions": [
          "/subscriptions/12345678-1234-5678-1234-123456781234/",
          "/subscriptions/11111111-0000-1111-2222-444444444444/"
        ]
    

    Di isi permintaan, jika Anda ingin mengelola VM untuk grup sumber daya tertentu, ubah isi permintaan seperti yang ditunjukkan dalam contoh berikut. Setiap jalur sumber daya yang ditentukan harus dipisahkan oleh koma. Anda dapat menentukan satu grup sumber daya jika diperlukan.

    Contoh ini juga menunjukkan pengecualian komputer virtual berdasarkan jalur sumber dayanya dibandingkan dengan contoh untuk mulai/hentikan terjadwal, yang menggunakan kartubebas.

    {
      "Action": "start",
      "EnableClassic": false,
      "RequestScopes": {
        "Subscriptions":[
          "/subscriptions/12345678-1234-5678-1234-123456781234/",
          "/subscriptions/11111111-0000-1111-2222-444444444444/"
        ],
        "ResourceGroups": [
          "/subscriptions/12345678-1234-5678-1234-123456781234/resourceGroups/rg1/",
          "/subscriptions/11111111-0000-1111-2222-444444444444/resourceGroups/rg2/"
        ],
        "ExcludedVMLists": [
         "/subscriptions/12345678-1234-5678-1234-123456781234/resourceGroups/vmrg1/providers/Microsoft.Compute/virtualMachines/vm1"
        ]
      },
       "Sequenced": true
    }
    

    Di isi permintaan, jika Anda ingin mengelola sekumpulan VM tertentu dalam langganan, ubah isi permintaan seperti yang ditunjukkan dalam contoh berikut. Setiap jalur sumber daya yang ditentukan harus dipisahkan oleh koma. Anda dapat menentukan satu VM jika diperlukan.

    {
      "Action": "start",
      "EnableClassic": false,
      "RequestScopes": {
        "ExcludedVMLists": [],
        "VMLists": [
          "/subscriptions/12345678-1234-5678-1234-123456781234/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm1",
          "/subscriptions/12345678-1234-5678-1234-123456781234/resourceGroups/rg2/providers/Microsoft.ClassicCompute/virtualMachines/vm2",
          "/subscriptions/11111111-0000-1111-2222-444444444444/resourceGroups/rg2/providers/Microsoft.ClassicCompute/virtualMachines/vm30"
        ]
      },
       "Sequenced": true
    }
    

Skenario berhenti otomatis

Mulai/Hentikan VM v2 dapat membantu mengelola biaya dalam menjalankan Azure Resource Manager dan VM klasik di langganan. Caranya, fitur akan mengevaluasi mesin yang tidak digunakan selama periode nonpuncak, seperti setelah jam kerja, dan secara otomatis mematikannya jika pemanfaatan prosesor kurang dari persentase yang ditentukan.

Properti peringatan metrik berikut dalam kustomisasi dukungan isi permintaan:

  • AutoStop_MetricName
  • AutoStop_Condition
  • AutoStop_Threshold
  • AutoStop_Description
  • AutoStop_Frequency
  • AutoStop_Severity
  • AutoStop_Threshold
  • AutoStop_TimeAggregationOperator
  • AutoStop_TimeWindow

Untuk mempelajari selengkapnya tentang cara kerja pemberitahuan metrik Azure Monitor dan cara mengonfigurasinya, lihat Pemberitahuan metrik di Azure Monitor.

  1. Dari daftar aplikasi Logika, untuk mengonfigurasi hentikan otomatis, pilih ststv2_vms_AutoStop.

  2. Pilih Desainer aplikasi logika dari panel sebelah kiri.

  3. Setelah Desainer Aplikasi Logika, di panel desainer, pilih Pengulangan untuk mengonfigurasi jadwal aplikasi logika. Untuk mempelajari tentang opsi pengulangan tertentu, lihat Menjadwalkan tugas berulang.

    Configure the recurrence frequency for logic app

  4. Di panel desainer, pilih Function-Try untuk mengonfigurasi pengaturan target. Di isi permintaan, jika Anda ingin mengelola VM di semua grup sumber daya dalam langganan, ubah isi permintaan seperti yang ditunjukkan dalam contoh berikut.

    {
      "Action": "stop",
      "EnableClassic": false,    
      "AutoStop_MetricName": "Percentage CPU",
      "AutoStop_Condition": "LessThan",
      "AutoStop_Description": "Alert to stop the VM if the CPU % falls below the threshold",
      "AutoStop_Frequency": "00:05:00",
      "AutoStop_Severity": "2",
      "AutoStop_Threshold": "5",
      "AutoStop_TimeAggregationOperator": "Average",
      "AutoStop_TimeWindow": "06:00:00",
      "RequestScopes":{        
        "Subscriptions":[
            "/subscriptions/12345678-1111-2222-3333-1234567891234/",
            "/subscriptions/12345678-2222-4444-5555-1234567891234/"
        ],
        "ExcludedVMLists":[]
      }        
    }
    

    Di isi permintaan, jika Anda ingin mengelola VM untuk grup sumber daya tertentu, ubah isi permintaan seperti yang ditunjukkan dalam contoh berikut. Setiap jalur sumber daya yang ditentukan harus dipisahkan oleh koma. Anda dapat menentukan satu grup sumber daya jika diperlukan.

    {
      "Action": "stop",
      "AutoStop_Condition": "LessThan",
      "AutoStop_Description": "Alert to stop the VM if the CPU % falls below the threshold",
      "AutoStop_Frequency": "00:05:00",
      "AutoStop_MetricName": "Percentage CPU",
      "AutoStop_Severity": "2",
      "AutoStop_Threshold": "5",
      "AutoStop_TimeAggregationOperator": "Average",
      "AutoStop_TimeWindow": "06:00:00",
      "EnableClassic": false,
      "RequestScopes": {
        "ExcludedVMLists": [],
        "ResourceGroups": [
          "/subscriptions/12345678-1111-2222-3333-1234567891234/resourceGroups/vmrg1/",
          "/subscriptions/12345678-1111-2222-3333-1234567891234/resourceGroupsvmrg2/",
          "/subscriptions/12345678-2222-4444-5555-1234567891234/resourceGroups/VMHostingRG/"
          ]
      }
    }
    

    Di isi permintaan, jika Anda ingin mengelola sekumpulan VM tertentu dalam langganan, ubah isi permintaan seperti yang ditunjukkan dalam contoh berikut. Setiap jalur sumber daya yang ditentukan harus dipisahkan oleh koma. Anda dapat menentukan satu VM jika diperlukan.

    {
      "Action": "stop",
      "AutoStop_Condition": "LessThan",
      "AutoStop_Description": "Alert to stop the VM if the CPU % falls below the threshold",
      "AutoStop_Frequency": "00:05:00",
      "AutoStop_MetricName": "Percentage CPU",
      "AutoStop_Severity": "2",
      "AutoStop_Threshold": "5",
      "AutoStop_TimeAggregationOperator": "Average",
      "AutoStop_TimeWindow": "06:00:00",
      "EnableClassic": false,
      "RequestScopes": {
        "ExcludedVMLists": [],
        "VMLists": [
          "/subscriptions/12345678-1111-2222-3333-1234567891234/resourceGroups/rg3/providers/Microsoft.ClassicCompute/virtualMachines/Clasyvm11",
          "/subscriptions/12345678-1111-2222-3333-1234567891234/resourceGroups/vmrg1/providers/Microsoft.Compute/virtualMachines/vm1"
        ]
      }
    }
    

Tag VM

Anda juga dapat menyertakan atau mengecualikan VM tertentu dari tindakan mulai dan berhenti berdasarkan tag pengaturan pada VM itu sendiri. Untuk menambahkan tag, navigasikan ke VM tertentu, pilih Tag dari menu sebelah kiri, dan tambahkan tag bernama ssv2excludevm. Untuk mengecualikan VM ini dari tindakan mulai atau hentikan, atur nilai tag baru ini ke true. Untuk menyertakan VM dalam tindakan, atur nilai ke false. Ini memberi Anda cara untuk mengecualikan VM tertentu tanpa harus memperbarui ExcludedVMLists dalam konfigurasi payload.

Langkah berikutnya

Untuk mempelajari cara memantau status Azure VM yang dikelola oleh fitur Mulai/Hentikan VM v2 dan melakukan tugas manajemen lainnya, baca artikel Mengelola Mulai/Hentikan VM.