Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Puoi configurare e gestire la scalabilità della flotta utilizzando AWS Command Line Interface (AWS CLI). Per funzionalità più avanzate come l'impostazione di più politiche di ridimensionamento o l'impostazione di tempi di raffreddamento con scalabilità orizzontale e verticale, utilizza la CLI. AWS Prima di eseguire i comandi della policy di dimensionamento, è necessario registrare il parco istanze come destinazione scalabile. A tale scopo, utilizzate il seguente comando: register-scalable-target
aws application-autoscaling register-scalable-target --service-namespace appstream \ --resource-id fleet/
fleetname
\ --scalable-dimension appstream:fleet:DesiredCapacity \ --min-capacity 1 --max-capacity 5
Esempi
Esempio 1: Applicazione di una policy di dimensionamento basata sull'utilizzo della capacità
Esempio 3: Applicazione di una policy di dimensionamento basata sull'utilizzo ridotto della capacità
Esempio 4: Modifica della capacità del parco istanze su pianificazione
Esempio 5: Applicazione di una policy di dimensionamento di monitoraggio del target
Esempio 1: Applicazione di una policy di dimensionamento basata sull'utilizzo della capacità
Questo esempio di AWS CLI imposta una politica di scalabilità che ridimensiona una flotta del 25% se l'utilizzo è superiore al 75%.
Il put-scaling-policycomando seguente definisce una politica di scalabilità basata sull'utilizzo:
aws application-autoscaling put-scaling-policy --cli-input-json file://scale-out-utilization.json
Il contenuto del file scale-out-utilization.json
è il seguente:
{
"PolicyName": "policyname
",
"ServiceNamespace": "appstream",
"ResourceId": "fleet/fleetname
",
"ScalableDimension": "appstream:fleet:DesiredCapacity",
"PolicyType": "StepScaling",
"StepScalingPolicyConfiguration": {
"AdjustmentType": "PercentChangeInCapacity",
"StepAdjustments": [
{
"MetricIntervalLowerBound": 0,
"ScalingAdjustment": 25
}
],
"Cooldown": 120
}
}
Se il comando viene completato correttamente, l'output è simile a quello nell'esempio seguente, anche se alcuni dettagli sono univoci per account e regione. In questo esempio, l'identificativo della policy è e3425d21-16f0-d701-89fb-12f98dac64af
.
{"PolicyARN": "arn:aws:autoscaling:us-west-2:123456789012:scalingPolicy:e3425d21-16f0-d701-89fb-12f98dac64af:resource/appstream/fleet/SampleFleetName:policyName/scale-out-utilization-policy"}
Ora, imposta un CloudWatch allarme per questa politica. Utilizzare i nomi, la regione, il numero di account e l'identificatore della policy applicabili all'utente. È possibile usare l'ARN della policy restituito dal comando precedente per il parametro --alarm-actions
.
aws cloudwatch put-metric-alarm --alarm-name
alarmname
\ --alarm-description "Alarm when Capacity Utilization exceeds 75 percent" \ --metric-name CapacityUtilization \ --namespace AWS/AppStream \ --statistic Average \ --period 300 \ --threshold 75 \ --comparison-operator GreaterThanOrEqualToThreshold \ --dimensions "Name=Fleet,Value=fleetname
" \ --evaluation-periods 1 --unit Percent \ --alarm-actions "arn:aws:autoscaling:your-region-code
:account-number-without-hyphens
:scalingPolicy:policyid
:resource/appstream/fleet/fleetname
:policyName/policyname
"
Esempio 2: Applicazione di una policy di dimensionamento basata sugli errori di capacità insufficiente
Questo esempio di AWS CLI imposta una politica di scalabilità che ridimensiona la flotta di 1 se la flotta restituisce un errore. InsufficientCapacityError
Il comando seguente definisce una policy di dimensionamento basato su capacità insufficiente:
aws application-autoscaling put-scaling-policy --cli-input-json file://scale-out-capacity.json
Il contenuto del file scale-out-capacity.json
è il seguente:
{
"PolicyName": "policyname
",
"ServiceNamespace": "appstream",
"ResourceId": "fleet/fleetname
",
"ScalableDimension": "appstream:fleet:DesiredCapacity",
"PolicyType": "StepScaling",
"StepScalingPolicyConfiguration": {
"AdjustmentType": "ChangeInCapacity",
"StepAdjustments": [
{
"MetricIntervalLowerBound": 0,
"ScalingAdjustment": 1
}
],
"Cooldown": 120
}
}
Se il comando viene completato correttamente, l'output è simile a quello nell'esempio seguente, anche se alcuni dettagli sono univoci per account e regione. In questo esempio, l'identificativo della policy è f4495f21-0650-470c-88e6-0f393adb64fc
.
{"PolicyARN": "arn:aws:autoscaling:us-west-2:123456789012:scalingPolicy:f4495f21-0650-470c-88e6-0f393adb64fc:resource/appstream/fleet/SampleFleetName:policyName/scale-out-insufficient-capacity-policy"}
Ora, imposta un CloudWatch allarme per questa politica. Utilizzare i nomi, la regione, il numero di account e l'identificatore della policy applicabili all'utente. È possibile usare l'ARN della policy restituito dal comando precedente per il parametro --alarm-actions
.
aws cloudwatch put-metric-alarm --alarm-name
alarmname
\ --alarm-description "Alarm when out of capacity is > 0" \ --metric-name InsufficientCapacityError \ --namespace AWS/AppStream \ --statistic Maximum \ --period 300 \ --threshold 0 \ --comparison-operator GreaterThanThreshold \ --dimensions "Name=Fleet,Value=fleetname
" \ --evaluation-periods 1 --unit Count \ --alarm-actions "arn:aws:autoscaling:your-region-code
:account-number-without-hyphens
:scalingPolicy:policyid
:resource/appstream/fleet/fleetname
:policyName/policyname
"
Esempio 3: Applicazione di una policy di dimensionamento basata sull'utilizzo ridotto della capacità
Questo AWS CLI esempio imposta una politica di scalabilità che si adatta all'intero parco veicoli per ridurre la capacità effettiva quando CapacityUtilization
è bassa.
Il comando seguente definisce una policy di dimensionamento basata su capacità in eccesso:
aws application-autoscaling put-scaling-policy --cli-input-json file://scale-in-capacity.json
Il contenuto del file scale-in-capacity.json
è il seguente:
{
"PolicyName": "policyname
",
"ServiceNamespace": "appstream",
"ResourceId": "fleet/fleetname
",
"ScalableDimension": "appstream:fleet:DesiredCapacity",
"PolicyType": "StepScaling",
"StepScalingPolicyConfiguration": {
"AdjustmentType": "PercentChangeInCapacity",
"StepAdjustments": [
{
"MetricIntervalUpperBound": 0,
"ScalingAdjustment": -25
}
],
"Cooldown": 360
}
}
Se il comando viene completato correttamente, l'output è simile a quello nell'esempio seguente, anche se alcuni dettagli sono univoci per account e regione. In questo esempio, l'identificativo della policy è 12ab3c4d-56789-0ef1-2345-6ghi7jk8lm90
.
{"PolicyARN": "arn:aws:autoscaling:us-west-2:123456789012:scalingPolicy:12ab3c4d-56789-0ef1-2345-6ghi7jk8lm90:resource/appstream/fleet/SampleFleetName:policyName/scale-in-utilization-policy"}
Ora, imposta un CloudWatch allarme per questa politica. Utilizzare i nomi, la regione, il numero di account e l'identificatore della policy applicabili all'utente. È possibile usare l'ARN della policy restituito dal comando precedente per il parametro --alarm-actions
.
aws cloudwatch put-metric-alarm --alarm-name
alarmname
\ --alarm-description "Alarm when Capacity Utilization is less than or equal to 25 percent" \ --metric-name CapacityUtilization \ --namespace AWS/AppStream \ --statistic Average \ --period 120 \ --threshold 25 \ --comparison-operator LessThanOrEqualToThreshold \ --dimensions "Name=Fleet,Value=fleetname
" \ --evaluation-periods 10 --unit Percent \ --alarm-actions "arn:aws:autoscaling:your-region-code
:account-number-without-hyphens
:scalingPolicy:policyid
:resource/appstream/fleet/fleetname
:policyName/policyname
"
Esempio 4: Modifica della capacità del parco istanze su pianificazione
La modifica della capacità del parco istanze in base a una pianificazione consente di dimensionare la capacità del parco istanze in risposta a modifiche prevedibili della richiesta. Ad esempio, all'inizio di un giorno lavorativo, si può aspettare un certo numero di utenti per richiedere connessioni di streaming simultaneamente. Per modificare la capacità della flotta in base a una pianificazione, puoi utilizzare l'azione PutScheduledActionAPI Application Auto Scaling o il comando CLI put-scheduled-action AWS .
Prima di modificare la capacità della flotta, puoi elencare la capacità attuale della flotta utilizzando il comando CLI AppStream 2.0 describe-fleets. AWS
aws appstream describe-fleets --name
fleetname
L'attuale capacità del parco istanze apparirà simile all'output seguente (in formato JSON):
{
{
"ComputeCapacityStatus": {
"Available": 1,
"Desired": 1,
"Running": 1,
"InUse": 0
},
}
Quindi, utilizzare il comando put-scheduled-action
per creare un'operazione pianificata per modificare la capacità del parco istanze. Ad esempio, il comando seguente modifica la capacità minima a 3 e la capacità massima a 5 ogni giorno alle 9:00 UTC.
Nota
Per le espressioni cron, specifica quando eseguire l'azione in UTC. Per ulteriori informazioni consulta Cron Expressions (Espressioni cron).
aws application-autoscaling put-scheduled-action --service-namespace appstream \ --resource-id fleet/
fleetname
\ --schedule="cron(0 9 * * ? *)" \ --scalable-target-action MinCapacity=3,MaxCapacity=5 \ --scheduled-action-name ExampleScheduledAction \ --scalable-dimension appstream:fleet:DesiredCapacity
Per confermare che l'azione pianificata per modificare la capacità della flotta è stata creata correttamente, esegui il comando. describe-scheduled-actions
aws application-autoscaling describe-scheduled-actions --service-namespace appstream --resource-id fleet/
fleetname
Se l'azione pianificata è stata creata correttamente, l'output è simile al seguente.
{
"ScheduledActions": [
{
"ScalableDimension": "appstream:fleet:DesiredCapacity",
"Schedule": "cron(0 9 * * ? *)",
"ResourceId": "fleet/ExampleFleet",
"CreationTime": 1518651232.886,
"ScheduledActionARN": "<arn>",
"ScalableTargetAction": {
"MinCapacity": 3,
"MaxCapacity": 5
},
"ScheduledActionName": "ExampleScheduledAction",
"ServiceNamespace": "appstream"
}
]
}
Per ulteriori informazioni, consulta Dimensionamento pianificato nella Guida per l'utente di Application Auto Scaling.
Esempio 5: Applicazione di una policy di dimensionamento di monitoraggio del target
Con il dimensionamento del monitoraggio del target, è possibile specificare un livello di utilizzo della capacità per il parco istanze.
Quando si crea una politica di scalabilità di tracciamento degli obiettivi, Application Auto Scaling crea e CloudWatch gestisce automaticamente gli allarmi che attivano la politica di scalabilità. La policy di dimensionamento aggiunge o rimuove la capacità in base alle necessità, per l'utilizzo della capacità al valore di destinazione specificato o vicino a esso. Per garantire la disponibilità delle applicazioni, il parco istanze aumenta in proporzione al parametro il più velocemente possibile, ma si riduce in modo più graduale.
Il put-scaling-policycomando seguente definisce una politica di scalabilità di tracciamento degli obiettivi che tenta di mantenere l'utilizzo della capacità del 75% per un parco veicoli 2.0. AppStream
aws application-autoscaling put-scaling-policy --cli-input-json file://config.json
Il contenuto del file config.json
è il seguente:
{
"PolicyName":"target-tracking-scaling-policy",
"ServiceNamespace":"appstream",
"ResourceId":"fleet/fleetname
",
"ScalableDimension":"appstream:fleet:DesiredCapacity",
"PolicyType":"TargetTrackingScaling",
"TargetTrackingScalingPolicyConfiguration":{
"TargetValue":75.0,
"PredefinedMetricSpecification":{
"PredefinedMetricType":"AppStreamAverageCapacityUtilization"
},
"ScaleOutCooldown":300,
"ScaleInCooldown":300
}
}
Se il comando viene completato correttamente, l'output è simile a quello nell'esempio seguente, anche se alcuni dettagli sono univoci per account e regione. In questo esempio, l'identificatore di policy è 6d8972f3-efc8-437c-92d1-6270f29a66e7.
{
"PolicyARN": "arn:aws:autoscaling:us-west-2:123456789012:scalingPolicy:6d8972f3-efc8-437c-92d1-6270f29a66e7:resource/appstream/fleet/fleetname:policyName/target-tracking-scaling-policy",
"Alarms": [
{
"AlarmARN": "arn:aws:cloudwatch:us-west-2:123456789012:alarm:TargetTracking-fleet/fleetname-AlarmHigh-d4f0770c-b46e-434a-a60f-3b36d653feca",
"AlarmName": "TargetTracking-fleet/fleetname-AlarmHigh-d4f0770c-b46e-434a-a60f-3b36d653feca"
},
{
"AlarmARN": "arn:aws:cloudwatch:us-west-2:123456789012:alarm:TargetTracking-fleet/fleetname-AlarmLow-1b437334-d19b-4a63-a812-6c67aaf2910d",
"AlarmName": "TargetTracking-fleet/fleetname-AlarmLow-1b437334-d19b-4a63-a812-6c67aaf2910d"
}
]
}
Per ulteriori informazioni, consulta Policy di dimensionamento del monitoraggio di target nella Guida per l'utente di Application Auto Scaling.