Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memetakan target untuk otomatisasi
Gunakan Targets
parameter untuk dengan cepat menentukan sumber daya mana yang ditargetkan oleh otomatisasi. Misalnya, jika Anda ingin menjalankan otomatisasi yang memulai ulang instans terkelola Anda, alih-alih memilih lusinan instance IDs di konsol secara manual atau mengetiknya dalam sebuah perintah, Anda dapat menargetkan instance dengan menentukan tag Amazon Elastic Compute Cloud (EC2Amazon) dengan parameter. Targets
Saat Anda menjalankan otomatisasi yang menggunakan target, AWS Systems Manager buat otomatisasi anak untuk setiap target. Misalnya, jika Anda menargetkan volume Amazon Elastic Block Store (AmazonEBS) dengan menentukan tag, dan tag tersebut diselesaikan menjadi 100 EBS volume Amazon, maka Systems Manager akan membuat 100 otomatisasi anak. Otomatisasi induk selesai ketika semua anak otomatisasi mencapai keadaan akhir.
catatan
Semua input parameters
yang Anda tentukan pada saat bagian runtime (baik di Parameter input konsol atau dengan menggunakan parameters
pilihan dari baris perintah) yang secara otomatis diproses oleh semua anak otomatisasi.
Anda dapat menargetkan sumber daya untuk otomatisasi dengan menggunakan tag, Resource Groups, dan nilai-nilai parameter. Selain itu, Anda dapat menggunakan TargetMaps
untuk menargetkan beberapa nilai parameter dari baris perintah atau file. Bagian berikut menjelaskan setiap opsi penargetan ini secara lebih detail.
Menargetkan tag
Anda dapat menentukan satu tag sebagai target otomatisasi. Banyak tag dukungan AWS sumber daya, termasuk instans Amazon Elastic Compute Cloud (AmazonEC2) dan Amazon Relational Database Service (RDSAmazon), volume dan snapshot Amazon Elastic Block Store (EBSAmazon), Resource Groups, dan Amazon Simple Storage Service (Amazon S3) bucket, untuk beberapa nama. Anda dapat dengan cepat menjalankan otomatisasi pada AWS sumber daya Anda dengan menargetkan tag. Tag adalah pasangan kunci-nilai, seperti Operating_System:Linux atau Department:Finance. Jika Anda menetapkan nama tertentu ke sumber daya, Anda juga dapat menggunakan kata "Nama" sebagai kunci, dan nama sumber daya sebagai nilainya.
Bila Anda menentukan tag sebagai target untuk otomatisasi, Anda juga menentukan parameter target. Parameter target menggunakan TargetParameterName
pilihan. Dengan memilih parameter target, Anda menentukan jenis sumber daya tempat alur kerja otomatisasi berjalan. Parameter target yang Anda tentukan dengan tag harus merupakan parameter valid yang didefinisikan dalam runbook. Misalnya, jika Anda ingin menargetkan lusinan EC2 instance dengan menggunakan tag, maka pilih parameter InstanceId
target. Dengan memilih parameter ini, anda menentukan instans sebagai jenis sumber daya untuk otomatisasi. Saat membuat runbook kustom, Anda harus menentukan jenis Target /AWS::EC2::Instance
untuk memastikan hanya instance yang digunakan. Jika tidak, semua sumber daya dengan tag yang sama akan ditargetkan. Saat menargetkan instance dengan tag, instance yang dihentikan mungkin disertakan.
Screenshot berikut menggunaka AWS-DetachEBSVolume
runbook. Parameter target logis adalah VolumeId
.

