View a markdown version of this page

Penskalaan otomatis untuk Kol WorkSpaces am - Amazon WorkSpaces

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Penskalaan otomatis untuk Kol WorkSpaces am

Penskalaan Otomatis memungkinkan Anda mengubah ukuran kumpulan secara otomatis untuk mencocokkan pasokan instans yang tersedia dengan permintaan pengguna. Ukuran kumpulan menentukan jumlah pengguna yang dapat melakukan streaming secara bersamaan. Satu instance diperlukan untuk setiap sesi pengguna. Anda dapat menentukan kapasitas kumpulan Anda dalam hal instance. Berdasarkan konfigurasi kumpulan dan kebijakan penskalaan otomatis, jumlah instans yang diperlukan akan tersedia. Anda dapat menentukan kebijakan penskalaan yang menyesuaikan ukuran kumpulan secara otomatis berdasarkan berbagai metrik pemanfaatan, dan mengoptimalkan jumlah instans yang tersedia agar sesuai dengan permintaan pengguna. Anda juga dapat memilih untuk mematikan penskalaan otomatis dan membuat kolam berjalan pada ukuran tetap.

catatan
  • Saat Anda mengembangkan rencana untuk penskalaan WorkSpaces Pools, pastikan konfigurasi jaringan memenuhi persyaratan Anda.

  • Saat Anda menggunakan penskalaan, Anda bekerja dengan Application Auto Scaling API. Agar Auto Scaling berfungsi dengan benar dengan WorkSpaces Pools, Application Auto Scaling memerlukan izin untuk menjelaskan dan memperbarui kumpulan Anda dan menjelaskan CloudWatch alarm Amazon Anda, dan izin untuk mengubah kapasitas kumpulan Anda atas nama Anda.

Topik berikut memberikan informasi untuk membantu Anda memahami dan menggunakan Penskalaan Otomatis untuk Kum WorkSpaces pulan.

Konsep penskalaan

WorkSpaces Penskalaan kolam disediakan oleh Application Auto Scaling. Untuk informasi selengkapnya, lihat Referensi API Penskalaan Otomatis Aplikasi.

Untuk menggunakan Auto Scaling WorkSpaces with Pools secara efektif, Anda harus memahami istilah dan konsep berikut.

S capacity/minimum esi pengguna minimum untuk kolam

Jumlah minimum instance. Jumlah instance tidak boleh di bawah nilai ini, dan kebijakan penskalaan tidak akan menskalakan kumpulan Anda di bawah nilai ini. Misalnya, jika Anda menetapkan kapasitas minimum untuk kumpulan menjadi 2, kumpulan Anda tidak akan pernah memiliki kurang dari 2 instance.

S capacity/maximum esi pengguna maksimum untuk kolam

Jumlah maksimum instance. Jumlah instance tidak boleh melebihi nilai ini, dan kebijakan penskalaan tidak akan menskalakan kumpulan Anda di atas nilai ini. Misalnya, jika Anda menetapkan kapasitas maksimum untuk kumpulan menjadi 10, kumpulan Anda tidak akan pernah memiliki lebih dari 10 instans.

Kapasitas sesi pengguna yang diinginkan

Jumlah total sesi yang sedang berjalan atau tertunda. Ini mewakili jumlah total sesi streaming bersamaan yang dapat didukung kumpulan Anda dalam keadaan stabil.

Tindakan kebijakan penskalaan

Tindakan yang dilakukan kebijakan penskalaan pada kumpulan Anda saat Kondisi Kebijakan Penskalaan terpenuhi. Anda dapat memilih tindakan berdasarkan% kapasitas atau jumlah instans. Misalnya, jika kapasitas sesi pengguna yang diinginkan adalah 4 dan Tindakan Kebijakan Pen skalaan disetel ke “Tambah kapasitas 25%”, kapasitas sesi pengguna yang diinginkan ditingkatkan sebesar 25% menjadi 5 ketika Kondisi Kebijakan Pen skalaan terpenuhi.

Kondisi kebijakan penskalaan

