Gruppo Auto Scaling | Crea - Riferimento al tipo di modifica avanzata AMS

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à.

Gruppo Auto Scaling | Crea

Utilizzatelo per creare un gruppo Auto Scaling, la configurazione di avvio da utilizzare per creare nuove istanze quando necessario e CloudWatch metriche e allarmi per il gruppo.

Classificazione completa: Distribuzione | Componenti dello stack avanzati | Gruppo Auto Scaling | Creazione

Dettagli del tipo di modifica

Cambia tipo ID

ct-2tylseo8rxfsc

Versione corrente

4.0

Durata di esecuzione prevista

360 minuti

Approvazione AWS

Richiesto

Approvazione del cliente

Campo non obbligatorio

Modalità di esecuzione

Automatizzata

Informazioni aggiuntive

Creazione di gruppi di Auto Scaling

Create Amazon EC2 Auto Scaling group interface showing description, ID, version, and execution mode.

Come funziona:

  1. Vai alla pagina Crea RFC: nel riquadro di navigazione a sinistra della console AMS, fai clic RFCsper aprire la pagina dell' RFCs elenco, quindi fai clic su Crea RFC.

  2. Scegli un tipo di modifica (CT) popolare nella visualizzazione predefinita Sfoglia i tipi di modifica o seleziona un CT nella visualizzazione Scegli per categoria.

    • Naviga per tipo di modifica: puoi fare clic su un CT popolare nell'area di creazione rapida per aprire immediatamente la pagina Run RFC. Nota che non puoi scegliere una versione CT precedente con creazione rapida.

      Per ordinare CTs, utilizzate l'area Tutti i tipi di modifica nella vista a scheda o tabella. In entrambe le visualizzazioni, selezionate un CT, quindi fate clic su Crea RFC per aprire la pagina Esegui RFC. Se applicabile, accanto al pulsante Crea RFC viene visualizzata l'opzione Crea con una versione precedente.

    • Scegli per categoria: seleziona una categoria, sottocategoria, articolo e operazione e la casella dei dettagli CT si apre con l'opzione Crea con una versione precedente, se applicabile. Fai clic su Crea RFC per aprire la pagina Esegui RFC.

  3. Nella pagina Run RFC, apri l'area del nome CT per visualizzare la casella dei dettagli CT. È richiesto un Oggetto (questo campo viene compilato automaticamente se si sceglie il CT nella visualizzazione Sfoglia i tipi di modifica). Apri l'area di configurazione aggiuntiva per aggiungere informazioni sull'RFC.

    Nell'area di configurazione dell'esecuzione, utilizza gli elenchi a discesa disponibili o inserisci i valori per i parametri richiesti. Per configurare i parametri di esecuzione opzionali, aprite l'area di configurazione aggiuntiva.

  4. Al termine, fate clic su Esegui. Se non sono presenti errori, viene visualizzata la pagina RFC creata correttamente con i dettagli RFC inviati e l'output iniziale di Run.

  5. Apri l'area dei parametri di esecuzione per visualizzare le configurazioni inviate. Aggiorna la pagina per aggiornare lo stato di esecuzione RFC. Facoltativamente, annulla la RFC o creane una copia con le opzioni nella parte superiore della pagina.

Come funziona:

  1. Usa Inline Create (esegui un create-rfc comando con tutti i parametri RFC e di esecuzione inclusi) o Template Create (crei due file JSON, uno per i parametri RFC e uno per i parametri di esecuzione) ed esegui il create-rfc comando con i due file come input. Entrambi i metodi sono descritti qui.

  2. Invia il aws amscm submit-rfc --rfc-id ID comando RFC: con l'ID RFC restituito.

    Monitora il comando RFC:. aws amscm get-rfc --rfc-id ID

Per verificare la versione del tipo di modifica, usa questo comando:

aws amscm list-change-type-version-summaries --filter Attribute=ChangeTypeId,Value=CT_ID
Nota

È possibile utilizzare qualsiasi CreateRfc parametro con qualsiasi RFC, indipendentemente dal fatto che faccia parte o meno dello schema per il tipo di modifica. Ad esempio, per ricevere notifiche quando lo stato RFC cambia, aggiungi questa riga --notification "{\"Email\": {\"EmailRecipients\" : [\"email@example.com\"]}}" alla parte dei parametri RFC della richiesta (non ai parametri di esecuzione). Per un elenco di tutti i CreateRfc parametri, consulta l'AMS Change Management API Reference.

