Menggunakan inventaris kustom - AWS Systems Manager

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

Menggunakan inventaris kustom

Anda dapat menetapkan metadata apa pun yang Anda inginkan ke node Anda dengan membuat AWS Systems Manager inventaris kustom Inventaris. Misalnya, katakanlah Anda mengelola sejumlah besar server di rak di pusat data Anda, dan server ini telah dikonfigurasi sebagai node yang dikelola Systems Manager. Saat ini, Anda menyimpan informasi tentang lokasi rak server di lembar kerja. Dengan inventaris khusus, Anda dapat menentukan lokasi rak setiap node sebagai metadata pada node. Ketika Anda mengumpulkan inventaris dengan menggunakan Systems Manager, metadata dikumpulkan dengan metadata inventaris lainnya. Anda kemudian dapat mentransfer semua metadata inventaris ke bucket Amazon S3 sentral dengan menggunakan sinkronisasi data sumber daya dan mengkueri data.

catatan

Systems Manager mendukung maksimum 20 jenis inventaris kustom per Akun AWS.

Untuk menetapkan inventaris kustom ke node, Anda dapat menggunakan PutInventoryAPIoperasi Systems Manager, seperti yang dijelaskan dalamMenetapkan metadata inventaris khusus ke node terkelola. Atau, Anda dapat membuat JSON file inventaris khusus dan mengunggahnya ke node. Bagian ini menjelaskan cara membuat JSON file.

Contoh JSON file berikut dengan inventaris kustom menentukan informasi rak tentang server lokal. Contoh ini menentukan salah satu jenis dari data inventaris kustom ("TypeName": "Custom:RackInformation"), dengan beberapa entri di bawah Content yang menjelaskan data.

{ "SchemaVersion": "1.0", "TypeName": "Custom:RackInformation", "Content": { "Location": "US-EAST-02.CMH.RACK1", "InstalledTime": "2016-01-01T01:01:01Z", "vendor": "DELL", "Zone" : "BJS12", "TimeZone": "UTC-8" } }

Anda juga dapat menetapkan entri yang berbeda di bagian Content, seperti yang ditunjukkan dalam contoh berikut.

{ "SchemaVersion": "1.0", "TypeName": "Custom:PuppetModuleInfo", "Content": [{ "Name": "puppetlabs/aws", "Version": "1.0" }, { "Name": "puppetlabs/dsc", "Version": "2.0" } ] }

JSONSkema untuk inventaris khusus membutuhkanSchemaVersion,TypeName, dan Content bagian, tetapi Anda dapat menentukan informasi di bagian tersebut.

{ "SchemaVersion": "user_defined", "TypeName": "Custom:user_defined", "Content": { "user_defined_attribute1": "user_defined_value1", "user_defined_attribute2": "user_defined_value2", "user_defined_attribute3": "user_defined_value3", "user_defined_attribute4": "user_defined_value4" } }

Nilai TypeName dibatasi hingga 100 karakter. Juga, TypeName nilainya harus dimulai dengan kata Custom yang dikapitalisasi. Misalnya, Custom:PuppetModuleInfo. Oleh karena itu, contoh berikut akan menghasilkan pengecualian:CUSTOM:PuppetModuleInfo,custom:PuppetModuleInfo.

ContentBagian ini mencakup atribut dan data. Item ini tidak peka huruf besar/kecil. Namun, jika Anda mendefinisikan atribut (misalnya: "Vendor“:" DELL “), maka Anda harus secara konsisten mereferensikan atribut ini dalam file inventaris khusus Anda. Jika Anda menentukan "Vendor“:" DELL "(menggunakan huruf besar “V” dalamvendor) dalam satu file, dan kemudian Anda menentukan "vendor“:DELL" "(menggunakan huruf kecil “v” invendor) di file lain, sistem mengembalikan kesalahan.

catatan

Anda harus menyimpan file dengan .json ekstensi dan inventaris yang Anda tentukan harus hanya terdiri dari nilai string.

Setelah Anda membuat file, Anda harus menyimpannya di node. Tabel berikut menunjukkan lokasi di mana JSON file inventaris kustom harus disimpan pada node.

Sistem operasi Jalur

Linux

/var/lib/amazon/ssm/node-id/inventaris/kustom

macOS

/opt/aws/ssm/data/node-id/inventory/custom

Windows

SystemDrive%\ProgramData\ Amazon\SSM\InstanceData\node-id\ inventaris\ kustom

Untuk contoh cara menggunakan inventaris kustom, lihat Mendapatkan Pemanfaatan Disk Armada Anda Menggunakan Jenis Inventaris Kustom EC2 Systems Manager.

