Jalankan otomatisasi dalam skala besar - AWS Systems Manager

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

Jalankan otomatisasi dalam skala besar

Dengan AWS Systems Manager Otomasi, Anda dapat menjalankan otomatisasi pada armada sumber AWS daya dengan menggunakan target. Selain itu, Anda dapat mengontrol deployment otomatisasi tersebut dengan menentukan nilai konkurensi dan ambang kesalahan. Fitur konkurensi dan fitur ambang batas kesalahan secara kolektif disebut pengendalian rate. Nilai konkurensi menentukan berapa banyak sumber daya yang diizinkan untuk menjalankan otomatisasi secara bersamaan. Otomasi juga menyediakan mode konkurensi adaptif yang dapat Anda pilih. Konkurensi adaptif secara otomatis menskalakan kuota otomatisasi Anda dari 100 otomatisasi yang berjalan secara bersamaan hingga 500. Ambang kesalahan menentukan berapa banyak otomatisasi yang diperbolehkan untuk gagal sebelum Systems Manager berhenti mengirim otomatisasi ke sumber daya lainnya.

Untuk informasi lebih lanjut tentang ambang batas konkurensi dan kesalahan, lihat Kontrol otomatisasi pada skala. Untuk informasi selengkapnya tentang target, lihat Memetakan target untuk otomatisasi.

Prosedur berikut menunjukkan cara mengaktifkan konkurensi adaptif, dan cara menjalankan otomatisasi dengan target dan kontrol tingkat dengan menggunakan konsol Systems Manager dan AWS Command Line Interface ()AWS CLI.

Menjalankan otomatisasi dengan kontrol tarif dan target (konsol)

Prosedur berikut menjelaskan cara menjalankan otomatisasi dengan target dan kontrol tarif dengan menggunakan konsol Systems Manager.