Runbook AWS-DetachEBSVolume
juga mencakup properti khusus yang disebut Jenis target, yang diatur ke /AWS::EC2::Volume
. Ini berarti bahwa jika pasangan tag-key Finance:TestEnv
mengembalikan berbagai jenis sumber daya (misalnya, EC2 instance, volume Amazon, EBS snapshot Amazon) maka hanya EBS volume Amazon yang akan digunakan. EBS
penting
Nama parameter target peka huruf besar dan kecil. Jika Anda menjalankan otomatisasi dengan menggunakan AWS Command Line Interface (AWS CLI) atau AWS Tools for Windows PowerShell, maka Anda harus memasukkan nama parameter target persis seperti yang ditentukan dalam runbook. Jika tidak, sistem akan mengembalikan sebuah InvalidAutomationExecutionParametersException
kesalahan. Anda dapat menggunakan DescribeDocumentAPIoperasi untuk melihat informasi tentang parameter target yang tersedia di runbook tertentu. Berikut ini adalah contoh AWS CLI perintah yang menyediakan informasi tentang AWS-DeleteSnapshot
dokumen.
aws ssm describe-document \ --name AWS-DeleteSnapshot
Berikut adalah beberapa contoh AWS CLI perintah yang menargetkan sumber daya dengan menggunakan tag.
Contoh 1: Menargetkan tag menggunakan pasangan nilai kunci untuk memulai ulang instans Amazon EC2
Contoh ini memulai ulang semua EC2 instans Amazon yang ditandai dengan kunci Departemen dan nilai. HumanResources Parameter target menggunakan InstanceIdparameter dari runbook. Contoh menggunakan parameter tambahan untuk menjalankan otomatisasi dengan menggunakan peran layanan otomatisasi (juga disebut peran asumsi).
aws ssm start-automation-execution \ --document-name AWS-RestartEC2Instance \ --targets Key=tag:Department,Values=HumanResources \ --target-parameter-name InstanceId \ --parameters "AutomationAssumeRole=arn:aws:iam::111122223333:role/AutomationServiceRole"
Contoh 2: Menargetkan tag menggunakan pasangan nilai kunci untuk menghapus snapshot Amazon EBS
Contoh berikut menggunakan AWS-DeleteSnapshot
runbook untuk menghapus semua snapshot dengan kunci Nama dan nilai Januari2018Backup. Parameter target menggunakan VolumeIdparameter.
aws ssm start-automation-execution \ --document-name AWS-DeleteSnapshot \ --targets Key=tag:Name,Values=January2018Backups \ --target-parameter-name VolumeId
Penargetan AWS Resource Groups
Anda dapat menentukan grup AWS sumber daya tunggal sebagai target otomatisasi. Systems Manager menciptakan otomatisasi anak untuk setiap objek dalam Grup Sumber Daya target.
Misalnya, katakan bahwa salah satu Resource Groups Anda bernama PatchedAMIs. Kelompok sumber daya ini mencakup daftar 25 Windows Amazon Machine Images (AMIs) yang di-patch secara rutin. Jika Anda menjalankan otomatisasi yang menggunakan AWS-CreateManagedWindowsInstance
runbook dan menargetkan Resource Groups ini, kemudian Systems Manager menciptakan otomatisasi anak untuk masing-masing 25 AMIs. Ini berarti, bahwa dengan menargetkan P atchedAMIs Resource Group, otomatisasi membuat 25 instance dari daftar patch. AMIs Otomatisasi induk selesai ketika semua otomatisasi anak menyelesaikan pemrosesan atau mencapai keadaan akhir.
AWS CLI Perintah berikut berlaku untuk contoh P atchAMIs Resource Group. Perintah mengambil AmiIdparameter untuk --target-parameter-name
opsi. Perintah tidak termasuk parameter tambahan yang menentukan jenis instans untuk dibuat dari masing-masing AMI. AWS-CreateManagedWindowsInstance
Runbook default ke tipe instans t2.medium, jadi perintah ini akan membuat 25 instance Amazon t2.medium untuk. EC2 Windows Server
aws ssm start-automation-execution \ --document-name AWS-CreateManagedWindowsInstance \ --targets Key=ResourceGroup,Values=PatchedAMIs \ --target-parameter-name AmiId
Contoh konsol berikut menggunakan Resource Group yang disebut t2-micro-instances.