Penghapusan inventaris kustom

Anda dapat menggunakan DeleteInventoryAPIoperasi untuk menghapus jenis inventaris kustom dan data yang terkait dengan jenis tersebut. Anda memanggil perintah delete-inventory dengan menggunakan AWS Command Line Interface (AWS CLI) untuk menghapus semua data untuk jenis inventaris. Anda memanggil perintah delete-inventory dengan SchemaDeleteOption untuk menghapus jenis inventaris kustom.

catatan

Jenis inventaris juga disebut skema inventaris.

Parameter SchemaDeleteOption mencakup pilihan berikut:

  • DeleteSchema: Opsi ini menghapus jenis kustom yang ditentukan dan semua data yang terkait dengannya. Anda dapat membuat ulang skema nantinya, jika Anda menginginkannya.

  • DisableSchema: Jika Anda memilih opsi ini, sistem mematikan versi saat ini, menghapus semua data untuk itu, dan mengabaikan semua data baru jika versi kurang dari atau sama dengan versi yang dimatikan. Anda dapat mengizinkan jenis inventaris ini lagi dengan memanggil PutInventorytindakan untuk versi yang lebih besar dari versi yang dimatikan.

Untuk menghapus atau mematikan inventaris kustom dengan menggunakan AWS CLI
  1. Instal dan konfigurasikan AWS Command Line Interface (AWS CLI), jika Anda belum melakukannya.

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

  2. Jalankan perintah berikut untuk menggunakan pilihan dry-run untuk melihat data mana yang akan dihapus dari sistem. Perintah ini tidak menghapus data apa pun.

    aws ssm delete-inventory --type-name "Custom:custom_type_name" --dry-run

    Sistem mengembalikan informasi seperti berikut.

    {
       "DeletionSummary":{
          "RemainingCount":3,
          "SummaryItems":[
             {
                "Count":2,
                "RemainingCount":2,
                "Version":"1.0"
             },
             {
                "Count":1,
                "RemainingCount":1,
                "Version":"2.0"
             }
          ],
          "TotalCount":3
       },
       "TypeName":"Custom:custom_type_name"
    }

    Untuk informasi tentang cara memahami ringkasan inventaris penghapusan, lihat Memahami ringkasan inventaris penghapusan.

  3. Jalankan perintah berikut untuk menghapus semua data untuk jenis inventaris kustom.

    aws ssm delete-inventory --type-name "Custom:custom_type_name"
    catatan

    Output dari perintah ini tidak menunjukkan progres penghapusan. Untuk alasan ini, TotalCount dan Hitungan Sisa selalu sama karena sistem belum menghapus apa pun. Anda dapat menggunakan describe-inventory-deletions perintah untuk menunjukkan kemajuan penghapusan, seperti yang dijelaskan nanti dalam topik ini.

    Sistem mengembalikan informasi seperti berikut ini.

    {
       "DeletionId":"system_generated_deletion_ID",
       "DeletionSummary":{
          "RemainingCount":3,
          "SummaryItems":[
             {
                "Count":2,
                "RemainingCount":2,
                "Version":"1.0"
             },
             {
                "Count":1,
                "RemainingCount":1,
                "Version":"2.0"
             }
          ],
          "TotalCount":3
       },
       "TypeName":"custom_type_name"
    }

    Sistem menghapus semua data untuk jenis inventaris kustom tertentu dari layanan Inventaris Systems Manager.

  4. Jalankan perintah berikut. Perintah melakukan tindakan berikut untuk versi saat ini dari jenis inventaris: menonaktifkan versi saat ini, menghapus semua data untuknya, dan mengabaikan semua data baru jika versinya kurang dari atau setara dengan versi yang dinonaktifkan.

    aws ssm delete-inventory --type-name "Custom:custom_type_name" --schema-delete-option "DisableSchema"

    Sistem mengembalikan informasi seperti berikut.

    {
       "DeletionId":"system_generated_deletion_ID",
       "DeletionSummary":{
          "RemainingCount":3,
          "SummaryItems":[
             {
                "Count":2,
                "RemainingCount":2,
                "Version":"1.0"
             },
             {
                "Count":1,
                "RemainingCount":1,
                "Version":"2.0"
             }
          ],
          "TotalCount":3
       },
       "TypeName":"Custom:custom_type_name"
    }

    Anda dapat melihat jenis inventaris yang dinonaktifkan dengan menggunakan perintah berikut.

    aws ssm get-inventory-schema --type-name Custom:custom_type_name
  5. Jalankan perintah berikut untuk menghapus jenis inventaris.

    aws ssm delete-inventory --type-name "Custom:custom_type_name" --schema-delete-option "DeleteSchema"

    Sistem menghapus skema dan semua data inventaris untuk jenis kustom tertentu.

    Sistem mengembalikan informasi seperti berikut.

    {
       "DeletionId":"system_generated_deletion_ID",
       "DeletionSummary":{
          "RemainingCount":3,
          "SummaryItems":[
             {
                "Count":2,
                "RemainingCount":2,
                "Version":"1.0"
             },
             {
                "Count":1,
                "RemainingCount":1,
                "Version":"2.0"
             }
          ],
          "TotalCount":3
       },
       "TypeName":"Custom:custom_type_name"
    }