Kondisi yang memicu tindakan yang ditetapkan dalam Tindakan Kebijakan Pen skalaan. Kondisi ini mencakup metrik kebijakan penskalaan, operator perbandingan, dan ambang batas. Misalnya, untuk menskalakan kumpulan jika pemanfaatan kumpulan lebih besar dari 50%, kondisi kebijakan penskalaan Anda harus “Jika Pemanfaatan Kapasitas > 50%”.

Metrik kebijakan penskalaan

Kebijakan penskalaan Anda didasarkan pada metrik ini. Metrik berikut tersedia untuk kebijakan penskalaan:

Pemanfaatan Kapasitas

Persentase instance dalam kumpulan yang sedang digunakan. Anda dapat menggunakan metrik ini untuk menskalakan kolam berdasarkan penggunaan kolam. Misalnya, Kondisi Kebijakan Penskalaan: “Jika Pemanfaatan Kapasitas < 25%" lakukan Tindakan Kebijakan Penskalaan: “Hapus kapasitas 25%”.

Kapasitas yang tersedia

Jumlah instance di kumpulan Anda yang tersedia untuk pengguna. Anda dapat menggunakan metrik ini untuk mempertahankan buffer dalam kapasitas Anda yang tersedia bagi pengguna untuk memulai sesi streaming. Misalnya, Kondisi Kebijakan Penskalaan: “Jika Kapasitas Tersedia < 5" lakukan Tindakan Kebijakan Penskalaan: “Tambahkan 5 instans”.

Kesalahan kapasitas tidak mencukupi

Jumlah permintaan sesi yang ditolak karena kurangnya kapasitas. Anda dapat menggunakan metrik ini untuk menyediakan instans baru bagi pengguna yang tidak dapat memulai sesi streaming karena kurangnya kapasitas. Misalnya, Kondisi Kebijakan Penskalaan: “Jika Kesalahan Kapasitas Tidak Mencukupi > 0" lakukan Tindakan Kebijakan Pen skalaan: “Tambahkan 1 instans”.

Mengelola penskalaan kumpulan menggunakan konsol

Anda dapat mengatur dan mengelola penskalaan dengan menggunakan WorkSpaces konsol dengan salah satu dari dua cara berikut: Selama pembuatan kumpulan, atau kapan saja, dengan menggunakan tab Kumpulan. Setelah Anda membuat kumpulan, buka tab Kebijakan Pen skalaan untuk menambahkan kebijakan penskalaan baru untuk kumpulan Anda. Untuk informasi selengkapnya, lihat Buat WorkSpaces Kolam.

Untuk lingkungan pengguna yang jumlahnya bervariasi, tentukan kebijakan penskalaan untuk mengontrol bagaimana penskalaan merespons permintaan. Jika Anda mengharapkan jumlah pengguna tetap atau memiliki alasan lain untuk menonaktifkan penskalaan, Anda dapat mengatur kumpulan dengan jumlah instans tetap untuk sesi pengguna.

Untuk melakukan ini, atur kapasitas minimum ke jumlah instance yang Anda inginkan. Sesuaikan kapasitas maksimum menjadi setidaknya nilai kapasitas minimum. Ini menghindari kesalahan validasi, tetapi kapasitas maksimum pada akhirnya akan diabaikan karena kumpulan tidak akan diskalakan. Kemudian, hapus semua kebijakan penskalaan untuk kumpulan tersebut.

Untuk menyetel kebijakan penskalaan kumpulan menggunakan konsol
  1. Buka WorkSpaces konsol di https://console.aws.amazon.com/workspaces/v2/home.

  2. Di panel navigasi, pilih Pools.

  3. Pilih kolam.

  4. Pada halaman kumpulan itu, gulir ke bawah ke kapasitas dan penskalaan.

  5. Pilih Edit.

  6. Edit kebijakan yang ada dan atur nilai yang diinginkan di bidangnya dan pilih S impan. Perubahan kebijakan mulai berlaku dalam beberapa menit.

  7. Anda juga dapat menambahkan kebijakan kapasitas dan penskalaan baru dengan memilih Tambahkan kapasitas jadwal baru, Tambahkan kebijakan penskalaan baru, atau Tambahkan skala baru dalam kebijakan.

