Variabel sistem Otomatisasi - AWS Systems Manager

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

Variabel sistem Otomatisasi

AWS Systems Manager Runbook otomatisasi menggunakan variabel berikut. Untuk contoh cara penggunaan variabel-variabel ini digunakan, lihat sumber JSON AWS-UpdateWindowsAmi runbook.

Untuk melihat sumber JSON AWS-UpdateWindowsAmi runbook
  1. Buka konsol AWS Systems Manager pada https://console.aws.amazon.com/systems-manager/.

  2. Di panel navigasi, pilih Dokumen.

  3. Dalam daftar dokumen, gunakan bilah Pencarian atau angka di sebelah kanan bilah Pencarian untuk memilih buku runbook AWS-UpdateWindowsAmi.

  4. Pilih tab Daftar Isi.

Variabel sistem

Runbook otomatisasi mendukung variabel berikut.

Variabel Detail

global:ACCOUNT_ID

Akun AWSID pengguna atau peran lokasi otomatisasi berjalan.

global:DATE

Tanggal (pada waktu aktif) dalam format yyyy-MM-dd.

global:DATE_TIME

Tanggal dan waktu (pada waktu aktif) dalam format yyyy-MM-dd_HH.mm.ss.

global:AWS_PARTITION

Partisi tempat sumber daya berada. Untuk standard Wilayah AWS, partisi-nya adalah aws. Jika Anda memiliki sumber daya di partisi lain, maka partisi-nya adalah aws-partitionname. Sebagai contoh, partisi untuk sumber daya di Wilayah AWS GovCloud (US-West). aws-us-gov

global:REGION

Wilayah tempat runbook dijalankan. Misalnya, us–east-2.

Variabel otomatisasi

Runbook otomatisasi mendukung variabel otomatisasi berikut.

Variabel Detail

automation:EXECUTION_ID

Pengenal unik yang ditugaskan untuk otomatisasi saat ini. Sebagai contoh, 1a2b3c-1a2b3c-1a2b3c-1a2b3c1a2b3c1a2b3c.

Terminologi

Istilah berikut menjelaskan cara menyelesaikan variabel dan parameter.

Jangka waktu Definisi Contoh

ARN Konstan

Amazon Resource Name (ARN) yang valid tanpa variabel.

arn:aws:iam::123456789012:role/roleName

Parameter runbook

Parameter yang didefinisikan pada tingkat runbook (misalnya, instanceId). Parameter tersebut digunakan dalam pengganti string dasar. Nilainya diberikan pada saat Memulai Eksekusi.

