Creación de plantillas de cambios con las herramientas de línea de comandos - AWS Systems Manager

Creación de plantillas de cambios con las herramientas de línea de comandos

En los siguientes procedimientos, se describe cómo utilizar la AWS Command Line Interface (AWS CLI) (en Linux, macOS o Windows) o las AWS Tools for Windows PowerShell para crear una solicitud de cambio en Change Manager, una capacidad de AWS Systems Manager.

Para crear una nueva plantilla de cambios
  1. Si aún no lo ha hecho, instale y configure la AWS CLI o las AWS Tools for PowerShell.

    Para obtener información, consulte Instalación o actualización de la última versión de la AWS CLI e Instalación de AWS Tools for PowerShell.

  2. Cree un archivo JSON en su equipo local con un nombre similar a MyChangeTemplate.json y, a continuación, péguele el contenido para su plantilla de cambios.

    nota

    Las plantillas de cambios utilizan una versión del esquema 0.3 que no incluye la misma compatibilidad que para los manuales de procedimientos de Automation.

    A continuación, se muestra un ejemplo.

    nota

    El parámetro minRequiredApprovals se utiliza para especificar cuántos revisores de un nivel especificado deben aprobar una solicitud de cambio creada mediante esta plantilla.

    En este ejemplo, se muestran dos niveles de aprobaciones. Puede especificar hasta cinco niveles de aprobaciones, pero solo se requiere un nivel.

    En el primer nivel, el usuario específico “John-Doe” debe aprobar cada solicitud de cambio. Después de eso, tres miembros cualesquiera del rol de IAM Admin deben aprobar la solicitud de cambio.

    Para obtener más información acerca de la aprobación de las plantillas de cambios, consulte Acerca de las aprobaciones en las plantillas de cambios.

    { "description": "This change template demonstrates the feature set available for creating change templates for Change Manager. This template starts a Runbook workflow for the Automation runbook called AWS-HelloWorld", "templateInformation": "### Document Name: HelloWorldChangeTemplate\n\n ## What does this document do?\n This change template demonstrates the feature set available for creating change templates for Change Manager. This template starts a Runbook workflow for the Automation runbook called AWS-HelloWorld.\n\n ## Input Parameters\n* ApproverSnsTopicArn: (Required) Amazon Simple Notification Service ARN for approvers.\n * Approver: (Required) The name of the approver to send this request to.\n * ApproverType: (Required) The type of reviewer. * Allowed Values: IamUser, IamGroup, IamRole, SSOGroup, SSOUser\n\n ## Output Parameters\nThis document has no outputs\n", "schemaVersion": "0.3", "parameters": { "ApproverSnsTopicArn": { "type": "String", "description": "Amazon Simple Notification Service ARN for approvers." }, "Approver": { "type": "String", "description": "IAM approver" }, "ApproverType": { "type": "String", "description": "Approver types for the request. Allowed values include IamUser, IamGroup, IamRole, SSOGroup, and SSOUser." } }, "executableRunBooks": [ { "name": "AWS-HelloWorld", "version": "1" } ], "emergencyChange": false, "autoApprovable": false, "mainSteps": [ { "name": "ApproveAction1", "action": "aws:approve", "timeoutSeconds": 3600, "inputs": { "Message": "A sample change request has been submitted for your review in Change Manager. You can approve or reject this request.", "EnhancedApprovals": { "NotificationArn": "{{ ApproverSnsTopicArn }}", "Approvers": [ { "approver": "John-Doe", "type": "IamUser", "minRequiredApprovals": 1 } ] } } }, { "name": "ApproveAction2", "action": "aws:approve", "timeoutSeconds": 3600, "inputs": { "Message": "A sample change request has been submitted for your review in Change Manager. You can approve or reject this request.", "EnhancedApprovals": { "NotificationArn": "{{ ApproverSnsTopicArn }}", "Approvers": [ { "approver": "Admin", "type": "IamRole", "minRequiredApprovals": 3 } ] } } } ] }
  3. Ejecute el siguiente comando para crear la plantilla de cambios.

    Linux & macOS
    aws ssm create-document \ --name MyChangeTemplate \ --document-format JSON \ --document-type Automation.ChangeTemplate \ --content file://MyChangeTemplate.json \ --tags Key=tag-key,Value=tag-value
    Windows
    aws ssm create-document ^ --name MyChangeTemplate ^ --document-format JSON ^ --document-type Automation.ChangeTemplate ^ --content file://MyChangeTemplate.json ^ --tags Key=tag-key,Value=tag-value
    PowerShell
    $json = Get-Content -Path "C:\path\to\file\MyChangeTemplate.json" | Out-String New-SSMDocument ` -Content $json ` -Name "MyChangeTemplate" ` -DocumentType "Automation.ChangeTemplate" ` -Tags "Key=tag-key,Value=tag-value"

    Para obtener más información sobre las opciones que puede especificar, consulte create-document.

    El sistema devuelve información similar a la siguiente.

    {
       "DocumentDescription":{
          "CreatedDate":1.585061751738E9,
          "DefaultVersion":"1",
          "Description":"Use this template to update an EC2 Linux AMI. Requires one
          approver specified in the template and an approver specified in the request.",
          "DocumentFormat":"JSON",
          "DocumentType":"Automation",
          "DocumentVersion":"1",
          "Hash":"0d3d879b3ca072e03c12638d0255ebd004d2c65bd318f8354fcde820dEXAMPLE",
          "HashType":"Sha256",
          "LatestVersion":"1",
          "Name":"MyChangeTemplate",
          "Owner":"123456789012",
          "Parameters":[
             {
                "DefaultValue":"",
                "Description":"Level one approvers",
                "Name":"LevelOneApprovers",
                "Type":"String"
             },
             {
                "DefaultValue":"",
                "Description":"Level one approver type",
                "Name":"LevelOneApproverType",
                "Type":"String"
             },
       "cloudWatchMonitors": {
          "monitors": [
             "my-cloudwatch-alarm"
          ]
       }
          ],
          "PlatformTypes":[
             "Windows",
             "Linux"
          ],
          "SchemaVersion":"0.3",
          "Status":"Creating",
          "Tags":[
    
          ]
       }
    }

Los usuarios de su organización o cuenta que se hayan especificado como revisores de plantillas en la pestaña Settings (Configuración) de Change Manager reciben una notificación que indica que una nueva plantilla de cambios está en espera de su revisión.

Si se ha especificado un tema de Amazon Simple Notification Service (Amazon SNS) para las plantillas de cambios, las notificaciones se envían cuando se rechaza o se aprueba la plantilla. Si no recibe notificaciones relacionadas con esta plantilla de cambios, puede regresar a Change Manager más tarde para verificar su estado.