Berikut ini adalah contoh grafik penggunaan aktivitas penskalaan ketika lima pengguna terhubung ke kumpulan dan kemudian memutuskan sambungan. Contoh ini berasal dari kumpulan menggunakan nilai kebijakan penskalaan berikut:

  • Kapasitas minimum = 10

  • Kapasitas maksimum = 50

  • Scale out = Jika Pemanfaatan Kapasitas kumpulan saya Lebih Besar dari 75% maka tambahkan 5 instans

  • Skalakan = Jika Pemanfaatan Kapasitas kumpulan saya Kurang dari 25% maka hapus 6 instans

    catatan

    Selama sesi, 5 instance baru akan diluncurkan selama acara skala out. Selama skala dalam acara, 6 instans akan direklamasi, jika ada cukup instans tanpa sesi pengguna aktif, dan jumlah total instans tidak turun di bawah kapasitas minimum 10 instans. Instans dengan sesi pengguna yang sedang berjalan tidak akan direklamasi. Hanya instance tanpa sesi pengguna yang berjalan yang akan direklamasi.

Mengelola penskalaan pool menggunakan AWS CLI

Anda dapat mengatur dan mengelola penskalaan kumpulan dengan menggunakan AWS Command Line Interface (AWS CLI). Untuk fitur yang lebih canggih seperti mengatur waktu cooldown scale-in dan scale-out, gunakan CLI. AWS Sebelum menjalankan perintah kebijakan penskalaan, Anda harus mendaftarkan kumpulan sebagai target yang dapat diskalakan. Untuk melakukannya, gunakan perintah register-scalable-target berikut:

aws application-autoscaling register-scalable-target --service-namespace workspaces \ --resource-id workspacespool/PoolId \ --scalable-dimension workspaces:workspacespool:DesiredUserSessions \ --min-capacity 1 --max-capacity 5

Contoh 1: Menerapkan kebijakan penskalaan berdasarkan pemanfaatan kapasitas

Contoh AWS CLI ini menetapkan kebijakan penskalaan yang menskalakan kumpulan sebesar 25% jika Pemanfaatan >= 75%.

Perintah put-scaling-policy berikut mendefinisikan kebijakan penskal aan berbasis penggunaan:

aws application-autoscaling put-scaling-policy -- cli-input-json file://scale-out-utilization.json

Isi file scale-out-utilization.json adalah sebagai berikut:

{ "PolicyName": "policyname", "ServiceNamespace": "workspaces", "ResourceId": "workspacespool/PoolId", "ScalableDimension": "workspaces:workspacespool:DesiredUserSessions", "PolicyType": "StepScaling", "StepScalingPolicyConfiguration": { "AdjustmentType": "PercentChangeInCapacity", "StepAdjustments": [ { "MetricIntervalLowerBound": 0, "ScalingAdjustment": 25 } ], "Cooldown": 120 } }

Jika perintah berhasil, outputnya mirip dengan berikut ini, meskipun beberapa detail unik untuk akun dan Wilayah Anda. Dalam contoh ini, pengenal kebijakan adalahe3425d21-16f0-d701-89fb-12f98dac64af.

{"PolicyARN": "arn:aws:autoscaling:us-west-2:123456789012:scalingPolicy:e3425d21-16f0-d701-89fb-12f98dac64af:resource/workspaces/workspacespool/PoolId:policyName/scale-out-utilization-policy"}

Sekarang, atur CloudWatch alarm untuk kebijakan ini. Gunakan nama, Wilayah, nomor akun, dan pengenal kebijakan yang berlaku untuk Anda. Anda dapat menggunakan kebijakan ARN yang dikembalikan oleh perintah sebelumnya untuk -- alarm-actions parameter.