CREAZIONE IN LINEA:

  1. Esegui il comando create RFC con i parametri di esecuzione forniti in linea (evita le virgolette quando fornisci i parametri di esecuzione in linea), quindi invia l'ID RFC restituito. Ad esempio:

    Solo parametri richiesti:

    aws --profile saml --region us-east-1 amscm create-rfc --change-type-id "ct-2tylseo8rxfsc" --change-type-version "3.0" --title "ASG-Create-QC" --execution-parameters "{\"Description\":\"Create a new ASG\",\"VpcId\":\"VPC_ID\",\"Name\":\"MyASG\",\"TimeoutInMinutes\":360,\"Parameters\":{\"InstanceAmiId\":\"AMI_ID\",\"InstanceSubnetId\":\"SUBNET_ID\"}}"

    La maggior parte dei parametri, tranne Tags eUserData:

    aws --profile saml amscm create-rfc --change-type-id "ct-2tylseo8rxfsc" --change-type-version "3.0" --title "Stack-Create-ASG-IC" --execution-parameters "{\"Description\":\"MyTestASG\",\"VpcId\":\"VPC_ID\",\"StackTemplateId\":\"stm-suw38u20000000000\",\"Name\":\"MyTestASG\",\"TimeoutInMinutes\":60,\"Parameters\":{\"ASGAmiId\":\"ami-0021317f\",\"ASGCooldown\":300,\"ASGDesiredCapacity\":1,\"ASGEBSOptimized\":false,\"ASGHealthCheckGracePeriod\":1800,\"ASGIAMInstanceProfile\":\"customer-mc-ec2-instance-profile\",\"ASGInstanceDetailedMonitoring\":true,\"ASGInstanceRootVolumeIops\":0,\"ASGInstanceRootVolumeName\":\"TEST\",\"ASGInstanceRootVolumeType\":\"standard\",\"ASGInstanceType\":\"m4.large\",\"ASGMaxInstances\":1,\"ASGMinInstances\":1,\"ASGScaleDownMetricName\":\"CPUUtilization\",\"ASGScaleDownPolicyCooldown\":300,\"ASGScaleDownPolicyEvaluationPeriods\":4,\"ASGScaleDownPolicyPeriod\":60,\"ASGScaleDownPolicyScalingAdjustment\":-1,\"ASGScaleDownPolicyStatistic\":\"Average\",\"ASGScaleDownPolicyThreshold\":35,\"ASGScaleUpMetricName\":\"CPUUtilization\",\"ASGScaleUpPolicyCooldown\":60,\"ASGScaleUpPolicyEvaluationPeriods\":2,\"ASGScaleUpPolicyPeriod\":60,\"ASGScaleUpPolicyScalingAdjustment\":2,\"ASGScaleUpPolicyStatistic\":\"Average\",\"ASGScaleUpPolicyThreshold\":75,\"ASGSubnetIds\":[\"SUBNET1_ID\",\"SUBNET2_ID\"],\"ASGUserData\":\"\"}}"

