Creación de una sincronización de datos de recursos para Inventory - AWS Systems Manager

Creación de una sincronización de datos de recursos para Inventory

En este tema se describe cómo configurar y configurar la sincronización de datos de recursos para AWS Systems Manager Inventory. Para obtener información acerca de la sincronización de datos de recursos para Systems Manager Explorer, consulte Configuración de Systems Manager Explorer para mostrar datos de varias cuentas y regiones.

Acerca de la sincronización de datos de recursos

Puede utilizar la sincronización de datos de recursos de Systems Manager para enviar datos de inventario recopilados de todos los nodos administrados a un solo bucket de Amazon Simple Storage Service (Amazon S3). A continuación, la sincronización de datos de recursos actualiza automáticamente los datos centralizados cuando se recopilan los nuevos datos de inventario. Con todos los datos de inventario almacenados en un bucket de Amazon S3 de destino, puede usar servicios como Amazon Athena y Amazon QuickSight para consultar y analizar los datos agregados.

Por ejemplo, digamos que ha configurado inventario para recopilar datos sobre el sistema operativo (SO) y las aplicaciones que se ejecutan en una flota de 150 nodos administrados. Algunos de estos nodos se encuentran en un centro de datos en las instalaciones y otros se ejecutan en Amazon Elastic Compute Cloud (Amazon EC2) en varias Regiones de AWS. Si no ha configurado la sincronización de datos de recursos, tendrá que reunir manualmente la recopilación de datos de inventario para cada nodo administrado o tendrá que crear scripts que recopilen esta información. Después tendrá que portar los datos a una aplicación para poder ejecutar consultas y analizarlas.

Con la sincronización de datos de recursos se lleva a cabo una única operación que sincroniza todos los datos de inventario de todos los nodos administrados. Después de haber creado correctamente la sincronización, Systems Manager crea una base de referencia de todos los datos de inventario y la guarda en el bucket de Amazon S3 de destino. Cuando se recopilen nuevos datos de inventario, Systems Manager actualizará automáticamente los datos en el bucket de Amazon S3. A continuación, puede transferir de forma rápida y rentable los datos a Amazon Athena y Amazon QuickSight.

En el diagrama 1, se muestra cómo la sincronización de datos de recursos agrega los datos de inventario de Amazon EC2 y otros tipos de equipos en un entorno híbrido y multinube a un bucket de Amazon S3 de destino. Dicho diagrama muestra también cómo funciona la sincronización de datos de recursos con varias Cuentas de AWS y Regiones de AWS.

Diagrama 1: sincronización de datos de recursos con varias Cuentas de AWS y Regiones de AWS

Arquitectura de la sincronización de datos de recursos de Systems Manager

Si elimina un nodo administrado, la sincronización de datos de recursos conserva el archivo de inventario del nodo eliminado. En el caso de los nodos en ejecución, la sincronización de datos de recursos, sin embargo, sobrescribe automáticamente los archivos de inventario antiguos cuando se crean y escriben archivos nuevos en el bucket de Amazon S3. Si desea realizar un seguimiento de los cambios de inventario con el paso del tiempo, puede utilizar el servicio AWS Config para realizar un seguimiento del tipo de recurso SSM:ManagedInstanceInventory. Para obtener más información, consulte Introducción a AWS Config.

Utilice los procedimientos de esta sección para crear una sincronización de datos de recursos para Inventory mediante las consolas de Amazon S3 y AWS Systems Manager. También puede utilizar AWS CloudFormation para crear o eliminar una sincronización de datos de recursos. Para utilizar AWS CloudFormation, agregue el recurso AWS::SSM::ResourceDataSync a la plantilla de AWS CloudFormation. Para obtener información, consulte uno de los siguientes recursos de documentación:

nota

Puede utilizar AWS Key Management Service (AWS KMS) para cifrar los datos de inventario en el bucket de Amazon S3. Si desea ver un ejemplo de cómo crear una sincronización cifrada mediante la AWS Command Line Interface (AWS CLI) y cómo trabajar con los datos centralizados en Amazon Athena y Amazon QuickSight, consulte Explicación: utilizar la sincronización de datos de recursos para agregar datos de inventario.