aws cloudwatch put-metric-alarm --alarm-name alarmname \ --alarm-description "Alarm when Available User Session Capacity exceeds 75 percent" \ --metric-name AvailableUserSessionCapacity \ --namespace AWS/WorkSpaces \ --statistic Average \ --period 300 \ --threshold 75 \ --comparison-operator GreaterThanOrEqualToThreshold \ --dimensions "Name=WorkSpaces pool ID,Value=PoolId" \ --evaluation-periods 1 --unit Percent \ --alarm-actions "arn:aws:autoscaling:your-region-code:account-number-without-hyphens:scalingPolicy:policyid:resource/workspaces/workspacespool/PoolId:policyName/policyname"

Contoh 2: Menerapkan kebijakan penskalaan berdasarkan kesalahan kapasitas yang tidak mencukupi

Contoh AWS CLI ini menetapkan kebijakan penskalaan yang menskalakan kumpulan sebesar 1 jika kumpulan mengembalikan InsufficientCapacityError kesalahan.

Perintah berikut mendefinisikan kebijakan penskalaan berbasis kapasitas yang tidak mencukupi:

aws application-autoscaling put-scaling-policy -- cli-input-json file://scale-out-capacity.json

Isi file scale-out-capacity.json adalah sebagai berikut:

{ "PolicyName": "policyname", "ServiceNamespace": "workspaces", "ResourceId": "workspacespool/PoolId", "ScalableDimension": "workspaces:workspacespool:DesiredUserSessions", "PolicyType": "StepScaling", "StepScalingPolicyConfiguration": { "AdjustmentType": "ChangeInCapacity", "StepAdjustments": [ { "MetricIntervalLowerBound": 0, "ScalingAdjustment": 1 } ], "Cooldown": 120 } }

Jika perintah berhasil, outputnya mirip dengan berikut ini, meskipun beberapa detail unik untuk akun dan Wilayah Anda. Dalam contoh ini, pengenal kebijakan adalahf4495f21-0650-470c-88e6-0f393adb64fc.

{"PolicyARN": "arn:aws:autoscaling:us-west-2:123456789012:scalingPolicy:f4495f21-0650-470c-88e6-0f393adb64fc:resource/workspaces/workspacespool/PoolId:policyName/scale-out-insufficient-capacity-policy"}

Sekarang, atur CloudWatch alarm untuk kebijakan ini. Gunakan nama, Wilayah, nomor akun, dan pengenal kebijakan yang berlaku untuk Anda. Anda dapat menggunakan kebijakan ARN yang dikembalikan oleh perintah sebelumnya untuk --alarm-actions parameter.

aws cloudwatch put-metric-alarm --alarm-name alarmname \ --alarm-description "Alarm when out of capacity is > 0" \ --metric-name InsufficientCapacityError \ --namespace AWS/WorkSpaces \ --statistic Maximum \ --period 300 \ --threshold 0 \ --comparison-operator GreaterThanThreshold \ --dimensions "Name=Pool,Value=PoolId" \ --evaluation-periods 1 --unit Count \ --alarm-actions "arn:aws:autoscaling:your-region-code:account-number-without-hyphens:scalingPolicy:policyid:resource/workspaces/workspacespool/PoolId:policyName/policyname"

Contoh 3: Menerapkan kebijakan penskalaan berdasarkan pemanfaatan kapasitas rendah

AWS CLI Contoh ini menetapkan kebijakan penskalaan yang menskalakan di kumpulan untuk mengurangi kapasitas aktual saat UserSessionsCapacityUtilization rendah.

Perintah berikut mendefinisikan kebijakan penskalaan berbasis kapasitas berlebih:

aws application-autoscaling put-scaling-policy -- cli-input-json file://scale-in-capacity.json

Isi file scale-in-capacity.json adalah sebagai berikut:

{ "PolicyName": "policyname", "ServiceNamespace": "workspaces", "ResourceId": "workspacespool/PoolId", "ScalableDimension": "workspaces:workspacespool:DesiredUserSessions", "PolicyType": "StepScaling", "StepScalingPolicyConfiguration": { "AdjustmentType": "PercentChangeInCapacity", "StepAdjustments": [ { "MetricIntervalUpperBound": 0, "ScalingAdjustment": -25 } ], "Cooldown": 360 } }