CREAZIONE DEL MODELLO:

  1. Esporta lo schema JSON dei parametri di esecuzione per questo tipo di modifica in un file nella cartella corrente; questo esempio lo chiama CreateAsgParams .json:

    aws amscm get-change-type-version --change-type-id "ct-2tylseo8rxfsc" --query "ChangeTypeVersion.ExecutionInputSchema" --output text > CreateAsgParams.json
  2. Modificate e salvate lo schema come segue. Ad esempio, puoi sostituire il contenuto con qualcosa del genere:

    Nota

    Gli script sono delimitati da una nuova riga (separati dal valore letterale: "\n«), inoltre, gli script immessi come UserData vengono eseguiti come utente «root» e non è necessario utilizzare il comando «sudo».

    L'RFC attende fino a sei ore per l'esecuzione di tutti i comandi di UserData script prima di restituire lo stato finale di successo o fallimento.

    { "Description": "Create_WordPress_ASG", "VpcId": "VPC_ID", "StackTemplateId": "stm-suw38u00000000000", "Name": "WP_ASG", "Tags": [{"Key": "Name","Value": "WP_ASG"}], "TimeoutInMinutes": 60, "ASGAmiId": "AMI_ID", "ASGLoadBalancerNames": ["ELB_NAME"], "ASGSubnetIds": ["PRIVATE_AZ1", "PRIVATE_AZ2"], "ASGUserData": "#!/bin/bash \n REGION=$(curl 169.254.169.254/latest/meta-data/placement/availability-zone/ | sed 's/[a-z]$//') \n yum -y install ruby httpd \n chkconfig httpd on \n service httpd start \n touch /var/www/html/status \n cd /tmp \n curl -O https://aws-codedeploy-$REGION.s3.amazonaws.com/latest/install \n chmod +x ./install \n ./install auto \n chkconfig codedeploy-agent on \n service codedeploy-agent start" }
  3. Esporta il modello JSON in un file nella cartella corrente; l'esempio lo chiama .json: CreateRfc CreateAsgRfc

    aws amscm create-rfc --generate-cli-skeleton > CreateAsgRfc.json
  4. Modificate e salvate il file JSON come segue. Ad esempio, puoi sostituire il contenuto con qualcosa del genere:

    { "ChangeTypeVersion": "3.0", "ChangeTypeId": "ct-2tylseo8rxfsc", "Title": "ASG-For-WP-Stack-RFC" }
  5. Create la RFC, specificando il CreateAsgRfc file e il file dei parametri di esecuzione:

    aws amscm create-rfc --cli-input-json file://CreateAsgRfc.json --execution-parameters file://CreateAsgParams.json

    Nella risposta si riceve l'ID della nuova RFC e si può utilizzare per inviare e monitorare la RFC. Finché non la invii, la RFC rimane nello stato di modifica e non si avvia.

Nota

È possibile aggiungere fino a 50 tag, ma per farlo è necessario abilitare la visualizzazione di configurazione aggiuntiva.

Per ulteriori informazioni, consulta Amazon Auto Scaling.

Parametri di input di esecuzione

Per informazioni dettagliate sui parametri di input di esecuzione, vedereSchema per il tipo di modifica ct-2tylseo8rxfsc.

Esempio: parametri obbligatori

{ "Description": "This is a test description", "VpcId": "vpc-1234567890abcdef0", "StackTemplateId": "stm-suw38u40000000000", "Name": "Test Stack", "Tags": [ { "Key": "foo", "Value": "bar" }, { "Key": "testkey", "Value": "testvalue" } ], "TimeoutInMinutes": 60, "Parameters": { "ASGAmiId": "ami-1234567890abcdef0", "ASGSubnetIds": ["subnet-1234567890abcdef0", "subnet-1234567890abcdef1"] } }

Esempio: tutti i parametri

{ "Description": "This is a test description", "VpcId": "vpc-1234abcd", "StackTemplateId": "stm-suw38u40000000000", "Name": "Test Stack", "Tags": [ { "Key": "foo", "Value": "bar" }, { "Key": "testkey", "Value": "testvalue" } ], "TimeoutInMinutes": 60, "Parameters": { "ASGAmiId": "ami-12345678", "ASGCooldown": 300, "ASGDesiredCapacity": 1, "ASGEBSOptimized": false, "ASGIAMInstanceProfile": "customer-mc-ec2-instance-profile", "ASGInstanceDetailedMonitoring": false, "ASGInstanceRootVolumeIops": 0, "ASGInstanceRootVolumeName": "/dev/xvda", "ASGInstanceRootVolumeSize": 8, "ASGInstanceRootVolumeType": "standard", "ASGInstanceType": "m3.medium", "ASGLoadBalancerNames": ["elb1"], "ASGMaxInstances": 1, "ASGMinInstances": 1, "ASGHealthCheckGracePeriod": 600, "ASGHealthCheckType":"EC2", "ASGScaleDownMetricName": "CPUUtilization", "ASGScaleDownPolicyCooldown": 300, "ASGScaleDownPolicyEvaluationPeriods": 4, "ASGScaleDownPolicyPeriod": 60, "ASGScaleDownPolicyScalingAdjustment": -1, "ASGScaleDownPolicyStatistic": "Average", "ASGScaleDownPolicyThreshold": 35, "ASGScaleUpMetricName": "CPUUtilization", "ASGScaleUpPolicyCooldown": 60, "ASGScaleUpPolicyEvaluationPeriods": 2, "ASGScaleUpPolicyPeriod": 60, "ASGScaleUpPolicyScalingAdjustment": 2, "ASGScaleUpPolicyStatistic": "Average", "ASGScaleUpPolicyThreshold": 75, "ASGSubnetIds": ["subnet-1234abcd", "subnet-1a2b3c4d"], "ASGUserData": "pwd\nls -ltrh\necho \"Hello, World\"" } }