Antes de empezar

Antes de crear una sincronización de datos de recursos, utilice el siguiente procedimiento para crear un bucket de Amazon S3 central para almacenar datos de inventario agregados. El procedimiento describe cómo asignar una política de bucket que permite a Systems Manager escribir datos de inventario en el bucket desde varias cuentas. Si ya tiene un bucket de Amazon S3 que desea utilizar para agregar datos de inventario para la sincronización de datos de recursos, debe configurar el bucket para que utilice la política en el siguiente procedimiento.

nota

Systems Manager Inventory no puede agregar datos a un bucket de Amazon S3 especificado si ese bucket está configurado para utilizar Object Lock. Compruebe que el bucket de Amazon S3 que cree o elija para la sincronización de datos de recursos no esté configurado para utilizar Object Lock de Amazon S3. Para obtener más información, consulte Cómo funciona Bloqueo de objetos de S3 en la Guía del usuario de Amazon Simple Storage Service.

Para crear y configurar un bucket de Amazon S3 para la sincronización de datos de recursos
  1. Abra la consola de Amazon S3 en https://console.aws.amazon.com/s3/.

  2. Cree un bucket para almacenar los datos de Inventory agregados. Para obtener más información, consulte Crear un bucket en la Guía del usuario de Amazon Simple Storage Service. Anote el nombre de bucket y la Región de AWS donde lo creó.

  3. Elija la pestaña Permisos y, a continuación, elija Política de bucket.

  4. Copie y pegue la siguiente política de bucket en el editor de políticas. Reemplace amzn-s3-demo-bucke y account-id por el nombre del bucket de S3 que ha creado y un ID de Cuenta de AWS válido.

    Para habilitar varias Cuentas de AWS para enviar los datos de inventario al bucket de Amazon S3 central, especifique cada una de las cuentas en la política, tal como se muestra en el siguiente ejemplo de Resource:

    "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket1/*/accountid=123456789012/*", "arn:aws:s3:::amzn-s3-demo-bucket2/*/accountid=444455556666/*", "arn:aws:s3:::amzn-s3-demo-bucket3/*/accountid=777788889999/*" ], "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceAccount": [ "123456789012", "444455556666", "777788889999" ] }, "ArnLike": { "aws:SourceArn": [ "arn:aws:ssm:*:123456789012:resource-data-sync/*", "arn:aws:ssm:*:444455556666:resource-data-sync/*", "arn:aws:ssm:*:777788889999:resource-data-sync/*" ] } }
    nota

    Para obtener información acerca de cómo visualizar el ID de Cuenta de AWS, consulte Su ID de cuenta y alias de Amazon Web Services en la Guía del usuario de IAM.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "SSMBucketPermissionsCheck", "Effect": "Allow", "Principal": { "Service": "ssm.amazonaws.com" }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket" }, { "Sid": " SSMBucketDelivery", "Effect": "Allow", "Principal": { "Service": "ssm.amazonaws.com" }, "Action": "s3:PutObject", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/*/accountid=ID_number/*", "arn:aws:s3:::amzn-s3-demo-bucket/*/accountid=ID_number/*", "arn:aws:s3:::amzn-s3-demo-bucket/*/accountid=ID_number/*", "arn:aws:s3:::amzn-s3-demo-bucket/*/accountid=ID_number/*" ], "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceAccount": "ID_number" }, "ArnLike": { "aws:SourceArn": "arn:aws:ssm:*:ID_number:resource-data-sync/*" } } } ] }

Creación de una sincronización de datos de recursos para Inventory

Utilice el siguiente procedimiento para crear una sincronización de datos de recursos para Systems Manager Inventory mediante la consola de Systems Manager. Para obtener información acerca de cómo crear una sincronización de datos de recursos utilizando la AWS CLI, consulte Uso de la AWS CLI para configurar la recopilación de datos de inventario.