Jika perintah berhasil, outputnya mirip dengan berikut ini, meskipun beberapa detail unik untuk akun dan Wilayah Anda. Dalam contoh ini, pengenal kebijakan adalah12ab3c4d-56789-0ef1-2345-6ghi7jk8lm90.

{"PolicyARN": "arn:aws:autoscaling:us-west-2:123456789012:scalingPolicy:12ab3c4d-56789-0ef1-2345-6ghi7jk8lm90:resource/workspaces/workspacespool/PoolId:policyName/scale-in-utilization-policy"}

Sekarang, atur CloudWatch alarm untuk kebijakan ini. Gunakan nama, Wilayah, nomor akun, dan pengenal kebijakan yang berlaku untuk Anda. Anda dapat menggunakan kebijakan ARN yang dikembalikan oleh perintah sebelumnya untuk --alarm-actions parameter.

aws cloudwatch put-metric-alarm --alarm-name alarmname \ --alarm-description "Alarm when Capacity Utilization is less than or equal to 25 percent" \ --metric-name UserSessionsCapacityUtilization \ --namespace AWS/WorkSpaces \ --statistic Average \ --period 120 \ --threshold 25 \ --comparison-operator LessThanOrEqualToThreshold \ --dimensions "Name=Pool,Value=PoolId" \ --evaluation-periods 10 --unit Percent \ --alarm-actions "arn:aws:autoscaling:your-region-code:account-number-without-hyphens:scalingPolicy:policyid:resource/workspaces/workspacespool/PoolId:policyName/policyname"

Contoh 4: Mengubah kapasitas kumpulan berdasarkan jadwal

Mengubah kapasitas kumpulan berdasarkan jadwal memungkinkan Anda menskalakan kapasitas kumpulan Anda sebagai respons terhadap perubahan permintaan yang dapat diprediksi. Misalnya, pada awal hari kerja, Anda mungkin mengharapkan sejumlah pengguna untuk meminta koneksi streaming pada satu waktu. Untuk mengubah kapasitas kumpulan berdasarkan jadwal, Anda dapat menggunakan tindakan PutScheduledAction API Penskalaan Otomatis Aplikasi atau perintah CLI put-scheduled-action AWS .

Sebelum mengubah kapasitas kumpulan, Anda dapat membuat daftar kapasitas kumpulan saat ini dengan menggunakan perintah WorkSpaces describe-workspac AWS es-pools CLI.

aws workspaces describe-workspaces-pools --name PoolId

Kapasitas pool saat ini akan tampak mirip dengan output berikut (ditampilkan dalam format JSON):

{ "CapacityStatus": { "AvailableUserSessions": 1, "DesiredUserSessions": 1, "ActualUserSessions": 1, "ActiveUserSessions": 0 }, }

Kemudian, gunakan put-scheduled-action perintah untuk membuat tindakan terjadwal untuk mengubah kapasitas kumpulan Anda. Misalnya, perintah berikut mengubah kapasitas minimum menjadi 3 dan kapasitas maksimum menjadi 5 setiap hari pada pukul 9:00 UTC.

catatan

Untuk ekspresi cron, tentukan kapan harus melakukan tindakan di UTC. Untuk informasi selengkapnya, lihat Ek spresi Cron.

aws application-autoscaling put-scheduled-action --service-namespace workspaces \ --resource-id workspacespool/PoolId \ --schedule="cron(0 9 * * ? *)" \ --scalable-target-action MinCapacity=3,MaxCapacity=5 \ --scheduled-action-name ExampleScheduledAction \ --scalable-dimension workspaces:workspacespool:DesiredUserSessions

Untuk mengonfirmasi bahwa tindakan terjadwal untuk mengubah kapasitas kumpulan berhasil dibuat, jalankan perintah describe-schedul ed-actions.

aws application-autoscaling describe-scheduled-actions --service-namespace workspaces --resource-id workspacespool/PoolId

Jika tindakan terjadwal berhasil dibuat, output tampak mirip dengan berikut ini.