{ "description": "Create Image Demo", "version": "0.3", "assumeRole": "Your_Automation_Assume_Role_ARN", "parameters":{ "instanceId": { "type": "String", "description": "Instance to create image from" } }

Variabel sistem

Variabel umum diganti ke runbook ketika setiap bagian runbook dievaluasi.

"activities": [ { "id": "copyImage", "activityType": "AWS-CopyImage", "maxAttempts": 1, "onFailure": "Continue", "inputs": { "ImageName": "{{imageName}}", "SourceImageId": "{{sourceImageId}}", "SourceRegion": "{{sourceRegion}}", "Encrypted": true, "ImageDescription": "Test CopyImage Description created on {{global:DATE}}" } } ]

Variasi otomatis

Variabel yang berkaitan dengan otomatisasi diganti ke runbook ketika setiap bagian runbook dievaluasi.

{ "name": "runFixedCmds", "action": "aws:runCommand", "maxAttempts": 1, "onFailure": "Continue", "inputs": { "DocumentName": "AWS-RunPowerShellScript", "InstanceIds": [ "{{LaunchInstance.InstanceIds}}" ], "Parameters": { "commands": [ "dir", "date", "“{{outputFormat}}” -f “left”,”right”,”{{global:DATE}}”,”{{automation:EXECUTION_ID}}” ] } } }

Parameter Systems Manager

Sebuah variabel yang didefinisikan dalam AWS Systems ManagerParameter Store. Hal ini tidak dapat langsung direferensikan dalam langkah masukan. Izin mungkin diperlukan untuk mengakses parameter.

description: Launch new Windows test instance schemaVersion: '0.3' assumeRole: '{{AutomationAssumeRole}}' parameters: AutomationAssumeRole: type: String default: '' description: >- (Required) The ARN of the role that allows Automation to perform the actions on your behalf. If no role is specified, Systems Manager Automation uses your IAM permissions to run this runbook. LatestAmi: type: String default: >- {{ssm:/aws/service/ami-windows-latest/Windows_Server-2016-English-Full-Base}} description: The latest Windows Server 2016 AMI queried from the public parameter. mainSteps: - name: launchInstance action: 'aws:runInstances' maxAttempts: 3 timeoutSeconds: 1200 onFailure: Abort inputs: ImageId: '{{LatestAmi}}' ...

Skenario yang didukung

Skenario Komentar Contoh

ARN Konstan assumeRole saat penciptaan.

Pemeriksaan otorisasi dilakukan untuk memverifikasi bahwa pengguna panggilan diizinkan untuk melewati diberikan assumeRole.

{ "description": "Test all Automation resolvable parameters", "schemaVersion": "0.3", "assumeRole": "arn:aws:iam::123456789012:role/roleName", "parameters": { ...

Parameter Runbook disediakan untuk AssumeRole saat otomasi dimulai.

Harus didefinisikan dalam daftar parameter runbook.

{ "description": "Test all Automation resolvable parameters", "schemaVersion": "0.3", "assumeRole": "{{dynamicARN}}", "parameters": { ...

Nilai yang disediakan untuk parameter runbook di awal.

Pelanggan memasok nilai yang akan digunakan untuk parameter. Setiap input yang diberikan pada waktu mulai harus didefinisikan dalam daftar parameter runbook.

... "parameters": { "amiId": { "type": "String", "default": "ami-12345678", "description": "list of commands to run as part of first step" }, ...

Masukan untuk Memulai Eksekusi Otomatisasi meliputi : {"amiId" : ["ami-12345678"] }

Parameter Systems Manager direferensikan dalam konten runbook.

Variabel ada dalam akun pelanggan, atau merupakan parameter yang dapat diakses publik, dan AssumeRole untuk runbook memiliki akses ke variabel. Pemeriksaan dilakukan pada waktu membuat untuk mengonfirmasi AssumeRole memiliki akses. Parameter tidak dapat langsung direferensikan dalam langkah input.

... parameters: LatestAmi: type: String default: >- {{ssm:/aws/service/ami-windows-latest/Windows_Server-2016-English-Full-Base}} description: The latest Windows Server 2016 AMI queried from the public parameter. mainSteps: - name: launchInstance action: 'aws:runInstances' maxAttempts: 3 timeoutSeconds: 1200 onFailure: Abort inputs: ImageId: '{{LatestAmi}}' ...

Variabel sistem direferensikan dalam definisi langkah

Sebuah variabel sistem diganti ke runbook ketika otomatisasi dimulai. Nilai yang disuntikkan ke dalam runbook relatif saat substitusi terjadi. Artinya, nilai variabel waktu disuntikkan pada langkah 1 berbeda dari nilai variabel yang disuntikkan pada langkah 3 karena waktu yang dibutuhkan untuk menjalankan langkah-langkah di antaranya. Variabel sistem tidak perlu diatur dalam daftar parameter runbook.

... "mainSteps": [ { "name": "RunSomeCommands", "action": "aws:runCommand", "maxAttempts": 1, "onFailure": "Continue", "inputs": { "DocumentName": "AWS:RunPowerShell", "InstanceIds": ["{{LaunchInstance.InstanceIds}}"], "Parameters": { "commands" : [ "echo {The time is now {{global:DATE_TIME}}}" ] } } }, ...

Variabel otomatisasi direferensikan dalam definisi langkah.

Variabel otomatisasi tidak perlu diatur dalam daftar parameter runbook. Variabel Otomatisasi yang hanya didukung adalah otomatisasi:EXECUTION_ID.

... "mainSteps": [ { "name": "invokeLambdaFunction", "action": "aws:invokeLambdaFunction", "maxAttempts": 1, "onFailure": "Continue", "inputs": { "FunctionName": "Hello-World-LambdaFunction", "Payload" : "{ "executionId" : "{{automation:EXECUTION_ID}}" }" } } ...

Lihat output langkah sebelumnya dalam definisi langkah berikutnya.

Ini adalah pengalihan parameter. Output langkah sebelumnya direferensikan menggunakan sintaks {{stepName.OutputName}}. Sintaks ini tidak dapat digunakan oleh pelanggan untuk parameter runbook. Hal ini teratasi saat langkah pengarah berjalan. Parameter tidak tercantum dalam parameter runbook.

... "mainSteps": [ { "name": "LaunchInstance", "action": "aws:runInstances", "maxAttempts": 1, "onFailure": "Continue", "inputs": { "ImageId": "{{amiId}}", "MinInstanceCount": 1, "MaxInstanceCount": 2 } }, { "name":"changeState", "action": "aws:changeInstanceState", "maxAttempts": 1, "onFailure": "Continue", "inputs": { "InstanceIds": ["{{LaunchInstance.InstanceIds}}"], "DesiredState": "terminated" } } ...

Skenario tidak didukung

Skenario Komentar Contoh

Parameter Systems Manager disediakan untuk assumeRole saat membuat

Tidak didukung.

... { "description": "Test all Automation resolvable parameters", "schemaVersion": "0.3", "assumeRole": "{{ssm:administratorRoleARN}}", "parameters": { ...

Parameter Systems Manager langsung direferensikan dalam langkah input.

Pengembalian InvalidDocumentContent pengecualian pada waktu pembuatan.

... mainSteps: - name: launchInstance action: 'aws:runInstances' maxAttempts: 3 timeoutSeconds: 1200 onFailure: Abort inputs: ImageId: '{{ssm:/aws/service/ami-windows-latest/Windows_Server-2016-English-Full-Base}}' ...

Definisi langkah variabel

Definisi langkah dalam runbook dibangun oleh variabel.

... "mainSteps": [ { "name": "LaunchInstance", "action": "aws:runInstances", "{{attemptModel}}": 1, "onFailure": "Continue", "inputs": { "ImageId": "ami-12345678", "MinInstanceCount": 1, "MaxInstanceCount": 2 } ... User supplies input : { "attemptModel" : "minAttempts" }

Parameter runbook referensi silang

Pengguna memasok parameter input pada waktu mulai, yang merupakan referensi ke parameter lain dalam runbook.

... "parameters": { "amiId": { "type": "String", "default": "ami-7f2e6015", "description": "list of commands to run as part of first step" }, "alternateAmiId": { "type": "String", "description": "The alternate AMI to try if this first fails". "default" : "{{amiId}}" }, ...

Ekspansi multi level

Runbook mendefinisikan variabel yang mengevaluasi ke nama variabel. Ini berada dalam pembatas variabel (yaitu {{}}) dan diperluas ke nilai variabel/parameter tersebut.

... "parameters": { "firstParameter": { "type": "String", "default": "param2", "description": "The parameter to reference" }, "secondParameter": { "type": "String", "default" : "echo {Hello world}", "description": "What to run" } }, "mainSteps": [{ "name": "runFixedCmds", "action": "aws:runCommand", "maxAttempts": 1, "onFailure": "Continue", "inputs": { "DocumentName": "AWS-RunPowerShellScript", "InstanceIds" : "{{LaunchInstance.InstanceIds}}", "Parameters": { "commands": [ "{{ {{firstParameter}} }}"] } ... Note: The customer intention here would be to run a command of "echo {Hello world}"

Referensi output langkah runbook yang merupakan jenis variabel yang berbeda

Pengguna mereferensikan output dari langkah runbook sebelumnya dalam langkah berikutnya. Output adalah jenis variabel yang tidak memenuhi persyaratan tindakan pada langkah berikutnya.

... mainSteps: - name: getImageId action: aws:executeAwsApi inputs: Service: ec2 Api: DescribeImages Filters: - Name: "name" Values: - "{{ImageName}}" outputs: - Name: ImageIdList Selector: "$.Images" Type: "StringList" - name: copyMyImages action: aws:copyImage maxAttempts: 3 onFailure: Abort inputs: SourceImageId: {{getImageId.ImageIdList}} SourceRegion: ap-northeast-2 ImageName: Encrypted Copies of LAMP base AMI in ap-northeast-2 Encrypted: true ... Note: You must provide the type required by the Automation action. In this case, aws:copyImage requires a "String" type variable but the preceding step outputs a "StringList" type variable.