Melihat status penghapusan

Anda dapat memeriksa status operasi hapus dengan menggunakan describe-inventory-deletions AWS CLI perintah. Anda dapat menentukan ID penghapusan untuk melihat status operasi penghapusan tertentu. Atau, Anda dapat menghilangkan ID penghapusan untuk melihat daftar semua penghapusan yang dijalankan dalam 30 hari terakhir.

  1. Jalankan perintah berikut untuk melihat status operasi penghapusan. Sistem menampilkan ID penghapusan dalam ringkasan delete-inventory.

    aws ssm describe-inventory-deletions --deletion-id system_generated_deletion_ID

    Sistem menampilkan status terbaru. Operasi penghapusan mungkin belum selesai. Sistem mengembalikan informasi seperti berikut.

    {"InventoryDeletions": 
      [
        {"DeletionId": "system_generated_deletion_ID", 
         "DeletionStartTime": 1521744844, 
         "DeletionSummary": 
          {"RemainingCount": 1, 
           "SummaryItems": 
            [
              {"Count": 1, 
               "RemainingCount": 1, 
               "Version": "1.0"}
            ], 
           "TotalCount": 1}, 
         "LastStatus": "InProgress", 
         "LastStatusMessage": "The Delete is in progress", 
         "LastStatusUpdateTime": 1521744844, 
         "TypeName": "Custom:custom_type_name"}
      ]
    }

    Jika operasi penghapusan berhasil, LastStatusMessage menyatakan: Penghapusan berhasil.

    {"InventoryDeletions": 
      [
        {"DeletionId": "system_generated_deletion_ID", 
         "DeletionStartTime": 1521744844, 
         "DeletionSummary": 
          {"RemainingCount": 0, 
           "SummaryItems": 
            [
              {"Count": 1, 
               "RemainingCount": 0, 
               "Version": "1.0"}
            ], 
           "TotalCount": 1}, 
         "LastStatus": "Complete", 
         "LastStatusMessage": "Deletion is successful", 
         "LastStatusUpdateTime": 1521745253, 
         "TypeName": "Custom:custom_type_name"}
      ]
    }
  2. Jalankan perintah berikut untuk melihat daftar dari semua penghapusan yang dijalankan dalam 30 hari terakhir.

    aws ssm describe-inventory-deletions --max-results a number
    {"InventoryDeletions": 
      [
        {"DeletionId": "system_generated_deletion_ID", 
         "DeletionStartTime": 1521682552, 
         "DeletionSummary": 
          {"RemainingCount": 0, 
           "SummaryItems": 
            [
              {"Count": 1, 
               "RemainingCount": 0, 
               "Version": "1.0"}
            ], 
           "TotalCount": 1}, 
         "LastStatus": "Complete", 
         "LastStatusMessage": "Deletion is successful", 
         "LastStatusUpdateTime": 1521682852, 
         "TypeName": "Custom:custom_type_name"}, 
        {"DeletionId": "system_generated_deletion_ID", 
         "DeletionStartTime": 1521744844, 
         "DeletionSummary": 
          {"RemainingCount": 0, 
           "SummaryItems": 
            [
              {"Count": 1, 
               "RemainingCount": 0, 
               "Version": "1.0"}
            ], 
           "TotalCount": 1}, 
         "LastStatus": "Complete", 
         "LastStatusMessage": "Deletion is successful", 
         "LastStatusUpdateTime": 1521745253, 
         "TypeName": "Custom:custom_type_name"}, 
        {"DeletionId": "system_generated_deletion_ID", 
         "DeletionStartTime": 1521680145, 
         "DeletionSummary": 
          {"RemainingCount": 0, 
           "SummaryItems": 
            [
              {"Count": 1, 
               "RemainingCount": 0, 
               "Version": "1.0"}
            ], 
           "TotalCount": 1}, 
         "LastStatus": "Complete", 
         "LastStatusMessage": "Deletion is successful", 
         "LastStatusUpdateTime": 1521680471, 
         "TypeName": "Custom:custom_type_name"}
      ], 
     "NextToken": "next-token"

Memahami ringkasan inventaris penghapusan

Untuk membantu Anda memahami konten ringkasan inventaris penghapusan, pertimbangkan contoh berikut. Seorang pengguna menetapkan Custom: RackSpace inventaris ke tiga node. Item inventaris 1 dan 2 menggunakan tipe khusus versi 1.0 (” SchemaVersion “:"1.0"). Inventaris item 3 menggunakan tipe kustom versi 2.0 (” SchemaVersion “:"2.0").

RackSpace inventaris kustom 1

{ "CaptureTime":"2018-02-19T10:48:55Z", "TypeName":"CustomType:RackSpace", "InstanceId":"i-1234567890", "SchemaVersion":"1.0" "Content":[ { content of custom type omitted } ] }

RackSpace inventaris kustom 2

{ "CaptureTime":"2018-02-19T10:48:55Z", "TypeName":"CustomType:RackSpace", "InstanceId":"i-1234567891", "SchemaVersion":"1.0" "Content":[ { content of custom type omitted } ] }

RackSpace inventaris kustom 3

{ "CaptureTime":"2018-02-19T10:48:55Z", "TypeName":"CustomType:RackSpace", "InstanceId":"i-1234567892", "SchemaVersion":"2.0" "Content":[ { content of custom type omitted } ] }

Pengguna menjalankan perintah berikut untuk mem-pratinjau data yang akan dihapus.

aws ssm delete-inventory --type-name "Custom:RackSpace" --dry-run

Sistem mengembalikan informasi seperti berikut ini.

{
   "DeletionId":"1111-2222-333-444-66666",
   "DeletionSummary":{
      "RemainingCount":3,           
      "TotalCount":3,             
                TotalCount and RemainingCount are the number of items that would be deleted if this was not a dry run. These numbers are the same because the system didn't delete anything.
      "SummaryItems":[
         {
            "Count":2,             The system found two items that use SchemaVersion 1.0. Neither item was deleted.           
            "RemainingCount":2,
            "Version":"1.0"
         },
         {
            "Count":1,             The system found one item that uses SchemaVersion 1.0. This item was not deleted.
            "RemainingCount":1,
            "Version":"2.0"
         }
      ],

   },
   "TypeName":"Custom:RackSpace"
}

Pengguna menjalankan perintah berikut untuk menghapus Custom: RackSpace inventory.

catatan

Output dari perintah ini tidak menunjukkan progres penghapusan. Untuk alasan ini, TotalCount dan RemainingCount selalu sama karena sistem belum menghapus apa pun. Anda dapat menggunakan describe-inventory-deletions perintah untuk menunjukkan kemajuan penghapusan.

aws ssm delete-inventory --type-name "Custom:RackSpace"

Sistem mengembalikan informasi seperti berikut ini.

{
   "DeletionId":"1111-2222-333-444-7777777",
   "DeletionSummary":{
      "RemainingCount":3,           There are three items to delete
      "SummaryItems":[
         {
            "Count":2,              The system found two items that use SchemaVersion 1.0.
            "RemainingCount":2,     
            "Version":"1.0"
         },
         {
            "Count":1,              The system found one item that uses SchemaVersion 2.0.
            "RemainingCount":1,     
            "Version":"2.0"
         }
      ],
      "TotalCount":3                
   },
   "TypeName":"RackSpace"
}

Melihat tindakan penghapusan inventaris di EventBridge

Anda dapat mengonfigurasi Amazon EventBridge untuk membuat acara kapan saja pengguna menghapus inventaris khusus. EventBridge menawarkan tiga jenis acara untuk operasi penghapusan inventaris kustom:

  • Hapus tindakan untuk sebuah instance: Jika inventaris khusus untuk node terkelola tertentu berhasil dihapus atau tidak.

  • Menghapus ringkasan tindakan: Ringkasan tindakan penghapusan.

  • Peringatan untuk jenis inventaris kustom yang dimatikan: Peristiwa peringatan jika pengguna memanggil PutInventoryAPIoperasi untuk versi tipe inventaris khusus yang sebelumnya dimatikan.

Berikut adalah contoh dari setiap acara.

Hapus tindakan untuk sebuah instance

{
   "version":"0",
   "id":"998c9cde-56c0-b38b-707f-0411b3ff9d11",
   "detail-type":"Inventory Resource State Change",
   "source":"aws.ssm",
   "account":"478678815555",
   "time":"2018-05-24T22:24:34Z",
   "region":"us-east-1",
   "resources":[
      "arn:aws:ssm:us-east-1:478678815555:managed-instance/i-0a5feb270fc3f0b97"
   ],
   "detail":{
      "action-status":"succeeded",
      "action":"delete",
      "resource-type":"managed-instance",
      "resource-id":"i-0a5feb270fc3f0b97",
      "action-reason":"",
      "type-name":"Custom:MyInfo"
   }
}

Hapus ringkasan tindakan

{
   "version":"0",
   "id":"83898300-f576-5181-7a67-fb3e45e4fad4",
   "detail-type":"Inventory Resource State Change",
   "source":"aws.ssm",
   "account":"478678815555",
   "time":"2018-05-24T22:28:25Z",
   "region":"us-east-1",
   "resources":[

   ],
   "detail":{
      "action-status":"succeeded",
      "action":"delete-summary",
      "resource-type":"managed-instance",
      "resource-id":"",
      "action-reason":"The delete for type name Custom:MyInfo was completed. The deletion summary is: {\"totalCount\":2,\"remainingCount\":0,\"summaryItems\":[{\"version\":\"1.0\",\"count\":2,\"remainingCount\":0}]}",
      "type-name":"Custom:MyInfo"
   }
}

Peringatan untuk jenis inventaris khusus yang dimatikan

{
   "version":"0",
   "id":"49c1855c-9c57-b5d7-8518-b64aeeef5e4a",
   "detail-type":"Inventory Resource State Change",
   "source":"aws.ssm",
   "account":"478678815555",
   "time":"2018-05-24T22:46:58Z",
   "region":"us-east-1",
   "resources":[
      "arn:aws:ssm:us-east-1:478678815555:managed-instance/i-0ee2d86a2cfc371f6"
   ],
   "detail":{
      "action-status":"failed",
      "action":"put",
      "resource-type":"managed-instance",
      "resource-id":"i-0ee2d86a2cfc371f6",
      "action-reason":"The inventory item with type name Custom:MyInfo was sent with a disabled schema version 1.0. You must send a version greater than 1.0",
      "type-name":"Custom:MyInfo"
   }
}

Gunakan prosedur berikut untuk membuat EventBridge aturan untuk operasi penghapusan inventaris kustom. Prosedur ini menunjukkan cara membuat aturan yang mengirimkan pemberitahuan untuk operasi penghapusan inventaris kustom ke SNS topik Amazon. Sebelum memulai, verifikasi bahwa Anda memiliki SNS topik Amazon, atau buat yang baru. Untuk informasi lebih lanjut, lihat Memulai di Panduan Developer Amazon Simple Notification Service.

Mengkonfigurasi EventBridge untuk menghapus operasi inventaris
  1. Buka EventBridge konsol Amazon di https://console.aws.amazon.com/events/.

  2. Di panel navigasi, pilih Aturan.

  3. Pilih Buat aturan.

  4. Masukkan nama dan deskripsi untuk aturan.

    Aturan tidak boleh memiliki nama yang sama dengan aturan lain di Wilayah yang sama dan di bus kejadian yang sama.

  5. Untuk bus acara, pilih bus acara yang ingin Anda kaitkan dengan aturan ini. Jika Anda ingin aturan ini merespons peristiwa pencocokan yang berasal dari Anda sendiri Akun AWS, pilih default. Ketika layanan AWS di akun Anda memancarkan acara, itu selalu masuk ke bus acara default akun Anda.

  6. Untuk Tipe aturan, pilih Aturan dengan pola peristiwa.

  7. Pilih Selanjutnya.

  8. Untuk sumber Acara, pilih AWS acara atau acara EventBridge mitra.

  9. Di bagian Pola acara, pilih Formulir pola acara.

  10. Untuk Sumber peristiwa, pilih Layanan AWS .

  11. Untuk AWS layanan, pilih Systems Manager.

  12. Untuk Jenis peristiwa, pilih Inventaris.

  13. Untuk jenis detail spesifik, pilih Perubahan Status Sumber Daya Inventaris.

  14. Pilih Berikutnya.

  15. Untuk Jenis target, pilih Layanan AWS .

  16. Untuk Pilih target, pilih SNStopik, lalu untuk Topik, pilih topik Anda.

  17. Di bagian Pengaturan tambahan, untuk Konfigurasi input target, verifikasi bahwa Peristiwa yang cocok dipilih.

  18. Pilih Berikutnya.

  19. (Opsional) Masukkan satu atau lebih tanda untuk aturan. Untuk informasi selengkapnya, lihat Menandai EventBridge Sumber Daya Amazon Anda di Panduan EventBridge Pengguna Amazon.

  20. Pilih Berikutnya.

  21. Tinjau detail aturan dan pilih Buat aturan.