Menanrgetkan nilai parameter
Anda juga dapat menargetkan nilai parameter. Anda memasukkan ParameterValues
sebagai kunci dan kemudian memasukkan nilai sumber daya tertentu agar otomatisasi dapat berjalan. Jika Anda menentukan beberapa nilai, Systems Manager menjalankan otomatisasi anak pada setiap nilai yang ditentukan.
Sebagai contoh, katakan bahwa runbook Anda mencakup parameter InstanceID. Jika Anda menargetkan nilai-nilai parameter InstanceID ketika menjalankan otomatisasi, Systems Manager menjalankan otomatisasi anak untuk setiap nilai ID instans yang ditentukan. Otomatisasi induk selesai ketika otomatisasi selesai menjalankan setiap instans tertentu, atau jika otomatisasi gagal. Anda dapat menargetkan maksimum 50 nilai parameter.
Contoh berikut menggunakan AWS-CreateImage
runbook. Nama parameter target yang ditentukan adalah InstanceId. Kegunaan kuncinya ParameterValues. Nilainya adalah dua EC2 contoh AmazonIDs. Perintah ini menciptakan otomatisasi untuk setiap instans, yang menghasilkan AMI dari setiap instans.
aws ssm start-automation-execution --document-name AWS-CreateImage \ --target-parameter-name InstanceId \ --targets Key=ParameterValues,Values=i-02573cafcfEXAMPLE,i-0471e04240EXAMPLE
catatan
AutomationAssumeRole
bukan parameter yang valid. Jangan memilih item ini ketika menjalankan otomatisasi yang menargetkan nilai parameter.
Menargetkan peta nilai parameter
Pilihan TargetMaps
memperluas kemampuan Anda untuk menargetkan ParameterValues
. Anda dapat memasukkan array nilai parameter dengan menggunakan TargetMaps
di baris perintah. Anda dapat menentukan maksimum 50 nilai parameter pada baris perintah. Jika Anda ingin menjalankan perintah yang menentukan lebih dari 50 nilai parameter, maka Anda dapat memasukkan nilai dalam JSON file. Anda kemudian dapat memanggil file dari baris perintah.
catatan
Pilihan TargetMaps
tidak didukung di konsol.
Gunakan format berikut untuk menentukan beberapa nilai parameter dengan menggunakan TargetMaps
pilihan dalam perintah. Ganti masing-masing example resource placeholder
dengan informasi Anda sendiri.
aws ssm start-automation-execution \ --document-name
runbook name
\ --target-maps “parameter
=value
,parameter 2
=value
,parameter 3
=value
” “parameter 4
=value
,parameter 5
=value
,parameter 6
=value
”
Jika Anda ingin memasukkan lebih dari 50 nilai parameter untuk TargetMaps
opsi, maka tentukan nilai dalam file dengan menggunakan JSON format berikut. Menggunakan JSON file juga meningkatkan keterbacaan saat memberikan beberapa nilai parameter.
[ {“parameter”: "value", “parameter 2”: "value", “parameter 3”: "value"}, {“parameter 4”: "value", “parameter 5”: "value", "parameter 6": "value"} ]
Simpan file dengan ekstensi file .json. Anda dapat membuat daftar file dengan menggunakan perintah berikut. Ganti masing-masing example resource
placeholder
dengan informasi Anda sendiri.
aws ssm start-automation-execution \ --document-name
runbook name
\ –-parametersinput parameters
\ --target-mapspath to file/file name
.json
Anda juga dapat mengunduh file dari bucket Amazon Simple Storage Service (Amazon S3), selama Anda memiliki izin untuk membaca data dari bucket. Gunakan format perintah berikut. Ganti masing-masing example resource placeholder
dengan informasi Anda sendiri.
aws ssm start-automation-execution \ --document-name
runbook name
\ --target-maps http://amzn-s3-demo-bucket.s3.amazonaws.com/file_name
.json
Berikut adalah contoh skenario untuk membantu Anda memahami TargetMaps
pilihan. Dalam skenario ini, pengguna ingin membuat EC2 instance Amazon dari berbagai jenis dari yang berbedaAMIs. Untuk melakukan tugas ini, pengguna membuat runbook bernama AMI _Testing. Runbook ini mendefinisikan dua parameter input: instanceType
dan imageId
.
{ "description": "AMI Testing", "schemaVersion": "0.3", "assumeRole": "{{assumeRole}}", "parameters": { "assumeRole": { "type": "String", "description": "Role under which to run the automation", "default": "" }, "instanceType": { "type": "String", "description": "Type of EC2 Instance to launch for this test" }, "imageId": { "type": "String", "description": "Source AMI id from which to run instance" } }, "mainSteps": [ { "name": "runInstances", "action": "aws:runInstances", "maxAttempts": 1, "onFailure": "Abort", "inputs": { "ImageId": "{{imageId}}", "InstanceType": "{{instanceType}}", "MinInstanceCount": 1, "MaxInstanceCount": 1 } } ], "outputs": [ "runInstances.InstanceIds" ] }
Pengguna kemudian menentukan nilai parameter target berikut dalam sebuah file bernama AMI_instance_types.json
.
[ { "instanceType" : ["t2.micro"], "imageId" : ["ami-b70554c8"] }, { "instanceType" : ["t2.small"], "imageId" : ["ami-b70554c8"] }, { "instanceType" : ["t2.medium"], "imageId" : ["ami-cfe4b2b0"] }, { "instanceType" : ["t2.medium"], "imageId" : ["ami-cfe4b2b0"] }, { "instanceType" : ["t2.medium"], "imageId" : ["ami-cfe4b2b0"] } ]
Pengguna dapat menjalankan otomatisasi dan membuat lima EC2 instance yang ditentukan AMI_instance_types.json
dengan menjalankan perintah berikut.
aws ssm start-automation-execution \ --document-name AMI_Testing \ --target-parameter-name imageId \ --target-maps file:///home/TestUser/workspace/runinstances/AMI_instance_types.json
Menargetkan semua instans Amazon EC2
Anda dapat menjalankan otomatisasi pada semua EC2 instans Amazon saat ini Akun AWS
dan Wilayah AWS dengan memilih Semua instans dalam daftar Target. Misalnya, jika Anda ingin memulai ulang semua EC2 instans Amazon Anda Akun AWS dan saat ini Wilayah AWS, Anda dapat memilih AWS-RestartEC2Instance
runbook dan kemudian memilih Semua instance dari daftar Target.

Setelah Anda memilih Semua instans, Systems Manager mengisi Instans dengan tanda bintang (*) dan membuat bidang tidak dapat diubah (bidang berwarna abu-abu). Systems Manager juga membuat InstanceIdbidang di bidang parameter Input tidak tersedia untuk perubahan. Membuat bidang ini tidak dapat diubah adalah perilaku yang diharapkan jika Anda memilih untuk menargetkan semua instans.