{ "ScheduledActions": [ { "ScalableDimension": "workspaces:workspacespool:DesiredUserSessions", "Schedule": "cron(0 9 * * ? *)", "ResourceId": "workspacespool/ExamplePool", "CreationTime": 1518651232.886, "ScheduledActionARN": "<arn>", "ScalableTargetAction": { "MinCapacity": 3, "MaxCapacity": 5 }, "ScheduledActionName": "ExampleScheduledAction", "ServiceNamespace": "workspaces" } ] }

Untuk informasi selengkapnya, lihat Penskalaan Ter jadwal di Panduan Pengguna Penskalaan Otomatis Aplikasi.

Contoh 5: Menerapkan kebijakan penskalaan pelacakan target

Dengan penskalaan pelacakan target, Anda dapat menentukan tingkat pemanfaatan kapasitas untuk kumpulan Anda.

Saat Anda membuat kebijakan penskalaan pelacakan target, Penskalaan Otomatis Aplikasi secara otomatis membuat dan mengelola CloudWatch alarm yang memicu kebijakan penskalaan. Kebijakan penskalaan menambah atau menghapus kapasitas sesuai kebutuhan untuk menjaga pemanfaatan kapasitas tetap pada, atau mendekati, nilai target yang ditentukan. Untuk memastikan ketersediaan aplikasi, kolam Anda menskalakan secara proporsional dengan metrik secepat mungkin tetapi skalanya lebih bertahap.

Perintah put-scaling-policy berikut mendefinisikan kebijakan penskalaan pelacakan target yang mencoba mempertahankan pemanfaatan kapasitas 75% untuk kumpulan. WorkSpaces

aws application-autoscaling put-scaling-policy -- cli-input-json file://config.json

Isi file config.json adalah sebagai berikut:

{ "PolicyName":"target-tracking-scaling-policy", "ServiceNamespace":"workspaces", "ResourceId":"workspacespool/PoolId", "ScalableDimension":"workspaces:workspacespool:DesiredUserSessions", "PolicyType":"TargetTrackingScaling", "TargetTrackingScalingPolicyConfiguration":{ "TargetValue":75.0, "PredefinedMetricSpecification":{ "PredefinedMetricType":"WorkSpacesAverageUserSessionsCapacityUtilization" }, "ScaleOutCooldown":300, "ScaleInCooldown":300 } }

Jika perintah berhasil, outputnya mirip dengan berikut ini, meskipun beberapa detail unik untuk akun dan Wilayah Anda. Dalam contoh ini, pengenal kebijakan adalah 6d8972f3-efc8-437c-92d1-6270f29a66e7.

{ "PolicyARN": "arn:aws:autoscaling:us-west-2:123456789012:scalingPolicy:6d8972f3-efc8-437c-92d1-6270f29a66e7:resource/workspaces/workspacespool/PoolId:policyName/target-tracking-scaling-policy", "Alarms": [ { "AlarmARN": "arn:aws:cloudwatch:us-west-2:123456789012:alarm:TargetTracking-workspacespool/PoolId-AlarmHigh-d4f0770c-b46e-434a-a60f-3b36d653feca", "AlarmName": "TargetTracking-workspacespool/PoolId-AlarmHigh-d4f0770c-b46e-434a-a60f-3b36d653feca" }, { "AlarmARN": "arn:aws:cloudwatch:us-west-2:123456789012:alarm:TargetTracking-workspacespool/PoolId-AlarmLow-1b437334-d19b-4a63-a812-6c67aaf2910d", "AlarmName": "TargetTracking-workspacespool/PoolId-AlarmLow-1b437334-d19b-4a63-a812-6c67aaf2910d" } ] }

Untuk informasi selengkapnya, lihat Kebijakan Penskalaan Pelacakan Target di Panduan Pengguna Penskalaan Otomatis Aplikasi.

Sumber daya tambahan

Untuk mempelajari selengkapnya tentang menggunakan perintah Application Auto Scal AWS ing CLI atau tindakan API, lihat sumber daya berikut: