Panduan: Menggunakan sinkronisasi data sumber daya untuk mengumpulkan data inventaris - AWS Systems Manager

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Panduan: Menggunakan sinkronisasi data sumber daya untuk mengumpulkan data inventaris

Panduan berikut menjelaskan cara membuat konfigurasi sinkronisasi data sumber daya untuk AWS Systems Manager Inventaris dengan menggunakan AWS Command Line Interface ()AWS CLI. Sinkronisasi data sumber daya secara otomatis mentransfer data inventaris dari semua node terkelola Anda ke bucket Amazon Simple Storage Service (Amazon S3) sentral. Sinkronisasi secara otomatis memperbarui data di bucket Amazon S3 sentral setiap kali data inventaris baru ditemukan.

Panduan ini juga menjelaskan cara menggunakan Amazon Athena dan Amazon untuk mengkueri dan QuickSight menganalisis data agregat. Untuk informasi tentang cara membuat sinkronisasi data sumber daya dengan menggunakan Systems Manager di AWS Management Console, lihatPanduan: Menggunakan sinkronisasi data sumber daya untuk mengumpulkan data inventaris. Untuk informasi tentang menanyakan inventaris dari beberapa akun Wilayah AWS dan menggunakan Systems Manager di bagian AWS Management Console, lihatMengkueri data inventaris dari beberapa Wilayah dan akun.

catatan

Panduan ini menyertakan informasi tentang cara mengenkripsi sinkronisasi dengan menggunakan AWS Key Management Service (AWS KMS). Inventaris tidak mengumpulkan data khusus pengguna, kepemilikan, atau sensitif sehingga enkripsi bersifat opsional. Untuk informasi selengkapnya AWS KMS, lihat Panduan AWS Key Management Service Pengembang.

Sebelum Anda mulai

Tinjau atau selesaikan tugas-tugas berikut sebelum Anda mulai panduan di bagian ini:

  • Kumpulkan data inventaris dari node terkelola Anda. Untuk kepentingan QuickSight bagian Amazon Athena dan Amazon dalam panduan ini, kami merekomendasikan agar Anda mengumpulkan data Aplikasi. Untuk informasi lebih lanjut tentang cara mengumpulkan data inventaris, lihat Pengonfigurasian pengumpulan inventaris atauMenggunakan AWS CLI untuk mengkonfigurasi pengumpulan data inventaris.

  • (Opsional) Jika data inventaris disimpan dalam bucket Amazon Simple Storage Service (Amazon S3) yang AWS Key Management Service menggunakan enkripsi AWS KMS(), Anda juga harus mengonfigurasi IAM akun dan Amazon-GlueServiceRoleForSSM peran layanan untuk enkripsi. AWS KMS Jika Anda tidak mengonfigurasi IAM akun dan peran ini, Systems Manager akan ditampilkan Cannot load Glue tables saat Anda memilih tab Tampilan Terperinci di konsol. Untuk informasi selengkapnya, lihat (Opsional) Konfigurasikan izin untuk melihat data AWS KMS terenkripsi.

  • (Opsional) Jika Anda ingin mengenkripsi sinkronisasi data sumber daya dengan menggunakan AWS KMS, maka Anda harus membuat kunci baru yang mencakup kebijakan berikut, atau Anda harus memperbarui kunci yang ada dan menambahkan kebijakan ini ke sana.

    { "Version": "2012-10-17", "Id": "ssm-access-policy", "Statement": [ { "Sid": "ssm-access-policy-statement", "Action": [ "kms:GenerateDataKey" ], "Effect": "Allow", "Principal": { "Service": "ssm.amazonaws.com" }, "Resource": "arn:aws:kms:us-east-2:123456789012:key/KMS_key_id", "Condition": { "StringLike": { "aws:SourceAccount": "123456789012" }, "ArnLike": { "aws:SourceArn": "arn:aws:ssm:*:123456789012:resource-data-sync/*" } } } ] }