Untuk menjalankan otomatisasi dengan target dan kontrol tarif
  1. Buka konsol AWS Systems Manager pada https://console.aws.amazon.com/systems-manager/.

  2. Di panel navigasi, pilih Otomatisasi, lalu pilih Eksekusi otomatisasi.

  3. Di daftar Dokumen otomatisasi, pilih runbook. Pilih satu opsi atau lebih di panel Kategori dokumen untuk memfilter dokumen SSM sesuai dengan tujuannya. Untuk melihat runbook yang Anda miliki, pilih tab Dimiliki oleh saya. Untuk melihat runbook yang dibagikan dengan akun Anda, pilih tab Dibagikan dengan saya. Untuk melihat semua runbook, pilih tab Semua dokumen.

    catatan

    Anda dapat melihat informasi tentang runbook dengan memilih nama runbook.

  4. Di bagian Detail dokumen, verifikasi bahwa Versi dokumen diatur ke versi yang ingin Anda jalankan. Sistem ini termasuk pilihan versi berikut:

    • Versi default saat runtime — Pilih opsi ini jika runbook Otomasi diperbarui secara berkala dan versi default baru ditetapkan.

    • Versi terbaru saat runtime — Pilih opsi ini jika runbook Otomasi diperbarui secara berkala, dan Anda ingin menjalankan versi yang terbaru diperbarui.

    • 1 (Default) - Pilih opsi ini untuk menjalankan versi pertama dokumen, yang merupakan default.

  5. Pilih Berikutnya.

  6. Di bagian Eksekusi Mode, pilih Pengendalian Rate. Anda harus menggunakan mode ini atau Multi-Akun dan Wilayah jika Anda ingin menggunakan target dan kontrol tarif.

  7. Di bagian Target, pilih bagaimana Anda ingin menargetkan AWS sumber daya tempat Anda ingin menjalankan otomatisasi. Pilihan ini diperlukan.

    1. Gunakan daftar Parameter untuk memilih parameter. Item dalam daftar Parameter ditentukan oleh parameter di Runbook otomatisasi yang Anda pilih pada awal prosedur ini. Dengan memilih parameter, Anda menentukan jenis sumber daya di mana alur kerja otomatisasi berjalan.

    2. Gunakan daftar Target untuk memilih cara Anda menargetkan sumber daya.

      1. Jika Anda ingin menargetkan sumber daya dengan menggunakan nilai parameter, masukkan nilai parameter untuk parameter yang Anda pilih di bagian Parameter input.

      2. Jika Anda ingin menargetkan sumber daya dengan menggunakan AWS Resource Groups, lalu pilih nama grup dari daftar Grup Sumber Daya.

      3. Jika Anda memilih untuk menargetkan sumber daya dengan menggunakan tag, masukkan kunci tag dan nilai tag dalam bidang yang disediakan (opsional). Pilih Tambahkan.

      4. Jika Anda ingin menjalankan Runbook otomatisasi pada semua contoh di saat ini Akun AWS dan Wilayah AWS, pilih Semua instans.

  8. Di bagian Parameter input, tentukan input yang diperlukan. Secara opsional, Anda dapat memilih peran layanan IAM dari daftar. AutomationAssumeRole

    catatan

    Anda mungkin tidak perlu memilih beberapa opsi di bagian Parameter input. Hal ini karena Anda menargetkan sumber daya menggunakan tag atau kelompok sumber daya. Misalnya, jika Anda memilih AWS-RestartEC2Instance runbook, Anda tidak perlu menentukan atau memilih ID instans di bagian Parameter input. Eksekusi otomatisasi menempatkan contoh untuk memulai ulang dengan menggunakan tag atau grup sumber daya yang Anda tentukan.

  9. Gunakan opsi di bagian Pengendalian rate untuk membatasi jumlah AWS sumber daya yang dapat menjalankan otomatisasi dalam setiap pasangan Account-wilayah.

    Di bagian Konkurensi, pilih satu opsi:

    • Pilih target untuk memasukkan jumlah absolut target yang dapat menjalankan alur kerja otomatisasi secara bersamaan.

    • Pilih persentase untuk memasukkan persentase dari set target yang dapat menjalankan alur kerja otomatisasi secara bersamaan.

  10. Di bagian Ambang kesalahan, pilih satu opsi:

    • Pilih kesalahan untuk memasukkan jumlah kesalahan absolut yang diizinkan sebelum Otomatisasi berhenti mengirim alur kerja ke sumber daya lainnya.

    • Pilih persentase untuk memasukkan persentase kesalahan absolut yang diizinkan sebelum Otomatisasi berhenti mengirim alur kerja ke sumber daya lainnya.

  11. (Opsional) Pilih CloudWatch alarm untuk diterapkan ke otomatisasi Anda untuk pemantauan. Untuk memasang CloudWatch alarm ke otomatisasi Anda, prinsip IAM yang memulai otomatisasi harus memiliki izin untuk iam:createServiceLinkedRole tindakan tersebut. Untuk informasi selengkapnya tentang CloudWatch alarm, lihat Menggunakan CloudWatch alarm Amazon. Perhatikan bahwa jika alarm Anda aktif, otomatisasi dihentikan. Jika Anda menggunakanAWS CloudTrail, Anda akan melihat panggilan API di jejak Anda.

  12. Pilih Eksekusi.

Untuk melihat otomatisasi yang dimulai oleh otomatisasi kontrol tarif Anda, di panel navigasi, pilih Otomatisasi, dan kemudian pilih Tampilkan otomatisasi anak.

Menjalankan otomatisasi dengan target dan kontrol tarif (baris perintah)

Prosedur berikut menjelaskan cara menggunakan AWS CLI (di Linux atau Windows) atau AWS Tools for PowerShell untuk menjalankan otomatisasi dengan target dan kontrol tarif.

