Creating a resource data sync for Inventory - AWS Systems Manager

Creating a resource data sync for Inventory

Este tópico descreve como instalar e configurar a sincronização de dados de recursos para o inventário do AWS Systems Manager. Para obter informações sobre sincronização de dados de recursos para Systems Manager Explorer, consulte Configurar o Systems Manager Explorer para exibir dados de várias contas e regiões.

Sobre a sincronização de dados de recursos

Você pode usar a sincronização de dados de recursos do Systems Manager para enviar dados do inventário coletados de todas os nós gerenciados para um único bucket do Amazon Simple Storage Service (Amazon S3). A sincronização de dados de recursos atualizará automaticamente os dados centralizados quando novos dados de inventário forem coletados. Com todos os dados do inventário armazenados em um bucket do Amazon S3 de destino, você pode usar serviços como o Amazon Athena e Amazon QuickSight para consultar e analisar os dados agregados.

Por exemplo, digamos que você tenha configurado o inventário para coletar dados sobre o sistema operacional (SO) e as aplicações em execução em uma frota de 150 nós gerenciados. Alguns desses nós estão localizados em um data center on-premises e outros são executados no Amazon Elastic Compute Cloud (Amazon EC2), em várias Regiões da AWS. Se você não tiver configurado a sincronização de dados de recursos, precisará coletar os dados de inventário coletados em cada nó ou criar scripts para coletar essas informações. Você precisaria então compatibilizar os dados em um aplicativo para poder executar consultas e analisá-los.

Com a sincronização de dados de recursos, você executa uma operação única que sincroniza todos os dados de inventário de todas os nós gerenciados. Depois que a sincronização for criada com êxito, o Systems Manager criará uma lista de referência de todos os dados do inventário e salvará essa lista no bucket do Amazon S3 de destino. Quando novos dados de inventário são coletados, o Systems Manager atualiza automaticamente os dados no bucket do Amazon S3. Você pode então fazer a portabilidade dos dados de forma rápida e econômica para o Amazon Athena e o Amazon QuickSight.

O Diagrama 1 mostra como a sincronização de dados de recursos agrega dados de inventário do Amazon EC2 outros tipos de máquina em um ambiente híbrido e multinuvem para um bucket do Amazon S3 de destino. Esse diagrama também mostra como a sincronização de dados de recursos funciona com várias contas Contas da AWS e Regiões da AWS.

Diagrama 1: sincronização de dados de recursos com as Contas da AWS e Regiões da AWS

Arquitetura de sincronização de dados de recursos do Systems Manager

Se você excluir um nó gerenciado, a sincronização de dados de recursos preservará o arquivo de inventário do nó excluído. Para nós em execução, a sincronização de dados de recursos substitui automaticamente os arquivos de inventário antigos quando arquivos forem criados e gravados no bucket do Amazon S3. Se quiser acompanhar as alterações de inventário ao longo do tempo, você poderá usar o serviço AWS Config para rastrear o tipo de recurso SSM:ManagedInstanceInventory. Para obter mais informações, consulte o tópico Conceitos básicos sobre a AWS Config.

Use os procedimentos desta seção para criar uma sincronização de dados de recursos para o Inventory usando os consoles do Amazon S3 e do AWS Systems Manager. Você também pode usar o AWS CloudFormation para criar ou excluir uma sincronização de dados de recursos. Para usar o AWS CloudFormation, adicione o recurso AWS::SSM::ResourceDataSync ao modelo AWS CloudFormation. Para obter informações, consulte um dos seguintes recursos da documentação:

nota

Você pode usar o AWS Key Management Service (AWS KMS) para criptografar dados de inventário no bucket do Amazon S3. Para obter um exemplo de como criar uma sincronização criptografada usando a AWS Command Line Interface (AWS CLI) e como trabalhar com os dados centralizados no Amazon Athena e no Amazon QuickSight, consulte Demonstração: usar a sincronização de dados de recursos para agregar dados do inventário.

Antes de começar

Antes de criar uma sincronização de dados de recurso, use o procedimento a seguir para criar um bucket central do Amazon S3 para armazenar dados de inventário agregados. O procedimento descreve como atribuir uma política de bucket que permite que o Systems Manager grave os dados do inventário no bucket de várias contas. Se você já tiver um bucket do Amazon S3 que deseja usar para agregar dados de inventário para sincronização de dados de recursos, configure o bucket para usar a política no procedimento a seguir.

nota