Untuk membuat sinkronisasi data sumber daya untuk Inventaris
  1. Buka konsol Amazon S3 di. https://console.aws.amazon.com/s3/

  2. Buat bucket untuk menyimpan data inventaris agregat Anda. Untuk informasi selengkapnya, lihat Membuat Bucket di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon. Catat nama kelompok dan Wilayah AWS tempat Anda membuatnya.

  3. Setelah Anda membuat bucket, pilih tab Izin, dan kemudian pilih Kebijakan Bucket.

  4. Salin dan tempelkan kebijakan bucket berikut ke dalam editor kebijakan. Ganti amzn-s3-demo-bucket dan account-id dengan nama bucket Amazon S3 yang Anda buat dan ID yang valid Akun AWS . Saat menambahkan beberapa akun, tambahkan string kondisi tambahan dan ARN untuk setiap akun. Hapus placeholder tambahan dari contoh saat menambahkan satu akun. Secara opsional, ganti bucket-prefix dengan nama prefiks Amazon S3 (subdirektori). Jika Anda tidak membuat awalan, hapus bucket-prefix/ dari ARN dalam kebijakan.

    { "Version": "2012-10-17", "Statement": [ { "Sid": " SSMBucketDelivery", "Effect": "Allow", "Principal": { "Service": "ssm.amazonaws.com" }, "Action": "s3:PutObject", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/bucket-prefix/*/accountid=account-id/*" ], "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceAccount": [ "account-id1", "account-id2", "account-id3", "account-id4" ] }, "ArnLike": { "aws:SourceArn": [ "arn:aws:ssm:*:account-id1:resource-data-sync/*", "arn:aws:ssm:*:account-id2:resource-data-sync/*", "arn:aws:ssm:*:account-id3:resource-data-sync/*", "arn:aws:ssm:*:account-id4:resource-data-sync/*" ] } } } ] }
  5. (Opsional) Jika Anda ingin mengenkripsi sinkronisasi, maka Anda harus menambahkan kondisi berikut ke kebijakan yang tercantum pada langkah sebelumnya. Tambahkan ini di StringEquals bagian.

    "s3:x-amz-server-side-encryption":"aws:kms", "s3:x-amz-server-side-encryption-aws-kms-key-id":"arn:aws:kms:region:account_ID:key/KMS_key_ID"

    Inilah contohnya:

    "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceAccount": "account-id", "s3:x-amz-server-side-encryption":"aws:kms", "s3:x-amz-server-side-encryption-aws-kms-key-id":"arn:aws:kms:region:account_ID:key/KMS_key_ID" }
  6. Instal dan konfigurasikan AWS Command Line Interface (AWS CLI), jika Anda belum melakukannya.

    Untuk selengkapnya, lihat Menginstal atau memperbarui versi terbaru AWS CLI.

  7. (Opsional) Jika Anda ingin mengenkripsi sinkronisasi, jalankan perintah berikut untuk memverifikasi bahwa kebijakan bucket menegakkan persyaratan AWS KMS kunci. Ganti masing-masing example resource placeholder dengan informasi Anda sendiri.

    Linux & macOS
    aws s3 cp ./A_file_in_the_bucket s3://amzn-s3-demo-bucket/prefix/ \ --sse aws:kms \ --sse-kms-key-id "arn:aws:kms:region:account_ID:key/KMS_key_id" \ --region region, for example, us-east-2
    Windows
    aws s3 cp ./A_file_in_the_bucket s3://amzn-s3-demo-bucket/prefix/ ^ --sse aws:kms ^ --sse-kms-key-id "arn:aws:kms:region:account_ID:key/KMS_key_id" ^ --region region, for example, us-east-2
  8. Jalankan perintah berikut untuk membuat konfigurasi sinkronisasi data sumber daya dengan bucket Amazon S3 yang Anda buat pada awal prosedur ini. Perintah ini membuat sinkronisasi dari yang Wilayah AWS Anda masuki.

    catatan

    Jika sinkronisasi dan bucket Amazon S3 target berada di berbagai wilayah, Anda mungkin akan dibebani harga transfer data. Untuk informasi selengkapnya, lihat Harga Amazon S3.

    Linux & macOS
    aws ssm create-resource-data-sync \ --sync-name a_name \ --s3-destination "BucketName=amzn-s3-demo-bucket,Prefix=prefix_name, if_specified,SyncFormat=JsonSerDe,Region=bucket_region"
    Windows
    aws ssm create-resource-data-sync ^ --sync-name a_name ^ --s3-destination "BucketName=amzn-s3-demo-bucket,Prefix=prefix_name, if_specified,SyncFormat=JsonSerDe,Region=bucket_region"

    Anda dapat menggunakan parameter region untuk menentukan di mana konfigurasi sinkronisasi harus dibuat. Dalam contoh berikut, data inventaris dari Wilayah us-west-1, akan disinkronkan di bucket Amazon S3 di Wilayah us-west-2.

    Linux & macOS
    aws ssm create-resource-data-sync \ --sync-name InventoryDataWest \ --s3-destination "BucketName=amzn-s3-demo-bucket,Prefix=HybridEnv,SyncFormat=JsonSerDe,Region=us-west-2" --region us-west-1
    Windows
    aws ssm create-resource-data-sync ^ --sync-name InventoryDataWest ^ --s3-destination "BucketName=amzn-s3-demo-bucket,Prefix=HybridEnv,SyncFormat=JsonSerDe,Region=us-west-2" ^ --region us-west-1

    (Opsional) Jika Anda ingin mengenkripsi sinkronisasi dengan menggunakan AWS KMS, jalankan perintah berikut untuk membuat sinkronisasi. Jika Anda mengenkripsi sinkronisasi, maka AWS KMS kunci dan bucket Amazon S3 harus berada di Wilayah yang sama.

    Linux & macOS
    aws ssm create-resource-data-sync \ --sync-name sync_name \ --s3-destination "BucketName=amzn-s3-demo-bucket,Prefix=prefix_name, if_specified,SyncFormat=JsonSerDe,AWSKMSKeyARN=arn:aws:kms:region:account_ID:key/KMS_key_ID,Region=bucket_region" \ --region region
    Windows
    aws ssm create-resource-data-sync ^ --sync-name sync_name ^ --s3-destination "BucketName=amzn-s3-demo-bucket,Prefix=prefix_name, if_specified,SyncFormat=JsonSerDe,AWSKMSKeyARN=arn:aws:kms:region:account_ID:key/KMS_key_ID,Region=bucket_region" ^ --region region
  9. Jalankan perintah berikut untuk menampilkan status konfigurasi sinkronisasi.

    aws ssm list-resource-data-sync

    Jika Anda membuat konfigurasi sinkronisasi di Wilayah yang berbeda, maka Anda harus menentukan parameter region, seperti yang ditunjukkan dalam contoh berikut.

    aws ssm list-resource-data-sync --region us-west-1
  10. Setelah konfigurasi sinkronisasi berhasil dibuat, periksa bucket target di Amazon S3. Data inventaris harus ditampilkan dalam beberapa menit.

Menggunakan Data di Amazon Athena

Bagian berikut menjelaskan cara melihat dan mengkueri data di Amazon Athena. Sebelum memulai, kami merekomendasikan agar Anda mempelajari tentang Athena. Untuk informasi lebih lanjut, lihat Apa itu Amazon Athena? dan Menggunakan Data di Panduan Pengguna Amazon Athena.

Untuk melihat dan mengkueri data di Amazon Athena
  1. Buka konsol Athena di https://console.aws.amazon.com/athena/.

  2. Salin dan tempelkan pernyataan berikut ke editor kueri lalu pilih Jalankan Kueri.

    CREATE DATABASE ssminventory

    Sistem membuat basis data yang disebut ssminventory.

  3. Salin dan tempelkan pernyataan berikut ke editor kueri lalu pilih Jalankan Kueri. Ganti amzn-s3-demo-bucket dan bucket_prefix dengan nama dan prefiks dari target Amazon S3.

    CREATE EXTERNAL TABLE IF NOT EXISTS ssminventory.AWS_Application ( Name string, ResourceId string, ApplicationType string, Publisher string, Version string, InstalledTime string, Architecture string, URL string, Summary string, PackageId string ) PARTITIONED BY (AccountId string, Region string, ResourceType string) ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe' WITH SERDEPROPERTIES ( 'serialization.format' = '1' ) LOCATION 's3://amzn-s3-demo-bucket/bucket_prefix/AWS:Application/'
  4. Salin dan tempelkan pernyataan berikut ke editor kueri lalu pilih Jalankan Kueri.

    MSCK REPAIR TABLE ssminventory.AWS_Application

    Sistem mempartisi tabel.

    catatan

    Jika Anda membuat sinkronisasi data sumber daya dari Wilayah AWS atau tambahan Akun AWS, maka Anda harus menjalankan perintah ini lagi untuk memperbarui partisi. Anda mungkin juga perlu memperbarui kebijakan bucket Amazon S3.

  5. Untuk mem-pratinjau data Anda, pilih ikon tampilan di samping tabel AWS_Application.

    Ikon data pratinjau di Amazon Athena.
  6. Salin dan tempelkan pernyataan berikut ke editor kueri lalu pilih Jalankan Kueri.

    SELECT a.name, a.version, count( a.version) frequency from aws_application a where a.name = 'aws-cfn-bootstrap' group by a.name, a.version order by frequency desc

    Kueri menampilkan angka berbagai versiaws-cfn-bootstrap, yang merupakan AWS aplikasi yang ada pada instans Amazon Elastic Compute Cloud (AmazonEC2) untuk Linux, macOS, dan Windows Server.

  7. Salin dan tempel pernyataan berikut secara individual ke editor kueri, ganti amzn-s3-demo-bucket dan bucket-prefix dengan informasi untuk Amazon S3, lalu pilih Jalankan Kueri. Pernyataan ini menyiapkan tabel inventaris tambahan di Athena.

    CREATE EXTERNAL TABLE IF NOT EXISTS ssminventory.AWS_AWSComponent ( `ResourceId` string, `Name` string, `ApplicationType` string, `Publisher` string, `Version` string, `InstalledTime` string, `Architecture` string, `URL` string ) PARTITIONED BY (AccountId string, Region string, ResourceType string) ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe' WITH SERDEPROPERTIES ( 'serialization.format' = '1' ) LOCATION 's3://amzn-s3-demo-bucket/bucket-prefix/AWS:AWSComponent/'
    MSCK REPAIR TABLE ssminventory.AWS_AWSComponent
    CREATE EXTERNAL TABLE IF NOT EXISTS ssminventory.AWS_WindowsUpdate ( `ResourceId` string, `HotFixId` string, `Description` string, `InstalledTime` string, `InstalledBy` string ) PARTITIONED BY (AccountId string, Region string, ResourceType string) ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe' WITH SERDEPROPERTIES ( 'serialization.format' = '1' ) LOCATION 's3://amzn-s3-demo-bucket/bucket-prefix/AWS:WindowsUpdate/'
    MSCK REPAIR TABLE ssminventory.AWS_WindowsUpdate
    CREATE EXTERNAL TABLE IF NOT EXISTS ssminventory.AWS_InstanceInformation ( `AgentType` string, `AgentVersion` string, `ComputerName` string, `IamRole` string, `InstanceId` string, `IpAddress` string, `PlatformName` string, `PlatformType` string, `PlatformVersion` string ) PARTITIONED BY (AccountId string, Region string, ResourceType string) ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe' WITH SERDEPROPERTIES ( 'serialization.format' = '1' ) LOCATION 's3://amzn-s3-demo-bucket/bucket-prefix/AWS:InstanceInformation/'
    MSCK REPAIR TABLE ssminventory.AWS_InstanceInformation
    CREATE EXTERNAL TABLE IF NOT EXISTS ssminventory.AWS_Network ( `ResourceId` string, `Name` string, `SubnetMask` string, `Gateway` string, `DHCPServer` string, `DNSServer` string, `MacAddress` string, `IPV4` string, `IPV6` string ) PARTITIONED BY (AccountId string, Region string, ResourceType string) ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe' WITH SERDEPROPERTIES ( 'serialization.format' = '1' ) LOCATION 's3://amzn-s3-demo-bucket/bucket-prefix/AWS:Network/'
    MSCK REPAIR TABLE ssminventory.AWS_Network
    CREATE EXTERNAL TABLE IF NOT EXISTS ssminventory.AWS_PatchSummary ( `ResourceId` string, `PatchGroup` string, `BaselineId` string, `SnapshotId` string, `OwnerInformation` string, `InstalledCount` int, `InstalledOtherCount` int, `NotApplicableCount` int, `MissingCount` int, `FailedCount` int, `OperationType` string, `OperationStartTime` string, `OperationEndTime` string ) PARTITIONED BY (AccountId string, Region string, ResourceType string) ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe' WITH SERDEPROPERTIES ( 'serialization.format' = '1' ) LOCATION 's3://amzn-s3-demo-bucket/bucket-prefix/AWS:PatchSummary/'
    MSCK REPAIR TABLE ssminventory.AWS_PatchSummary

Bekerja dengan Data di Amazon QuickSight

Bagian berikut memberikan gambaran umum dengan tautan untuk membangun visualisasi di Amazon QuickSight.

Untuk membangun visualisasi di Amazon QuickSight
  1. Mendaftar ke Amazon QuickSight dan kemudian masuk ke QuickSight konsol.

  2. Buat himpunan data dari tabel AWS_Application dan tabel lainnya yang telah Anda buat. Untuk informasi lebih lanjut, lihat Membuat Himpunan Data Menggunakan Data Amazon Athena.

  3. Menggabungkan tabel. Misalnya, Anda dapat menggabungkan kolom instanceid dari AWS_InstanceInformation karena cocok dengan kolom resourceid di tabel inventaris lainnya. Untuk informasi lebih lanjut tentang penggabungan tabel, lihat Penggabungan Tabel.

  4. Membangun visualisasi. Untuk informasi lebih lanjut, lihat Menggunakan QuickSight Visual Amazon.