Crear contenido en el documento de SSM - AWS Systems Manager

Crear contenido en el documento de SSM

Si los documentos públicos de AWS Systems Manager no llevan a cabo todas las acciones que desea realizar en sus recursos de AWS, puede crear sus propios documentos de SSM. También puede clonar documentos de SSM mediante la consola. La clonación de documentos copia el contenido de un documento existente a un documento nuevo que se puede modificar. Al crear o clonar un documento, el contenido del documento no debe superar los 64 KB. Esta cuota también incluye el contenido especificado para los parámetros de entrada en tiempo de ejecución. Cuando cree un nuevo documento Policy o Command, es recomendable que utilice la versión de esquema 2.2 o posterior para poder aprovechar las características más recientes, como la edición de documentos, el control automático de versiones, la secuenciación, etc.

Escribir contenido en el documento de SSM

Para crear su propio contenido del documento de SSM, es importante que conozca los diferentes esquemas, características, complementos y sintaxis disponibles para los documentos de SSM. Le recomendamos que se familiarice con los siguientes recursos.

Los documentos de SSM predefinidos de AWS pueden realizar algunas de las acciones que necesita. Puede llamar a estos documentos utilizando los complementos , aws:runDocument, aws:runCommand o aws:executeAutomation dentro del documento de SSM personalizado, en función del tipo de documento. También puede copiar partes de esos documentos en un documento de SSM personalizado y editar el contenido de acuerdo con sus necesidades.

sugerencia

Cuando crea contenido del documento de SSM, puede cambiar el contenido y actualizar el documento de SSM varias veces mientras lo prueba. Los siguientes comandos actualizan el documento de SSM con el contenido más reciente y actualizan la versión predeterminada del documento a la versión más reciente del documento.

nota

Los comandos de Linux y Windows utilizan la herramienta de línea de comandos jq para filtrar los datos de respuesta JSON.

Linux & macOS
latestDocVersion=$(aws ssm update-document \ --content file://path/to/file/documentContent.json \ --name "ExampleDocument" \ --document-format JSON \ --document-version '$LATEST' \ | jq -r '.DocumentDescription.LatestVersion') aws ssm update-document-default-version \ --name "ExampleDocument" \ --document-version $latestDocVersion
Windows
latestDocVersion=$(aws ssm update-document ^ --content file://C:\path\to\file\documentContent.json ^ --name "ExampleDocument" ^ --document-format JSON ^ --document-version "$LATEST" ^ | jq -r '.DocumentDescription.LatestVersion') aws ssm update-document-default-version ^ --name "ExampleDocument" ^ --document-version $latestDocVersion
PowerShell
$content = Get-Content -Path "C:\path\to\file\documentContent.json" | Out-String $latestDocVersion = Update-SSMDocument ` -Content $content ` -Name "ExampleDocument" ` -DocumentFormat "JSON" ` -DocumentVersion '$LATEST' ` | Select-Object -ExpandProperty LatestVersion Update-SSMDocumentDefaultVersion ` -Name "ExampleDocument" ` -DocumentVersion $latestDocVersion

Clonar un documento de SSM

Puede clonar documentos AWS Systems Manager mediante la consola de documentos de Systems Manager para crear documentos de SSM. La clonación de documentos de SSM copia el contenido de un documento existente a un documento nuevo que se puede modificar. No puede clonar un documento que supere los 64 KB.

Para clonar un documento de SSM
  1. Abra la consola de AWS Systems Manager en https://console.aws.amazon.com/systems-manager/.

  2. En el panel de navegación, elija Documentos.

  3. En el cuadro de búsqueda, ingrese el nombre del documento que desea clonar.

  4. Elija el nombre del documento que desea clonar y, a continuación, elija Clone document (Clonar documento) en el menú desplegable Actions (Acciones).

  5. Modifique el documento como prefiera y, a continuación, elija Create document (Crear documento) para guardar el documento.

Después de escribir el contenido del documento de SSM, puede utilizarlo para crear un documento de SSM mediante uno de los métodos siguientes.

Crear documentos de SSM

Creación de documentos compuestos

Un documento de AWS Systems Manager (SSM) compuesto es un documento personalizado que realiza una serie de acciones mediante la ejecución de uno o varios documentos de SSM secundarios. Los documentos compuestos promueven la infraestructura como código permitiéndole crear un conjunto estándar de documentos de SSM para tareas comunes como software de proceso de arranque o instancias que se unen a dominios. A continuación, puede compartir estos documentos en Cuentas de AWS en la misma Región de AWS para reducir el mantenimiento de documentos de SSM y garantizar la coherencia.

Por ejemplo, puede crear un documento compuesto que realiza las siguientes acciones:

  1. Instala todos los parches de la lista de permisos.

  2. Instala software antivirus.

  3. Descarga scripts de GitHub y los ejecuta.

En este ejemplo, el documento de SSM personalizado incluye los siguientes complementos para llevar a cabo estas acciones:

  1. El complemento aws:runDocument para ejecutar el documento AWS-RunPatchBaseline, que instala todas las revisiones permitidas que se enumeran.

  2. El complemento aws:runDocument para ejecutar el documento AWS-InstallApplication, que instala el software antivirus.

  3. El complemento aws:downloadContent para descargar scripts de GitHub y ejecutarlos.

Los documentos compuestos y secundarios se pueden almacenar en Systems Manager, GitHub (repositorios públicos y privados) o Amazon S3. Los documentos compuestos y secundarios se pueden crear en JSON o YAML.

nota

Los documentos compuestos solo se pueden ejecutar hasta una profundidad máxima de tres documentos. Esto significa que un documento compuesto puede llamar a un documento secundario; y que un documento secundario puede llamar a un último documento.

Para crear un documento compuesto, agregue el complemento aws:runDocument en un documento de SSM personalizado y especifique la información de entrada necesaria. Se muestra a continuación un ejemplo de un documento compuesto que realiza las siguientes acciones:

  1. Ejecuta el complemento aws:downloadContent para descargar un documento de SSM de un repositorio público GitHub a un directorio local llamado bootstrap. El documento de SSM se denomina StateManagerBootstrap.yml (un documento YAML).

  2. Ejecuta el complemento aws:runDocument para ejecutar el documento StateManagerBootstrap.yml. No se especifican parámetros.

  3. Ejecuta el complemento aws:runDocument para ejecutar el documento de SSM AWS-ConfigureDocker pre-defined. Los parámetros especificados instalan Docker en la instancia.

{ "schemaVersion": "2.2", "description": "My composite document for bootstrapping software and installing Docker.", "parameters": { }, "mainSteps": [ { "action": "aws:downloadContent", "name": "downloadContent", "inputs": { "sourceType": "GitHub", "sourceInfo": "{\"owner\":\"TestUser1\",\"repository\":\"TestPublic\", \"path\":\"documents/bootstrap/StateManagerBootstrap.yml\"}", "destinationPath": "bootstrap" } }, { "action": "aws:runDocument", "name": "runDocument", "inputs": { "documentType": "LocalPath", "documentPath": "bootstrap", "documentParameters": "{}" } }, { "action": "aws:runDocument", "name": "configureDocker", "inputs": { "documentType": "SSMDocument", "documentPath": "AWS-ConfigureDocker", "documentParameters": "{\"action\":\"Install\"}" } } ] }
Más información