Para crear una sincronización de datos de recursos
  1. Abra la consola de AWS Systems Manager en https://console.aws.amazon.com/systems-manager/.

  2. En el panel de navegación, elija Fleet Manager.

  3. En el menú Administración de cuentas, elija Sincronización de datos de recursos.

  4. Elija Crear sincronización de datos de recursos.

  5. En el campo Nombre de la sincronización ingrese el nombre de la configuración de sincronización.

  6. En el campo Nombre del bucket, ingrese el nombre del bucket de Amazon S3 que creó con el procedimiento Para crear y configurar un bucket de Amazon S3 para la sincronización de datos de recursos.

  7. (Opcional) En el campo Prefijo del bucket, ingrese el nombre de un prefijo de bucket de Amazon S3 (subdirectorio).

  8. En el campo Región del bucket, elija This region si el bucket de Amazon S3 que ha creado se encuentra en la Región de AWS actual. Si el bucket se encuentra en otra Región de AWS, elija Otra región e ingrese el nombre de la región.

    nota

    Si la sincronización y el bucket de Amazon S3 de destino se encuentran en regiones diferentes, es posible que esté sujeto a precios de transferencia de datos. Para obtener más información, consulte Precios de Amazon S3.

  9. (Opcional) En el campo ARN de la clave del KMS, escriba o pegue un ARN de clave de KMS para cifrar los datos de inventario de Amazon S3.

  10. Seleccione Crear.

Para sincronizar los datos de inventario de varias Regiones de AWS, debe crear una sincronización de datos de recursos en cada región. Repita este procedimiento en cada Región de AWS en la que desea recopilar los datos de inventario y enviarlos al bucket de Amazon S3 central. Cuando cree la sincronización en cada región, especifique el bucket de Amazon S3 central en el campo Nombre del bucket. A continuación, utilice la opción Región del bucket para elegir la región en la que ha creado el bucket de Amazon S3 central, tal y como se muestra en la siguiente captura de pantalla. La próxima vez que la asociación se ejecute para recopilar los datos de inventario, Systems Manager almacenará los datos en el bucket de Amazon S3 central.

Sincronización de datos de recursos de Systems Manager desde varias Regiones de AWS

Creación de una sincronización de datos de recursos de inventario para cuentas definidas en AWS Organizations

Puede sincronizar los datos de inventario de Cuentas de AWS definidas en AWS Organizations a un bucket de Amazon S3 central. Después de completar los siguientes procedimientos, los datos de inventario se sincronizan con prefijos de clave individuales de Amazon S3 en el bucket central. Cada prefijo de clave representa un ID de Cuenta de AWS diferente.

Antes de empezar

Antes de comenzar, compruebe que ha preparado y configurado Cuentas de AWS en AWS Organizations. Para obtener más información, consulte en la Guía del usuario de AWS Organizations.

Además, tenga en cuenta que debe crear la sincronización de datos de recursos basada en la organización para cada Región de AWS y Cuenta de AWS definida en AWS Organizations.

Creación de un bucket de Amazon S3 central

Utilice el siguiente procedimiento para crear un bucket de Amazon S3 central para almacenar datos de inventario agregados. El procedimiento describe cómo asignar una política de bucket que permite a Systems Manager escribir datos de inventario en el bucket desde el ID de cuenta de AWS Organizations. Si ya tiene un bucket de Amazon S3 que desea utilizar para agregar datos de inventario para la sincronización de datos de recursos, debe configurar el bucket para que utilice la política en el siguiente procedimiento.