O Systems Manager Inventory não pode adicionar dados a um bucket do Amazon S3 especificado se esse bucket estiver configurado para usar o Object Lock. Verifique se o bucket do Amazon S3 que você cria ou escolhe para a sincronização de dados de recursos não está configurado para usar o Amazon S3 Object Lock. Para obter mais informações, consulte Como o bloqueio de objetos do Amazon S3 funciona no Guia do usuário do Amazon Simple Storage Service.

Para criar e configurar um bucket do Amazon S3 para a sincronização de dados de recursos
  1. Abra o console do Amazon S3 em https://console.aws.amazon.com/s3/.

  2. Crie um bucket para armazenar os dados agregados do Inventory. Para obter mais informações, consulte Criar um bucket no Guia do usuário do Amazon Simple Storage Service. Anote o nome do bucket e a Região da AWS em que você o criou.

  3. Escolha a guia Permissions e depois escolha Bucket Policy.

  4. Copie e cole a seguinte política de bucket no editor de políticas. Substitua amzn-s3-demo-bucket e account-id pelo nome do bucket do S3 que você criou e um ID de Conta da AWS válido.

    Para habilitar várias contas da Contas da AWS para enviar dados de inventário ao bucket central do Amazon S3, especifique cada conta na política, conforme mostrado no seguinte exemplo 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 obter informações sobre como visualizar o ID da Conta da AWS, consulte ID da conta ou alias do Amazon Web Services e seus alias no Manual do usuário do 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/*" } } } ] }

Criar uma sincronização de dados do recurso para o Inventory

Use o procedimento a seguir para criar uma sincronização de dados de recursos do Systems Manager Inventory usando o console do Systems Manager. Para obter informações sobre como criar uma sincronização de dados de recursos usando a AWS CLI, consulte Using the AWS CLI to configure inventory data collection.

Como criar uma sincronização de dados de recurso
  1. Abra o console AWS Systems Manager em https://console.aws.amazon.com/systems-manager/.

  2. No painel de navegação, escolha Fleet Manager.

  3. No menu Account management (Gerenciamento de contas), selecione Resource data syncs (Sincronizações de dados do recurso).

  4. Escolha Create resource data sync (Criar sincronização de dados de recurso).

  5. No campo Sync name (Nome da sincronização), digite um nome para a configuração de sincronização.

  6. No campo Bucket name (Nome do bucket), insira o nome do bucket do Amazon S3 que você criou usando o procedimento Como criar e configurar um bucket do Amazon S3 para sincronização de dados de recursos.

  7. (Opcional) No campo Bucket prefix (Prefixo do bucket), digite o nome de um prefixo de bucket do Amazon S3 (subdiretório).

  8. No campo Bucket region (Região do bucket), escolha This region (Esta região) se o bucket do Amazon S3 que você criou estiver localizado na região atual da Região da AWS. Se o bucket estiver localizado em uma Região da AWS diferente, escolha Another region (Outra região) e digite o nome da região.

    nota

    Se a sincronização e o bucket do Amazon S3 de destino estiverem localizados em diferentes regiões, você poderá estar sujeito ao preço da transferência de dados. Para obter mais informações, consulte Preços do Amazon S3.

  9. (Opcional) No campo KMS Key ARN (ARN da chave do KMS), digite ou cole um ARN da chave do KMS para criptografar dados de inventário no Amazon S3.

  10. Escolha Criar.

Para sincronizar os dados do inventário de várias Regiões da AWS, você deve criar uma sincronização de dados de recursos em cada região. Repita esse procedimento em cada Região da AWS onde você quiser coletar dados de inventário e envie-os para o bucket central do Amazon S3. Ao criar a sincronização em cada região, especifique o bucket central do Amazon S3 no campo Bucket name (Nome do bucket). Em seguida, use a opção Bucket region (Região do bucket) para escolher a região em que você criou o bucket central do Amazon S3, conforme mostrado na captura de tela a seguir. Na próxima vez que a associação for executada para coletar dados de inventário, o Systems Manager armazenará os dados no bucket central do Amazon S3.

Sincronização de dados de recursos do Systems Manager de várias Regiões da AWS

Criar uma sincronização de dados de recursos do inventário para várias contas definidas no AWS Organizations

Você pode sincronizar os dados do inventário de Contas da AWS definidas no AWS Organizations com um bucket central do Amazon S3 Depois de concluir o procedimento a seguir, os dados de inventário serão sincronizados com prefixos de chave individuais do Amazon S3 no bucket central. Cada prefixo de chave representa um ID de Conta da AWS diferente.

Antes de começar

Antes de começar, verifique se você definiu e configurou várias Contas da AWS e AWS Organizations. Para obter mais informações, consulte a no Manual do usuário do AWS Organizations.

Além disso, será necessário criar a sincronização de dados do recurso baseada na organização para cada Região da AWS e Conta da AWS definido em AWS Organizations.

Criar um bucket central do Amazon S3

Use o procedimento a seguir para criar um bucket central do Amazon S3 para armazenar dados do inventário agregados. O procedimento descreve como atribuir uma política de bucket que permite que o Systems Manager grave os dados do inventário no bucket no ID da conta do AWS Organizations. Se você já tiver um bucket do Amazon S3 que deseja usar para agregar dados de inventário para sincronização de dados de recursos, configure o bucket para usar a política no procedimento a seguir.

Para criar e configurar um bucket do Amazon S3 para a sincronização de dados de recursos de várias contas definidas no AWS Organizations
  1. Abra o console do Amazon S3 em https://console.aws.amazon.com/s3/.

  2. Crie um bucket para armazenar os dados de inventário agregados. Para obter mais informações, consulte Criar um bucket no Guia do usuário do Amazon Simple Storage Service. Anote o nome do bucket e a Região da AWS em que você o criou.

  3. Escolha a guia Permissions e depois escolha Bucket Policy.

  4. Copie e cole a seguinte política de bucket no editor de políticas. Substitua amzn-s3-demo-bucket e organization-id pelo nome do bucket do Amazon S3 que você criou e um ID de conta do AWS Organizations válido.

    Opcionalmente, substitua bucket-prefix pelo nome de um prefixo do Amazon S3 (subdiretório). Se você não tiver criado um prefixo, remova o bucket-prefix/ do ARN na seguinte 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=*/*" ] } ] }