Untuk menjalankan otomatisasi dengan target dan kontrol tarif
  1. Instal dan konfigurasikan AWS CLI atau AWS Tools for PowerShell, jika Anda belum melakukannya.

    Untuk selengkapnya, lihat Menginstal atau memperbarui versi terbaru AWS CLI dan Menginstal AWS Tools for PowerShell.

  2. Jalankan perintah berikut untuk menandai dokumen.

    Linux & macOS
    aws ssm list-documents
    Windows
    aws ssm list-documents
    PowerShell
    Get-SSMDocumentList

    Perhatikan nama runbook yang ingin Anda gunakan.

  3. Jalankan perintah berikut untuk menampilkan detail tentang runbook. Ganti nama runbook dengan nama runbook yang detailnya ingin Anda lihat. Juga, perhatikan nama parameter (misalnya,InstanceId) yang ingin Anda gunakan untuk --target-parameter-name opsi tersebut. Parameter ini menentukan jenis sumber daya di mana otomatisasi berjalan.

    Linux & macOS
    aws ssm describe-document \ --name runbook name
    Windows
    aws ssm describe-document ^ --name runbook name
    PowerShell
    Get-SSMDocumentDescription ` -Name runbook name
  4. Buat perintah yang menggunakan target dan opsi kontrol tarif yang ingin Anda jalankan. Ganti setiap placeholder sumber daya contoh dengan informasi Anda sendiri.

    Penargetan menggunakan tag

    Linux & macOS
    aws ssm start-automation-execution \ --document-name runbook name \ --targets Key=tag:key name,Values=value \ --target-parameter-name parameter name \ --parameters "input parameter name=input parameter value,input parameter 2 name=input parameter 2 value" \ --max-concurrency 10 \ --max-errors 25%
    Windows
    aws ssm start-automation-execution ^ --document-name runbook name ^ --targets Key=tag:key name,Values=value ^ --target-parameter-name parameter name ^ --parameters "input parameter name=input parameter value,input parameter 2 name=input parameter 2 value" ^ --max-concurrency 10 ^ --max-errors 25%
    PowerShell
    $Targets = New-Object Amazon.SimpleSystemsManagement.Model.Target $Targets.Key = "tag:key name" $Targets.Values = "value" Start-SSMAutomationExecution ` DocumentName "runbook name" ` -Targets $Targets ` -TargetParameterName "parameter name" ` -Parameter @{"input parameter name"="input parameter value";"input parameter 2 name"="input parameter 2 value"} ` -MaxConcurrency "10" ` -MaxError "25%"

    Penargetan menggunakan nilai parameter

    Linux & macOS
    aws ssm start-automation-execution \ --document-name runbook name \ --targets Key=ParameterValues,Values=value,value 2,value 3 \ --target-parameter-name parameter name \ --parameters "input parameter name=input parameter value" \ --max-concurrency 10 \ --max-errors 25%
    Windows
    aws ssm start-automation-execution ^ --document-name runbook name ^ --targets Key=ParameterValues,Values=value,value 2,value 3 ^ --target-parameter-name parameter name ^ --parameters "input parameter name=input parameter value" ^ --max-concurrency 10 ^ --max-errors 25%
    PowerShell
    $Targets = New-Object Amazon.SimpleSystemsManagement.Model.Target $Targets.Key = "ParameterValues" $Targets.Values = "value","value 2","value 3" Start-SSMAutomationExecution ` -DocumentName "runbook name" ` -Targets $Targets ` -TargetParameterName "parameter name" ` -Parameter @{"input parameter name"="input parameter value"} ` -MaxConcurrency "10" ` -MaxError "25%"

    Penargetan menggunakan AWS Resource Groups

    Linux & macOS
    aws ssm start-automation-execution \ --document-name runbook name \ --targets Key=ResourceGroup,Values=Resource group nname \ --target-parameter-name parameter name \ --parameters "input parameter name=input parameter value" \ --max-concurrency 10 \ --max-errors 25%
    Windows
    aws ssm start-automation-execution ^ --document-name runbook name ^ --targets Key=ResourceGroup,Values=Resource group name ^ --target-parameter-name parameter name ^ --parameters "input parameter name=input parameter value" ^ --max-concurrency 10 ^ --max-errors 25%
    PowerShell
    $Targets = New-Object Amazon.SimpleSystemsManagement.Model.Target $Targets.Key = "ResourceGroup" $Targets.Values = "Resource group name" Start-SSMAutomationExecution ` -DocumentName "runbook name" ` -Targets $Targets ` -TargetParameterName "parameter name" ` -Parameter @{"input parameter name"="input parameter value"} ` -MaxConcurrency "10" ` -MaxError "25%"

    Menargetkan semua instans Amazon EC2 saat ini dan Akun AWS Wilayah AWS

    Linux & macOS
    aws ssm start-automation-execution \ --document-name runbook name \ --targets "Key=AWS::EC2::Instance,Values=*" \ --target-parameter-name instanceId \ --parameters "input parameter name=input parameter value" \ --max-concurrency 10 \ --max-errors 25%
    Windows
    aws ssm start-automation-execution ^ --document-name runbook name ^ --targets Key=AWS::EC2::Instance,Values=* ^ --target-parameter-name instanceId ^ --parameters "input parameter name=input parameter value" ^ --max-concurrency 10 ^ --max-errors 25%
    PowerShell
    $Targets = New-Object Amazon.SimpleSystemsManagement.Model.Target $Targets.Key = "AWS::EC2::Instance" $Targets.Values = "*" Start-SSMAutomationExecution ` -DocumentName "runbook name" ` -Targets $Targets ` -TargetParameterName "instanceId" ` -Parameter @{"input parameter name"="input parameter value"} ` -MaxConcurrency "10" ` -MaxError "25%"

    Perintah mengembalikan ID eksekusi. Salin ID ini ke clipboard. Anda dapat menggunakan ID ini untuk melihat status otomatisasi.

    Linux & macOS
    {
        "AutomationExecutionId": "a4a3c0e9-7efd-462a-8594-01234EXAMPLE"
    }
    Windows
    {
        "AutomationExecutionId": "a4a3c0e9-7efd-462a-8594-01234EXAMPLE"
    }
    PowerShell
    a4a3c0e9-7efd-462a-8594-01234EXAMPLE
  5. Jalankan perintah berikut untuk melihat otomatisasi. Ganti setiap ID eksekusi otomatisasi dengan informasi Anda sendiri.

    Linux & macOS
    aws ssm describe-automation-executions \ --filter Key=ExecutionId,Values=automation execution ID
    Windows
    aws ssm describe-automation-executions ^ --filter Key=ExecutionId,Values=automation execution ID
    PowerShell
    Get-SSMAutomationExecutionList | ` Where {$_.AutomationExecutionId -eq "automation execution ID"}
  6. Untuk melihat detail tentang kemajuan otomatisasi, jalankan perintah berikut. Ganti setiap ID eksekusi otomatisasi dengan informasi Anda sendiri.

    Linux & macOS
    aws ssm get-automation-execution \ --automation-execution-id automation execution ID
    Windows
    aws ssm get-automation-execution ^ --automation-execution-id automation execution ID
    PowerShell
    Get-SSMAutomationExecution ` -AutomationExecutionId automation execution ID

    Sistem mengembalikan informasi seperti berikut.

    Linux & macOS
    {
        "AutomationExecution": {
            "StepExecutionsTruncated": false,
            "AutomationExecutionStatus": "Success",
            "MaxConcurrency": "1",
            "Parameters": {},
            "MaxErrors": "1",
            "Outputs": {},
            "DocumentName": "AWS-StopEC2Instance",
            "AutomationExecutionId": "a4a3c0e9-7efd-462a-8594-01234EXAMPLE",
            "ResolvedTargets": {
                "ParameterValues": [
                    "i-02573cafcfEXAMPLE"
                ],
                "Truncated": false
            },
            "ExecutionEndTime": 1564681619.915,
            "Targets": [
                {
                    "Values": [
                        "DEV"
                    ],
                    "Key": "tag:ENV"
                }
            ],
            "DocumentVersion": "1",
            "ExecutionStartTime": 1564681576.09,
            "ExecutedBy": "arn:aws:sts::123456789012:assumed-role/Administrator/Admin",
            "StepExecutions": [
                {
                    "Inputs": {
                        "InstanceId": "i-02573cafcfEXAMPLE"
                    },
                    "Outputs": {},
                    "StepName": "i-02573cafcfEXAMPLE",
                    "ExecutionEndTime": 1564681619.093,
                    "StepExecutionId": "86c7b811-3896-4b78-b897-01234EXAMPLE",
                    "ExecutionStartTime": 1564681576.836,
                    "Action": "aws:executeAutomation",
                    "StepStatus": "Success"
                }
            ],
            "TargetParameterName": "InstanceId",
            "Mode": "Auto"
        }
    }
    Windows
    {
        "AutomationExecution": {
            "StepExecutionsTruncated": false,
            "AutomationExecutionStatus": "Success",
            "MaxConcurrency": "1",
            "Parameters": {},
            "MaxErrors": "1",
            "Outputs": {},
            "DocumentName": "AWS-StopEC2Instance",
            "AutomationExecutionId": "a4a3c0e9-7efd-462a-8594-01234EXAMPLE",
            "ResolvedTargets": {
                "ParameterValues": [
                    "i-02573cafcfEXAMPLE"
                ],
                "Truncated": false
            },
            "ExecutionEndTime": 1564681619.915,
            "Targets": [
                {
                    "Values": [
                        "DEV"
                    ],
                    "Key": "tag:ENV"
                }
            ],
            "DocumentVersion": "1",
            "ExecutionStartTime": 1564681576.09,
            "ExecutedBy": "arn:aws:sts::123456789012:assumed-role/Administrator/Admin",
            "StepExecutions": [
                {
                    "Inputs": {
                        "InstanceId": "i-02573cafcfEXAMPLE"
                    },
                    "Outputs": {},
                    "StepName": "i-02573cafcfEXAMPLE",
                    "ExecutionEndTime": 1564681619.093,
                    "StepExecutionId": "86c7b811-3896-4b78-b897-01234EXAMPLE",
                    "ExecutionStartTime": 1564681576.836,
                    "Action": "aws:executeAutomation",
                    "StepStatus": "Success"
                }
            ],
            "TargetParameterName": "InstanceId",
            "Mode": "Auto"
        }
    }
    PowerShell
    AutomationExecutionId       : a4a3c0e9-7efd-462a-8594-01234EXAMPLE
    AutomationExecutionStatus   : Success
    CurrentAction               : 
    CurrentStepName             : 
    DocumentName                : AWS-StopEC2Instance
    DocumentVersion             : 1
    ExecutedBy                  : arn:aws:sts::123456789012:assumed-role/Administrator/Admin
    ExecutionEndTime            : 8/1/2019 5:46:59 PM
    ExecutionStartTime          : 8/1/2019 5:46:16 PM
    FailureMessage              : 
    MaxConcurrency              : 1
    MaxErrors                   : 1
    Mode                        : Auto
    Outputs                     : {}
    Parameters                  : {}
    ParentAutomationExecutionId : 
    ProgressCounters            : 
    ResolvedTargets             : Amazon.SimpleSystemsManagement.Model.ResolvedTargets
    StepExecutions              : {i-02573cafcfEXAMPLE}
    StepExecutionsTruncated     : False
    Target                      : 
    TargetLocations             : {}
    TargetMaps                  : {}
    TargetParameterName         : InstanceId
    Targets                     : {tag:Name}
    catatan

    Anda juga dapat memantau status otomatisasi di konsol. Di daftar Eksekusi otomatisasi, pilih otomatisasi yang baru Anda jalankan dan kemudian pilih tab Langkah eksekusi. Tab ini menampilkan status tindakan otomatisasi.