Para crear y configurar un bucket de Amazon S3 para la sincronización de datos de recursos para varias cuentas definidas en AWS Organizations
  1. Abra la consola de Amazon S3 en https://console.aws.amazon.com/s3/.

  2. Cree un bucket para almacenar los datos de inventario agregados. Para obtener más información, consulte Crear un bucket en la Guía del usuario de Amazon Simple Storage Service. Anote el nombre de bucket y la Región de AWS donde lo creó.

  3. Elija la pestaña Permisos y, a continuación, elija Política de bucket.

  4. Copie y pegue la siguiente política de bucket en el editor de políticas. Reemplace amzn-s3-demo-bucket y organization-id por el nombre del bucket de Amazon S3 que ha creado y un ID de cuenta de AWS Organizations válido.

    Si lo desea, reemplace bucket-prefix por el nombre de un prefijo de Amazon S3 (subdirectorio). Si no ha creado ningún prefijo, quite bucket-prefix/ del ARN de la siguiente política.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "SSMBucketPermissionsCheck", "Effect": "Allow", "Principal": { "Service": "ssm.amazonaws.com" }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::S3_bucket_name" }, { "Sid": " SSMBucketDelivery", "Effect": "Allow", "Principal": { "Service": "ssm.amazonaws.com" }, "Action": "s3:PutObject", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/bucket-prefix/*/accountid=*/*" ], "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceOrgID": "organization-id" } } }, { "Sid": " SSMBucketDeliveryTagging", "Effect": "Allow", "Principal": { "Service": "ssm.amazonaws.com" }, "Action": "s3:PutObjectTagging", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/bucket-prefix/*/accountid=*/*" ] } ] }

Creación de una sincronización de datos de recursos de inventario para cuentas definidas en AWS Organizations

En el siguiente procedimiento se describe cómo utilizar la AWS CLI para crear una sincronización de datos de recursos para cuentas definidas en AWS Organizations. Debe utilizar la AWS CLI para realizar esta tarea. También debe realizar este procedimiento para cada Región de AWS y Cuenta de AWS definida en AWS Organizations.

Para crear una sincronización de datos de recursos para una cuenta definida en AWS Organizations (AWS CLI)
  1. Si aún no lo ha hecho, instale y configure la AWS Command Line Interface (AWS CLI).

    Para obtener más información, consulte Instalación o actualización de la última versión de la AWS CLI.

  2. Ejecute el siguiente comando para comprobar que no dispone de ninguna otra sincronización de datos de recursos basada en AWS Organizations. Puede tener varias sincronizaciones estándar, incluidas varias sincronizaciones estándar y una sincronización basada en organizaciones. Pero, solo puede disponer de una sincronización de datos de recursos basada en la organización.

    aws ssm list-resource-data-sync

    Si el comando regresa otra sincronización de datos de recursos basada en organizaciones, debe eliminarla o elegir no crear una nueva.

  3. Ejecute el siguiente comando para crear una sincronización de datos de recursos para una cuenta definida en AWS Organizations. Para amzn-s3-demo-bucket, especifique el nombre del bucket de Amazon S3 creado anteriormente en este tema. Si ha creado un prefijo (subdirectorio) para el bucket, especifique esta información para prefix-name.

    aws ssm create-resource-data-sync --sync-name name --s3-destination "BucketName=amzn-s3-demo-bucket,Prefix=prefix-name,SyncFormat=JsonSerDe,Region=Región de AWS, for example us-east-2,DestinationDataSharing={DestinationDataSharingType=Organization}"
  4. Repita los pasos 2 y 3 para cada Región de AWS y Cuenta de AWS en el que desee sincronizar datos con el bucket de Amazon S3 central.

Administración de sincronizaciones de datos de recursos

Cada Cuenta de AWS puede tener 5 sincronizaciones de datos de recursos por Región de AWS. Puede utilizar la consola de AWS Systems Manager Fleet Manager para administrar las sincronizaciones de datos de recursos.

Visualización de las sincronizaciones de datos de recursos
  1. Abra la consola de AWS Systems Manager en https://console.aws.amazon.com/systems-manager/.

  2. En el panel de navegación, elija Fleet Manager.

  3. En el menú desplegable Administración de cuenta, elija Sincronizaciones de datos de recursos.

  4. Seleccione una sincronización de datos de recursos de la tabla y luego, elija Ver detalles para ver la información de la sincronización de datos de recursos.

Para eliminar una sincronización de datos de recursos
  1. Abra la consola de AWS Systems Manager en https://console.aws.amazon.com/systems-manager/.

  2. En el panel de navegación, elija Fleet Manager.

  3. En el menú desplegable Administración de cuenta, elija Sincronizaciones de datos de recursos.

  4. Seleccione una sincronización de datos de recursos de la tabla y luego, elija Eliminar.