Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Contoh panduan berikut menunjukkan cara menggunakan AWS Command Line Interface (AWS CLI) untuk melihat informasi tentang perintah dan parameter perintah, cara menjalankan perintah, dan cara melihat status perintah tersebut.
penting
Hanya administrator tepercaya yang diizinkan untuk menggunakan dokumen AWS Systems Manager pra-konfigurasi yang ditampilkan dalam topik ini. Perintah atau skrip yang ditentukan dalam dokumen Systems Manager berjalan dengan izin administratif pada node terkelola Anda. Jika pengguna memiliki izin untuk menjalankan dokumen Systems Manager yang telah ditentukan sebelumnya (dokumen apa pun yang dimulai denganAWS-
), maka pengguna tersebut juga memiliki akses administrator ke node. Untuk semua pengguna lain, Anda harus membuat dokumen yang restriktif dan membagikannya dengan pengguna tertentu.
Topik
Langkah 1: Memulai
Anda harus memiliki izin administrator pada node terkelola yang ingin Anda konfigurasi atau Anda harus telah diberikan izin yang sesuai di AWS Identity and Access Management (IAM). Mohon diperhatiakn juga, contoh ini menggunakan Region US East (Ohio) (us-east-2). Run Command tersedia di titik akhir layanan Systems Manager yang Wilayah AWS tercantum di. Referensi Umum Amazon Web Services Untuk informasi selengkapnya, lihat Menyiapkan node terkelola untuk AWS Systems Manager.
Untuk menjalankan perintah menggunakan AWS CLI
Instal dan konfigurasikan AWS Command Line Interface (AWS CLI), jika Anda belum melakukannya.
Untuk selengkapnya, lihat Menginstal atau memperbarui versi terbaru AWS CLI.
-
Cantumkan semua dokumen yang tersedia.
Perintah ini mencantumkan semua dokumen yang tersedia untuk akun Anda berdasarkan izin IAM.
aws ssm list-documents
-
Verifikasi bahwa node terkelola siap menerima perintah.
Output dari perintah berikut menunjukkan jika node terkelola sedang online.
aws ssm describe-instance-information \ --output text --query "InstanceInformationList[*]"
-
Jalankan perintah berikut untuk melihat detail tentang node terkelola tertentu.
catatan
Untuk menjalankan perintah dalam panduan ini, ganti instance dan perintah. IDs Untuk perangkat AWS IoT Greengrass inti terkelola, gunakan mi-
ID_number
misalnya ID. ID perintah dikembalikan sebagai respon terhadap send-command. Instance IDs tersedia dari Fleet Manager, alat di AWS Systems Manager..aws ssm describe-instance-information \ --instance-information-filter-list key=InstanceIds,valueSet=
instance-ID
Langkah 2: Jalankan skrip shell untuk melihat detail sumber daya
Penggunaan Run Command dan AWS-RunShellScript
dokumennya, Anda dapat menjalankan perintah atau skrip apa pun pada node terkelola seolah-olah Anda masuk secara lokal.
Lihat deskripsi dan parameter yang tersedia
Jalankan perintah berikut untuk melihat deskripsi dokumen JSON Systems Manager.
aws ssm describe-document \
--name "AWS-RunShellScript" \
--query "[Document.Name,Document.Description]"
Jalankan perintah berikut untuk melihat parameter yang tersedia dan detail tentang parameter tersebut.
aws ssm describe-document \
--name "AWS-RunShellScript" \
--query "Document.Parameters[*]"
Langkah 3: Kirim perintah sederhana menggunakan dokumen AWS-RunShellScript
Jalankan perintah berikut untuk mendapatkan informasi IP untuk node yang dikelola Linux.
Jika Anda menargetkan Windows Server node terkelola, ubah document-name
ke AWS-RunPowerShellScript
dan ubah command
dari ifconfig
keipconfig
.
aws ssm send-command \
--instance-ids "instance-ID
" \
--document-name "AWS-RunShellScript" \
--comment "IP config" \
--parameters commands=ifconfig \
--output text
Dapatkan informasi perintah dengan data respon
Perintah berikut ini menggunakan Command ID yang dikembalikan dari perintah sebelumnya untuk mendapatkan detail dan data respon eksekusi perintah. Sistem mengembalikan data respon jika perintah selesai. Jika eksekusi perintah menunjukkan "Pending"
atau "InProgress"
Anda menjalankan perintah ini lagi untuk melihat data respon.
aws ssm list-command-invocations \
--command-id $sh-command-id
\
--details
Identifikasi pengguna
Perintah berikut menampilkan pengguna default yang menjalankan perintah.
sh_command_id=$(aws ssm send-command \
--instance-ids "instance-ID
" \
--document-name "AWS-RunShellScript" \
--comment "Demo run shell script on Linux managed node" \
--parameters commands=whoami \
--output text \
--query "Command.CommandId")
Dapatkan status perintah
Perintah berikut menggunakan Command ID untuk mendapatkan status eksekusi perintah pada node yang dikelola. Contoh ini menggunakan Command ID yang dikembalikan pada perintah sebelumnya.
aws ssm list-commands \
--command-id "command-ID
"
Dapatkan detail perintah
Perintah berikut menggunakan Command ID dari perintah sebelumnya untuk mendapatkan status eksekusi perintah pada basis per node yang dikelola.
aws ssm list-command-invocations \
--command-id "command-ID
" \
--details
Dapatkan informasi perintah dengan data respons untuk node terkelola tertentu
Perintah berikut mengembalikan output dari aws ssm
send-command
permintaan asli untuk node terkelola tertentu.
aws ssm list-command-invocations \
--instance-id instance-ID
\
--command-id "command-ID
" \
--details
Tampilkan versi Python
Perintah berikut mengembalikan versi Python berjalan pada node.
sh_command_id=$(aws ssm send-command \
--instance-ids "instance-ID
" \
--document-name "AWS-RunShellScript" \
--comment "Demo run shell script on Linux Instances" \
--parameters commands='python -V' \
--output text --query "Command.CommandId") \
sh -c 'aws ssm list-command-invocations \
--command-id "$sh_command_id" \
--details \
--query "CommandInvocations[].CommandPlugins[].{Status:Status,Output:Output}"'
Langkah 4: Jalankan skrip Python sederhana menggunakan Run Command
Perintah berikut menjalankan Python sederhana “Hello World” script menggunakan Run Command.
sh_command_id=$(aws ssm send-command \
--instance-ids "instance-ID
" \
--document-name "AWS-RunShellScript" \
--comment "Demo run shell script on Linux Instances" \
--parameters '{"commands":["#!/usr/bin/python","print \"Hello World from python\""]}' \
--output text \
--query "Command.CommandId") \
sh -c 'aws ssm list-command-invocations \
--command-id "$sh_command_id" \
--details \
--query "CommandInvocations[].CommandPlugins[].{Status:Status,Output:Output}"'
Langkah 5: Jalankan skrip Bash menggunakan Run Command
Contoh di bagian ini menunjukkan cara menjalankan skrip bash berikut menggunakan Run Command.
Untuk contoh penggunaan Run Command untuk menjalankan skrip yang disimpan di lokasi terpencil, lihat Menjalankan skrip dari Amazon S3 danMenjalankan skrip dari GitHub.
#!/bin/bash
yum -y update
yum install -y ruby
cd /home/ec2-user
curl -O https://aws-codedeploy-us-east-2.s3.amazonaws.com/latest/install
chmod +x ./install
./install auto
Skrip ini menginstal AWS CodeDeploy agen di Amazon Linux dan Red Hat Enterprise Linux (RHEL) instance, seperti yang dijelaskan dalam Buat EC2 instance Amazon untuk CodeDeploy di Panduan AWS CodeDeploy Pengguna.
Skrip menginstal CodeDeploy agen dari bucket S3 AWS terkelola di Wilayah AS Timur (Ohio) Anda (us-east-2),. aws-codedeploy-us-east-2
Jalankan skrip bash dalam sebuah perintah AWS CLI
Contoh berikut ini menunjukkan cara menyertakan skrip bash dalam perintah CLI menggunakan opsi --parameters
.
aws ssm send-command \
--document-name "AWS-RunShellScript" \
--targets '[{"Key":"InstanceIds","Values":["instance-id
"]}]' \
--parameters '{"commands":["#!/bin/bash","yum -y update","yum install -y ruby","cd /home/ec2-user","curl -O https://aws-codedeploy-us-east-2.s3.amazonaws.com/latest/install","chmod +x ./install","./install auto"]}'
Jalankan skrip bash dalam file JSON
Pada contoh berikut ini, konten dari skrip bash disimpan dalam file JSON, dan file tersebut disertakan dalam perintah menggunakan opsi --cli-input-json
.
aws ssm send-command \
--document-name "AWS-RunShellScript" \
--targets "Key=InstanceIds,Values=instance-id
" \
--cli-input-json file://installCodeDeployAgent.json
Konten dari file installCodeDeployAgent.json
yang direferensikan ini ditampilkan dalam contoh berikut.
{
"Parameters": {
"commands": [
"#!/bin/bash",
"yum -y update",
"yum install -y ruby",
"cd /home/ec2-user",
"curl -O https://aws-codedeploy-us-east-2.s3.amazonaws.com/latest/install",
"chmod +x ./install",
"./install auto"
]
}
}