Crie uma sincronização de dados de recursos do inventário para várias contas definidas no AWS Organizations

O procedimento a seguir descreve como usar a AWS CLI para criar uma sincronização de dados de recursos para contas que estiverem definidas no AWS Organizations. Use a AWS CLI para executar estas etapas. Você também deve executar este procedimento para cada Região da AWS e Conta da AWS definidas em AWS Organizations.

Para criar uma sincronização de dados de recursos de várias contas definidas na AWS Organizations (AWS CLI)
  1. Instale e configure a AWS Command Line Interface (AWS CLI), caso ainda não o tenha feito.

    Para obter informações, consulte Instalar ou atualizar a versão mais recente da AWS CLI.

  2. Execute o comando a seguir para verificar se você não tem nenhuma outra sincronização de dados de recursos baseada em AWS Organizations. Você pode ter várias sincronizações padrão, incluindo várias sincronizações padrão e uma sincronização baseada em organizações. Contudo, você só pode ter uma sincronização de dados de recurso baseada em organização.

    aws ssm list-resource-data-sync

    Se o comando retornar outra sincronização de dados de recurso, baseada em organização, você deverá excluí-la ou optar por não criar uma nova.

  3. Execute o comando a seguir para criar uma sincronização de dados de recursos para uma conta definida no AWS Organizations. Para o amzn-s3-demo-bucket, especifique o nome do bucket do Amazon S3 criado anteriormente neste tópico. Se você criou um prefixo (subdiretório) para o bucket, especifique essas informações em 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ão da AWS, for example us-east-2,DestinationDataSharing={DestinationDataSharingType=Organization}"
  4. Repita as etapas 2 e 3 para cada Região da AWS e Conta da AWS onde deseja sincronizar dados com o bucket central do Amazon S3.

Gerenciar a sincronização de dados de recursos

Cada Conta da AWS pode conter cinco sincronizações de dados de recursos por Região da AWS. Você pode usar o console do Fleet Manager do AWS Systems Manager para gerenciar sincronizações de dados de recursos.

Para visualizar sincronizações de dados de recursos
  1. Abra o console AWS Systems Manager em https://console.aws.amazon.com/systems-manager/.

  2. No painel de navegação, escolha Fleet Manager.

  3. No menu suspenso Gerenciamento de contas, selecione Sincronizações de dados do recurso.

  4. Selecione uma sincronização de dados de recursos na tabela e escolha Visualizar detalhes para ver informações sobre a sincronização de dados de recursos.

Como excluir uma sincronização de dados de recurso
  1. Abra o console AWS Systems Manager em https://console.aws.amazon.com/systems-manager/.

  2. No painel de navegação, escolha Fleet Manager.

  3. No menu suspenso Gerenciamento de contas, selecione Sincronizações de dados do recurso.

  4. Selecione uma sincronização de dados de recursos na tabela e escolha Excluir.