Anda di halaman 1dari 189

AWS Command Line Interface

Panduan Pengguna untuk Versi 1


AWS Command Line Interface
Panduan Pengguna untuk Versi 1

AWS Command Line Interface: Panduan Pengguna untuk Versi 1


Copyright © Amazon Web Services, Inc. and/or its affiliates. All rights reserved.

Merek dagang dan tampilan dagang Amazon tidak boleh digunakan sehubungan dengan produk atau layanan apa pun
yang bukan milik Amazon, dengan cara apa pun yang dapat menyebabkan kebingungan di antara para pelanggan,
atau dengan cara apa pun yang menghina atau mendiskreditkan Amazon. Semua merek dagang lain yang tidak
dimiliki oleh Amazon adalah milik dari pemiliknya masing-masing, yang mungkin berafiliasi atau tidak berafiliasi
dengan, terkait, atau disponsori oleh Amazon.
AWS Command Line Interface
Panduan Pengguna untuk Versi 1

Table of Contents
....................................................................................................................................................... vi
TentangAWS CLI ................................................................................................................................ 1
TentangAWS CLIversi 1 .............................................................................................................. 1
Pemeliharaan dan dukungan untuk versi utama SDK ....................................................................... 2
Tentang Amazon Web Services .................................................................................................... 2
Menggunakan contoh .................................................................................................................. 2
Dokumentasi dan sumber daya tambahan ...................................................................................... 3
AWS CLIdokumentasi dan sumber daya ................................................................................ 3
LainnyaAWSSDK ................................................................................................................ 3
Menginstal AWS CLI ........................................................................................................................... 5
Persyaratan versi Python ............................................................................................................. 5
Amazon Linux ............................................................................................................................ 5
Prasyarat ........................................................................................................................... 6
pip .................................................................................................................................... 6
yum .................................................................................................................................. 7
Linux ........................................................................................................................................ 7
Prasyarat ........................................................................................................................... 8
Instal dan hapus instalan menggunakan penginstal yang dibundel .............................................. 8
Instal dan uninstall menggunakan pip .................................................................................. 12
macOS .................................................................................................................................... 15
Prasyarat ......................................................................................................................... 15
Instal dan hapus instalan menggunakan penginstal yang dibundel ............................................ 15
Instal dan perbarui menggunakan pip .................................................................................. 19
Windows .................................................................................................................................. 21
Instal, perbarui, dan hapus instalan menggunakan pemasang MSI ............................................ 22
Instal, perbarui, dan hapus instalan menggunakan Python dan pip ............................................ 23
TambahkanAWS CLIexecutable ke jalur baris perintah ........................................................... 24
Virtualenv ................................................................................................................................ 25
Prasyarat ......................................................................................................................... 26
Menginstal dan memperbarui lingkungan virtual ..................................................................... 26
Mengonfigurasi AWS CLI ................................................................................................................... 28
Dasar-dasar konfigurasi ............................................................................................................. 28
Konfigurasi cepat denganaws configure .......................................................................... 29
Access key ID dan secret access key .................................................................................. 29
Wilayah ........................................................................................................................... 30
Format output ................................................................................................................... 30
Profil ............................................................................................................................... 30
Pengaturan konfigurasi dan prioritas .................................................................................... 31
Pengaturan konfigurasi dan file kredenensial ................................................................................. 31
Di mana pengaturan konfigurasi disimpan? ........................................................................... 32
Mengatur dan melihat pengaturan konfigurasi ....................................................................... 33
DidukungconfigPengaturan file ......................................................................................... 34
Profil Bernama ......................................................................................................................... 42
Membuat profil bernama .................................................................................................... 42
Menggunakan profil bernama .............................................................................................. 43
Variabel lingkungan ................................................................................................................... 44
Cara mengatur variabel lingkungan ...................................................................................... 44
AWS CLIvariabel lingkungan yang didukung ......................................................................... 45
Opsi baris perintah .................................................................................................................... 48
Cara menggunakan opsi baris perintah ................................................................................ 48
AWS CLIopsi baris perintah global yang didukung ................................................................. 49
Penggunaan opsi baris perintah .......................................................................................... 50
Command selesai ..................................................................................................................... 51
Cara kerjanya ................................................................................................................... 51

iii
AWS Command Line Interface
Panduan Pengguna untuk Versi 1

Mengkonfigurasi penyelesaian perintah di Linux atau macOS .................................................. 52


Mengkonfigurasi penyelesaian perintah pada Windows ........................................................... 54
Percobaan ulang ....................................................................................................................... 55
Mode coba lagi yang tersedia ............................................................................................. 55
Mengkonfigurasi mode coba ulang ...................................................................................... 57
Melihat log upaya coba lagi ................................................................................................ 58
Kredenal eksternal .................................................................................................................... 58
Menggunakan kredenal untuk metadata instans Amazon EC2 .......................................................... 60
Prasyarat ......................................................................................................................... 60
Mengkonfigurasi profil untuk metadata Amazon EC2 .............................................................. 60
Menggunakan proxy HTTP ......................................................................................................... 61
Menggunakan contoh ........................................................................................................ 61
Mengotentikasi ke sebuah proksi ......................................................................................... 62
Menggunakan proksi di instans Amazon EC2 ........................................................................ 63
Menggunakan peran IAM ........................................................................................................... 63
Prasyarat ......................................................................................................................... 63
Ikhtisar menggunakan peran IAM ........................................................................................ 63
Mengkonfigurasi dan menggunakan peran ............................................................................ 64
Menggunakan MFA ........................................................................................................... 66
Peran lintas akun dan ID eksternal ...................................................................................... 67
Menentukan nama sesi peran untuk audit yang lebih mudah ................................................... 67
Asumsikan peran dengan identitas web ................................................................................ 68
Kliring kredensi cache ....................................................................................................... 69
Menggunakan AWS CLI ..................................................................................................................... 70
Mendapatkan bantuan ............................................................................................................... 70
Built-inAWS CLIperintah bantuan ......................................................................................... 70
AWS CLIpanduan referensi ................................................................................................ 74
Dokumentasi API .............................................................................................................. 74
bantuan tambahan ............................................................................................................ 74
Struktur Command .................................................................................................................... 74
Struktur perintah ............................................................................................................... 75
Perintah menunggu ........................................................................................................... 75
Menentukan Nilai Parameter ....................................................................................................... 76
Jenis Parameter Umum ..................................................................................................... 77
Kutipan dengan String ....................................................................................................... 80
Parameter dari File ........................................................................................................... 82
Menghasilkan CLI Skeleton Template .................................................................................. 85
Sintaks Sintaks ................................................................................................................. 89
Mengontrol Command Output ..................................................................................................... 91
Format Output .................................................................................................................. 91
Paginasi .......................................................................................................................... 96
Penyaringan ..................................................................................................................... 97
Kode Kembali ......................................................................................................................... 114
Alias ...................................................................................................................................... 115
Prasyarat ....................................................................................................................... 115
Langkah 1: Membuat file alias .......................................................................................... 115
Langkah 2: Membuat alias ................................................................................................ 116
Langkah 3: Memanggil alias ............................................................................................. 118
Contoh repositori alias ..................................................................................................... 119
Sumber daya .................................................................................................................. 120
MenggunakanAWS CLIbersamaAWSLayanan ..................................................................................... 121
DynamoDB ............................................................................................................................. 121
Prasyarat ....................................................................................................................... 122
Membuat dan menggunakan tabel DynamoDB .................................................................... 122
Menggunakan DynamoDB Lokal ........................................................................................ 123
Sumber daya .................................................................................................................. 123
Amazon EC2 .......................................................................................................................... 124

iv
AWS Command Line Interface
Panduan Pengguna untuk Versi 1

Pasangan Kunci Amazon EC2 .......................................................................................... 124


Grup Keamanan Amazon EC2 .......................................................................................... 127
Instans EC2 ................................................................................................................... 131
Ubah tipe EC2 menggunakan skrip bash ............................................................................ 138
S3 Glacier .............................................................................................................................. 140
Prasyarat ....................................................................................................................... 140
Membuat vault Amazon S3 Glacier .................................................................................... 141
Siapkan file untuk diunggah .............................................................................................. 141
Inisiasi unggahan multipart dan unggahan file ...................................................................... 142
Selesaikan unggahan ....................................................................................................... 143
Sumber daya .................................................................................................................. 144
IAM ....................................................................................................................................... 144
Membuat pengguna dan grup IAM ..................................................................................... 145
Melampirkan kebijakan terkelola IAM ke pengguna IAM ........................................................ 146
Mengatur kata sandi awal bagi pengguna IAM ..................................................................... 147
Membuat access key untuk pengguna IAM ......................................................................... 147
Amazon S3 ............................................................................................................................ 148
Tingkat tinggi (s3) perintah ............................................................................................... 148
Perintah tingkat API (s3 api) ............................................................................................. 156
Contoh scripting siklus hidup ember (s3api) ....................................................................... 158
Amazon SNS .......................................................................................................................... 160
Membuat topik ................................................................................................................ 161
Berlangganan topik .......................................................................................................... 161
Menerbitkan ke topik ....................................................................................................... 162
Berhenti berlangganan dari topik ....................................................................................... 162
Menghapus topik ............................................................................................................. 162
Amazon SWF ......................................................................................................................... 162
Daftar Amazon SWF Commands ....................................................................................... 163
Bekerja dengan Domain Amazon SWF ............................................................................... 165
Keamanan ...................................................................................................................................... 168
Perlindungan Data ................................................................................................................... 168
Enkripsi data .................................................................................................................. 169
Identity and Access Management .............................................................................................. 169
Validasi Kepatuhan .................................................................................................................. 170
Menegakkan TLS 1.2 ............................................................................................................... 170
Menyelesaikan Masalah Kesalahan .................................................................................................... 173
Umum: Pastikan Anda menjalankan versi terbaruAWS CLI. ........................................................... 173
Umum: Menggunakan--debugpilihan. ....................................................................................... 173
Saya mendapatkan kesalahan “perintah tidak ditemukan” ketika saya menjalankanaws. ...................... 177
Kemungkinan penyebab : Sistem operasi “path” tidak diperbarui selama instalasi. ...................... 177
Saya mendapatkan kesalahan “akses ditolak”. ............................................................................. 178
Kemungkinan penyebab : ParameterAWS CLIfile program tidak memiliki “run” izin. .................... 178
Kemungkinan penyebab : Identitas IAM Anda tidak memiliki izin untuk melakukan operasi. .......... 178
Saya mendapatkan kesalahan “kredensi tidak valid”. .................................................................... 178
Kemungkinan penyebab : ParameterAWS CLImembaca kredensi dari lokasi yang tak terduga. ..... 178
Kemungkinan penyebab : Jam komputer Anda tidak sinkron. ................................................. 179
Saya mendapatkan kesalahan “signature does not match” (SignatureDoesNotMatch). ........................ 179
Kemungkinan penyebab : Jam Anda tidak sinkron denganAWSserver. ..................................... 179
Kemungkinan penyebab : Sistem operasi Anda salah penangananAWSkunci rahasia yang berisi
karakter khusus tertentu. .................................................................................................. 180
Saya mendapatkan “Tidak ada konsol Windows ditemukan. Apakah Anda menjalankan cmd.exe?”
kesalahan. .............................................................................................................................. 180
Saya mendapatkan “[SSL: CERTIFICATE_ VERIFY_FAILED] sertifikat verifikasi gagal” kesalahan. ....... 180
Sumber daya tambahan ........................................................................................................... 181
Riwayat Dokumen ........................................................................................................................... 182

v
AWS Command Line Interface
Panduan Pengguna untuk Versi 1

Dokumentasi ini untuk versi 1AWS CLIhanya. Untuk dokumentasi yang terkait dengan Versi 2AWS CLI,
lihatPanduan Pengguna Versi 2.

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

vi
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
TentangAWS CLIversi 1

ApaAWS Command Line


Interfaceversi 1?
Note

ParameterAWS CLIversi 1 bukan versi terbaruAWS CLI. Beberapa fitur yang diperkenalkan
diAWS CLIVersi 2 tidak backported ke versi 1 dan Anda harus meng-upgrade untuk mengakses
fitur-fitur tersebut. Ada beberapa perubahan “melanggar” dari versi 1 yang mungkin mengharuskan
Anda untuk mengubah skrip Anda. Untuk daftar perubahan yang melanggar di versi 2,
lihatPerubahan melanggardiAWS CLIPanduan Pengguna versi 2.

ParameterAWS Command Line Interface(AWS CLI) adalah alat sumber terbuka yang memungkinkan Anda
berinteraksi denganAWSlayanan menggunakan perintah di shell baris perintah Anda. Dengan konfigurasi
minimal,AWS CLImemungkinkan Anda untuk mulai menjalankan perintah yang menerapkan fungsionalitas
setara dengan yang disediakan oleh berbasis perambanAWS Management Consoledari command prompt
dalam program terminal Anda:

• Kerang Linux— Gunakan program shell umum sepertibash,zsh, dantcshuntuk menjalankan perintah di
Linux atau macOS.
• Baris perintah Windows— Pada Windows, jalankan perintah pada command prompt Windows atau di
PowerShell.
• Jarak Jauh— Jalankan perintah di instans Amazon Elastic Compute Cloud (Amazon EC2) melalui
program terminal jarak jauh seperti PuTTY atau SSH, atau denganAWS Systems Manager.

Semua IaaS (infrastruktur sebagai layanan)AWSadministrasi, manajemen, dan fungsi akses dalamAWS
Management Consoletersedia diAWSAPI danAWS CLI. BaruAWSFitur dan layanan IaaS menyediakan
penuhAWS Management Consolefungsionalitas melalui API dan CLI saat peluncuran atau dalam waktu
180 hari sejak peluncuran.

ParameterAWS CLImenyediakan akses langsung ke API publikAWSlayanan. Anda dapat menjelajahi


kemampuan layanan denganAWS CLI, dan mengembangkan skrip shell untuk mengelola sumber daya
Anda. Selain tingkat rendah, perintah API-setara, beberapaAWSmenyediakan kustomisasi untukAWS
CLI. Kustomisasi dapat mencakup perintah tingkat tinggi yang menyederhanakan menggunakan layanan
dengan API yang kompleks.

TentangAWS CLIversi 1
ParameterAWS CLIversi 1 adalahAWS CLI, dan kami terus mendukungnya. Namun, fitur baru utama yang
diperkenalkan diAWS CLIversi 2 mungkin tidak backported keAWS CLIversi 1. Untuk menggunakan fitur
tersebut, Anda harus menginstalAWS CLIversi 2. ParameterAWS CLIversi 1 dibangun menggunakan SDK
untuk Python, dan karena itu mengharuskan Anda untuk menginstal versi yang kompatibel Python.

Untuk menginstalAWS CLIversi 1, lihatMenginstal AWS CLI (p. 5).

Untuk memeriksa versi terpasang, gunakan perintah berikut:

$ aws --version
aws-cli/1.22.23 Python/3.8.8 Linux/4.14.133-113.105.amzn2.x86_64 botocore/1.13

1
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Pemeliharaan dan dukungan untuk versi utama SDK

Untuk riwayat versi, lihatAWS CLIChangelog versi 1di atasGitHub.

Pemeliharaan dan dukungan untuk versi utama


SDK
Untuk informasi tentang pemeliharaan dan dukungan untuk versi utama SDK dan dependensi yang
mendasarinya, lihat berikut di Panduan Referensi SDK dan Alat AWS:

• AWSKebijakan pemeliharaan SDK dan alat


• AWSSDK dan matriks dukungan versi alat

Tentang Amazon Web Services


Amazon Web Services (AWS) adalah kumpulan layanan infrastruktur digital yang dapat dimanfaatkan
developer saat mengembangkan aplikasi mereka. Layanan tersebut meliputi komputasi, penyimpanan,
basis data, dan sinkronisasi aplikasi (olahpesan dan antrian).AWSmenggunakan pay-as-you-go Model
layanan. Anda hanya dikenakan biaya untuk layanan yang Anda—atau aplikasi Anda—gunakan. Juga,
untuk membuat AWS lebih mudah didekati sebagai platform untuk pembuatan prototipe dan eksperimen,
AWS menawarkan tingkat penggunaan gratis. Pada tingkat ini, layanan gratis di bawah tingkat penggunaan
tertentu. Untuk informasi selengkapnya tentang biaya AWS dan Tingkat Gratis, lihat Uji Coba AWS di
Tingkat Penggunaan Gratis. Untuk mendapatkan akun AWS, buka AWS home page (halaman beranda )
lalu klik Sign Up (Daftar).

MenggunakanAWS CLIcontoh
ParameterAWS Command Line Interface(AWS CLI) contoh dalam panduan ini diformat menggunakan
konvensi berikut:

• Prompt— Prompt perintah menggunakan prompt Linux dan ditampilkan sebagai ($ ). Untuk perintah
yang spesifik Windows,C:\>digunakan sebagai prompt. Jangan sertakan prompt saat Anda mengetik
perintah.
• Direktori— Ketika perintah harus dijalankan dari direktori tertentu, nama direktori ditampilkan sebelum
simbol prompt.
• Input pengguna— Teks perintah yang Anda masukkan di baris perintah diformat sebagaiuser input.
• Teks yang dapat diganti— Teks variabel, termasuk nama sumber daya yang Anda pilih, atau ID yang
dihasilkan olehAWSlayanan yang harus Anda sertakan dalam perintah, diformat sebagaiteks yang
dapat diganti. Dalam beberapa baris perintah atau perintah di mana input keyboard tertentu
diperlukan, perintah keyboard juga dapat ditampilkan sebagai teks diganti.
• Output- Output dikembalikan olehAWSlayanan ditampilkan di bawah input pengguna, dan diformat
sebagaicomputer output.

Berikutaws configurecontoh perintah menunjukkan input pengguna, teks diganti, dan output:

1. Memasukkanaws configuredi baris perintah, lalu tekanMemasukkan.


2. ParameterAWS CLIoutput baris teks, mendorong Anda untuk memasukkan informasi tambahan.
3. Masukkan masing-masing tombol akses Anda secara bergantian, lalu tekanMemasukkan.
4. Kemudian, masukkanAWSNama wilayah dalam format yang ditampilkan, tekanMemasukkan, lalu
tekanMemasukkanwaktu terakhir untuk melewatkan pengaturan format output.

2
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Dokumentasi dan sumber daya tambahan

5. FinalMemasukkanperintah ditampilkan sebagai teks diganti karena tidak ada input pengguna untuk
baris itu.

$ aws configure
AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE
AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Default region name [None]: us-west-2
Default output format [None]: ENTER

Contoh berikut menunjukkan perintah sederhana dengan output. Untuk menggunakan contoh ini,
masukkan teks lengkap perintah (teks yang disorot setelah prompt), lalu tekanMemasukkan. Nama dari
grup keamanan,my-sg, dapat diganti dengan nama grup keamanan yang Anda inginkan. Dokumen JSON,
termasuk kurung kurawal, adalah output. Jika Anda mengkonfigurasi CLI Anda untuk output dalam format
teks atau tabel, output akan diformat berbeda. JSONadalah format output default.

$ aws ec2 create-security-group --group-name my-sg --description "My security group"


{
"GroupId": "sg-903004f8"
}

Dokumentasi dan sumber daya tambahan


AWS CLIdokumentasi dan sumber daya
Selain panduan pengguna ini, berikut ini adalah sumber daya online yang berharga untukAWS CLI.

• AWS CLIpanduan referensi versi 1


• AWS CLIrepositori kode
• AWS CLI GitHub repositoriAnda dapat melihat dan garpu kode sumber untukAWS CLIdi GitHub.
Bergabunglah dengan komunitas pengguna di GitHub untuk memberikan umpan balik, meminta fitur, dan
mengirimkan kontribusi Anda sendiri.
• AWS CLIalias contoh repositoriAnda dapat melihatAWS CLIalias contoh di GitHub.
• AWS CLIcatatan perubahan versi 1
• AWS CLIcatatan perubahan versi 2

LainnyaAWSSDK
Bergantung pada kasus penggunaan Anda, Anda dapat memilih salah satuAWSSDK atauAWS Tools for
PowerShell:

• AWS Tools for PowerShell


• AWS SDK for Java
• AWS SDK for .NET
• AWS SDK for JavaScript
• AWS SDK for Ruby
• AWS SDK for Python (Boto)
• AWS SDK for PHP
• AWS SDK for Go
• AWS Mobile SDK for iOS

3
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
LainnyaAWSSDK

• AWS Mobile SDK for Android

4
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Persyaratan versi Python

Menginstal, memperbarui, dan


menghapus instalasiAWS CLI
Topik ini menyediakan link untuk menginstal, memperbarui, dan menghapus versi asli dariAWS
Command Line Interface(AWS CLI). ParameterAWS CLIversi 1 saat ini didukung, tetapi fitur baru
ditambahkan keAWS CLIversi 2 tidak dapat ditambahkan keAWS CLIversi 1. Untuk menggunakan fitur-
fitur tersebut, Anda harus menginstalAWS CLIversi 2. Untuk informasi tentang cara menginstal versi 2,
lihatMenginstalAWS CLIversi 2.

AWS CLImenginstal, memperbarui, dan menghapus petunjuk:


• Persyaratan versi Python (p. 5)
• Instal, Perbarui, dan UninstallAWS CLIversi 1 di Amazon Linux (p. 5)
• Instal, Update, dan UninstallAWS CLIVersi 1 di Linux (p. 7)
• Instal, Perbarui, dan UninstallAWS CLIVersi 1 di macOS (p. 15)
• Instal, Perbarui, dan UninstallAWS CLIVersi 1 pada Windows (p. 21)
• Instal dan PerbaruiAWS CLIversi 1 di lingkungan virtual (p. 25)

Persyaratan versi Python


ParameterAWS CLIversi 1 dibangun menggunakan SDK untuk Python, dan karena itu mengharuskan Anda
untuk menginstal versi yang kompatibel Python.

Matriks dukungan versi Python

Versi AWS CLI Versi Python

1.20.0 — saat ini Python 3.6+

1.19.0 — 1.19.x Python 2.7+, Python 3.6+

1.17 — 1.18.x Python 2.7+, Python 3.4+

1.0 - 1.16.x Python 2.6 dan lebih tua, Python 3.3 dan yang
lebih tua

Instal, Perbarui, dan UninstallAWS CLIversi 1 di


Amazon Linux
ParameterAWS CLIVersi 1 telah terinstal di Amazon Linux dan Amazon Linux 2. Periksa versi yang sedang
terinstal dengan menggunakan perintah berikut.

$ aws --version

5
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Prasyarat

aws-cli/1.22.23 Python/3.8.8 Linux/4.14.133-113.105.amzn2.x86_64 botocore/1.13

Tergantung pada saat Anda membuat instans Amazon Linux Anda,AWS CLIVersi 1 telah terinstal dengan
menggunakan salah satu manajer paket berikut:

• pip (p. 6)
• yum (p. 7)

Prasyarat
Anda harus memiliki Python 3.6 atau yang lebih baru telah terinstal. Untuk instruksi instalasi,
lihatMengunduh Pythonhalaman di PythonPanduan Pemula.

Menginstal, memperbarui, atau menghapus instalasi


menggunakan pip
Sebagian besar instans Amazon Linux menggunakan pip untuk menginstal sebelumnyaAWS CLIVersi 1.

Menginstal atau memperbaruiAWS CLIversi 1 di Amazon Linux


menggunakan pip
Menginstal versi terbaruAWS CLIVersi 1 untuk pengguna saat ini, gunakan instruksi berikut.

1. Kami merekomendasikan bahwa jika Anda memiliki Python versi 3 atau yang lebih baru diinstal yang
Anda gunakanpip3. Gunakanpip3 installmenginstal atau memperbarui ke versi terbaruAWS
CLIVersi 1. Jika Anda menjalankan perintah dari dalamPython lingkungan virtual (venv), Anda tidak
perlu menggunakan--userpilihan.

$ pip3 install --upgrade --user awscli

2. Pastikan folder yang berisiawsadalah bagian dari AndaPATHVariabel.

a. Temukan skrip profil shell Anda di direktori pengguna Anda. Jika Anda tidak yakin shell mana yang
Anda miliki, jalankanecho $SHELL.

$ ls -a ~
. .. .bash_logout .bash_profile .bashrc Desktop Documents Downloads

• Bash—.bash_profile,.profile, atau.bash_login
• Zsh – .zshrc
• Tcsh—.tcshrc,.cshrcatau.login
b. Tambahkan perintah ekspor di akhir skrip profil Anda yang mirip dengan contoh berikut.

export PATH=$HOME/.local/bin:$PATH

Perintah ini menyisipkan jalan,$HOME/.local/bindalam contoh ini, di bagian depan yang


ada$PATHVariabel.
c. Muat ulang profil ke sesi Anda saat ini untuk menerapkan perubahan tersebut.

$ source ~/.bash_profile

6
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
yum

3. Untuk memverifikasi bahwa Anda menjalankan versi baru, gunakanaws --versionperintah.

$ aws --version
aws-cli/1.22.23 Python/3.8.8 Linux/4.14.133-113.105.amzn2.x86_64 botocore/1.13

Menghapus instalasiAWS CLIVersi 1 menggunakan pip


Jika Anda perlu menghapus instalasiAWS CLI, gunakanpip uninstall.

$ pip3 uninstall awscli

Menginstal, memperbarui, atau menghapus instalasi


menggunakan yum
Kebanyakan instans Amazon Linux 2 menggunakan yum untuk preinstallAWS CLIVersi 1.

Menginstal atau memperbaruiAWS CLIversi 1 di Amazon Linux


menggunakan yum
Menginstal versi terbaruAWS CLIVersi 1, jalankan perintah berikut.

$ sudo yum install awscli

Memperbarui ke versi terbaruAWS CLIVersi 1, jalankan perintah berikut.

$ sudo yum update awscli

Untuk memverifikasi bahwa Anda menjalankan versi baru, gunakanaws --versionperintah.

$ aws --version
aws-cli/1.22.23 Python/3.8.8 Linux/4.14.133-113.105.amzn2.x86_64 botocore/1.13

Menghapus instalasiAWS CLIVersi 1 menggunakan yum


Beberapa gambar terbaru dari Amazon Linux 2 menggunakan yum untuk menginstal Amazon Linux 2 Anda
perlu menghapusAWS CLI, gunakanpip uninstall.

$ sudo yum remove awscli

Instal, Update, dan UninstallAWS CLIVersi 1 di


Linux
Anda bisa memasangAWS Command Line Interface(AWS CLI) versi 1 dan dependensinya pada sebagian
besar distribusi Linux dengan menggunakanpipmanajer paket atau pemasang yang dibundel.

Meskipunawsclipaket tersedia di repositori untuk pengelola paket lain sepertiaptdanyum, ini tidak
diproduksi, dikelola, atau didukung olehAWS. Kami menyarankan Anda menginstalAWS CLIdari hanya
resmiAWStitik distribusi, seperti yang didokumentasikan dalam panduan ini.

7
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Prasyarat

Bagian
• Prasyarat (p. 8)
• Menginstal dan menghapus instalasiAWS CLIversi 1 di Linux menggunakan installer yang
dibundel (p. 8)
• Menginstal dan menghapus instalasiAWS CLIVersi 1 menggunakan pip (p. 12)

Prasyarat
Anda harus memiliki Python 3.6 atau yang lebih baru telah terinstal. Untuk instruksi penginstalan,
lihatMengunduh Pythonhalaman di PythonPanduan Pemula.
Warning

Python 2.7 telah usang olehYayasan perangkat lunak Python1 Januari 2020. Dimulai denganAWS
CLIversi 1.20.0, versi minimum Python 3.6 diperlukan.
Untuk menggunakanAWS CLIversi 1 dengan versi Python yang lebih lama, Anda perlu menginstal
versi sebelumnyaAWS CLIVersi 1. Untuk melihatAWS CLIversi 1 Python dukungan versi matriks,
lihatthe section called “Persyaratan versi Python” (p. 5).

Menginstal dan menghapus instalasiAWS CLIversi 1 di


Linux menggunakan installer yang dibundel
Di Linux atau macOS, Anda dapat menggunakan pemasang yang dibundel untuk menginstal versi 1AWS
CLI. Installer dibundel mencakup semua dependensi dan dapat digunakan secara offline.
Note

Pemasang yang dibundel tidak mendukung pemasangan ke jalur yang berisi spasi.

Topik
• InstalAWS CLIversi 1 menggunakan installer yang dibundel dengansudo (p. 8)
• InstalAWS CLIversi 1 menggunakan installer yang dibundel tanpasudo (p. 10)
• Menghapus instalasiAWS CLIpemasang paket versi 1 (p. 11)

InstalAWS CLIversi 1 menggunakan installer yang dibundel


dengansudo
Langkah-langkah berikut memungkinkan Anda untuk menginstalAWS CLIversi 1 dari baris perintah pada
setiap membangun Linux atau macOS.

Berikut ini adalah ringkasan dari perintah instalasi dijelaskan di bawah ini bahwa Anda dapat memotong
dan paste untuk menjalankan sebagai satu set perintah.

Untuk versi terbaruAWS CLI,gunakan blok perintah berikut:

$ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"


unzip awscli-bundle.zip
sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws

Untuk versi tertentuAWS CLI,menambahkan tanda hubung dan nomor versi ke nama file. Untuk contoh ini
nama file untuk versi1.16.312akanawscli-bundle-1.16.312.zipmenghasilkan perintah berikut:

$ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle-1.16.312.zip" -o "awscli-bundle.zip"

8
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Instal dan hapus instalan menggunakan
penginstal yang dibundel
unzip awscli-bundle.zip
sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws

Ikuti langkah-langkah ini dari baris perintah untuk menginstalAWS CLIversi 1 menggunakan pemasang
yang dibundel

Untuk menginstalAWS CLIversi 1 menggunakan pemasang yang dibundel

1. MengunduhAWS CLIinstaller versi 1 dibundel menggunakan salah satu metode berikut.

• Download menggunakancurlperintah.

Untuk versi terbaruAWS CLI,gunakan blok perintah berikut:

$ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"

Untuk versi tertentuAWS CLI,menambahkan tanda hubung dan nomor versi ke nama file. Untuk
contoh ini nama file untuk versi1.16.312akanawscli-bundle-1.16.312.zipmenghasilkan
perintah berikut:

$ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle-1.16.312.zip" -o "awscli-


bundle.zip"

• Download menggunakan link langsung.

Untuk versi terbaruAWS CLI: https://s3.amazonaws.com/aws-cli/awscli-bundle.zip

Untuk versi tertentuAWS CLI,menambahkan tanda hubung dan nomor versi ke nama
file. Untuk contoh ini nama file untuk versi1.16.312akanawscli-exe-linux-
aarch64-2.0.30.zipmenghasilkan url berikuthttps://s3.amazonaws.com/aws-cli/awscli-
bundle-2.0.30.zip
2. Ekstrak file dari paket. Jika Anda tidak memilikinyaunzipuntuk mengekstrak file, gunakan manajer
paket bawaan distribusi Linux Anda untuk menginstalnya.

$ unzip awscli-bundle.zip

3. Jalankan program pemasangan. Installer menginstalAWS CLIpada/usr/local/awsdan


menciptakan symlinkawsdi/usr/local/bindirektori. Menggunakan-bpilihan untuk membuat symlink
menghilangkan kebutuhan untuk menentukan direktori instalasi di pengguna$PATHVariabel. Ini akan
memungkinkan semua pengguna untuk memanggilAWS CLIdengan memasukkanawsdari direktori
manapun.

$ sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws

Secara default, skrip pemasangan berjalan berdasarkan versi default sistem Python. Jika Anda telah
menginstal sebuah versi alternatif Python dan ingin menggunakan versi tersebut untuk menginstalAWS
CLI, jalankan skrip pemasangan dengan versi tersebut dengan jalur absolut ke executable Python,
sebagai berikut.

$ sudo /usr/local/bin/python3.7 awscli-bundle/install -i /usr/local/aws -b /usr/local/


bin/aws

4. Verifikasi bahwaAWS CLIdipasang dengan benar.

$ aws --version
aws-cli/1.22.23 Python/3.8.8 Linux/4.14.133-113.105.amzn2.x86_64 botocore/1.13

9
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Instal dan hapus instalan menggunakan
penginstal yang dibundel
Jika Anda mendapatkan kesalahan, lihatPemecahan MasalahAWS CLIkesalahan (p. 173).

InstalAWS CLIversi 1 menggunakan installer yang dibundel


tanpasudo
Jika Anda tidak memilikinyasudoizin atau ingin menginstalAWS CLIhanya untuk pengguna saat ini, Anda
dapat menggunakan versi modifikasi dari perintah sebelumnya. Dua perintah pertama adalah sama.

Untuk versi terbaruAWS CLI,gunakan blok perintah berikut:

$ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"


unzip awscli-bundle.zip
./awscli-bundle/install -b ~/bin/aws

Untuk versi tertentuAWS CLI,menambahkan tanda hubung dan nomor versi ke nama file. Untuk contoh ini
nama file untuk versi1.16.312akanawscli-bundle-1.16.312.zipmenghasilkan perintah berikut:

$ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle-1.16.312.zip" -o "awscli-bundle.zip"


unzip awscli-bundle.zip
./awscli-bundle/install -b ~/bin/aws

Untuk menginstalAWS CLIversi 1 untuk pengguna saat ini

1. MengunduhAWS CLIinstaller versi 1 dibundel dengan salah satu cara berikut.

• Download menggunakancurlperintah.

Untuk versi terbaruAWS CLI,gunakan blok perintah berikut:

$ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"

Untuk versi tertentuAWS CLI,menambahkan tanda hubung dan nomor versi ke nama file. Untuk
contoh ini nama file untuk versi1.16.312akanawscli-bundle-1.16.312.zipmenghasilkan
perintah berikut:

$ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle-1.16.312.zip" -o "awscli-


bundle.zip"

• Download menggunakan link langsung.

Untuk versi terbaruAWS CLI: https://s3.amazonaws.com/aws-cli/awscli-bundle.zip

Untuk versi tertentuAWS CLI,menambahkan tanda hubung dan nomor versi ke nama
file. Untuk contoh ini nama file untuk versi1.16.312akanawscli-exe-linux-
aarch64-2.0.30.zipmenghasilkan url berikuthttps://s3.amazonaws.com/aws-cli/awscli-
bundle-2.0.30.zip
2. Ekstrak file dari paket dengan menggunakanunzip. Jika Anda tidak memilikinyaunzip, gunakan
manajer paket bawaan distribusi Linux Anda untuk menginstalnya.

$ unzip awscli-bundle.zip

3. Jalankan program pemasangan. Installer menginstalAWS CLIpada/usr/local/awsdan menciptakan


symlinkawsdi/usr/local/bindirektori. Perintah menggunakan-bparameter untuk menentukan
direktori di mana installer menempatkanawsfile symlink. Anda harus memiliki izin menulis ke folder
tertentu.

10
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Instal dan hapus instalan menggunakan
penginstal yang dibundel
$ ./awscli-bundle/install -b ~/bin/aws

Ini menginstalAWS CLIke lokasi default (~/.local/lib/aws) dan membuat tautan simbolik (symlink)
di~/bin/aws. Pastikan bahwa~/binada diPATHvariabel lingkungan untuk symlink untuk bekerja.

$ echo $PATH | grep ~/bin // See if $PATH contains ~/bin (output will be empty if
it doesn't)
$ export PATH=~/bin:$PATH // Add ~/bin to $PATH if necessary

4. Pastikan direktori yangAWS CLIversi 1 adalah bagian dariPATHVariabel.

a. Temukan penulisan profil shell Anda di folder pengguna Anda. Jika Anda tidak yakin shell mana
yang Anda punya, jalankanecho $SHELL.

$ ls -a ~
. .. .bash_logout .bash_profile .bashrc Desktop Documents Downloads

• Bash—.bash_profile,.profile, atau.bash_login
• Zsh – .zshrc
• Tcsh—.tcshrc,.cshrcatau.login
b. Tambahkan perintah ekspor di akhir skrip profil Anda yang mirip dengan contoh berikut.

export PATH=~/.local/bin:$PATH

Perintah ini menyisipkan jalan,~/.local/bindalam contoh ini, di depanPATHVariabel.


c. Muat ulang profil ke sesi Anda saat ini untuk menerapkan perubahan tersebut.

$ source ~/.bash_profile

5. Verifikasi bahwaAWS CLIdipasang dengan benar.

$ aws --version
aws-cli/1.22.23 Python/3.8.8 Linux/4.14.133-113.105.amzn2.x86_64 botocore/1.13

Jika Anda mendapatkan kesalahan, lihatPemecahan MasalahAWS CLIkesalahan (p. 173).

Menghapus instalasiAWS CLIpemasang paket versi 1


1. Jika Anda menginstalAWS CLImenggunakan installer dibundel, ikuti petunjuk ini. Penginstal
yang dibundel tidak menempatkan apa pun di luar direktori instalasi kecuali symlink opsional, jadi
menguninstall semudah menghapus kedua item tersebut.

$ sudo rm -rf /usr/local/aws


$ sudo rm /usr/local/bin/aws

2. (Opsional)Menghapus yang dibagikanAWSSDK danAWS CLIpengaturan informasi di.awsfolder.


Warning

Pengaturan konfigurasi dan kredenal ini dibagikan di semuaAWSSDK danAWS CLI. Jika
Anda menghapus folder ini, folder ini tidak dapat diakses olehAWSSDK yang masih ada di
sistem Anda.

11
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Instal dan uninstall menggunakan pip

Lokasi default dari.awsfolder berbeda antara platform, secara default folder berada di~/.aws/. Jika
akun pengguna Anda memiliki izin menulis ke direktori ini, Anda tidak perlu menggunakansudo.

$ sudo rm ~/.aws/

Menginstal dan menghapus instalasiAWS CLIVersi 1


menggunakan pip
Topik
• Memasang PIP (p. 12)
• Instal dan perbaruiAWS CLIVersi 1 menggunakan pip (p. 13)
• TambahkanAWS CLIversi 1 dapat dieksekusi ke jalur baris perintah Anda (p. 13)
• Menghapus instalasiAWS CLImenggunakan pip (p. 14)

Memasang PIP
Jika Anda belum memilikipipdiinstal, Anda dapat menginstalnya dengan menggunakan script yangOtoritas
Kemasan Pythonmenyediakan. Jalankanpip --versionuntuk melihat apakah versi Linux Anda sudah
termasuk Python danpip. Kami menyarankan bahwa jika Anda memiliki Python versi 3 atau yang lebih
baru diinstal, Anda menggunakanpip3perintah.

1. Menggunakancurlperintah untuk mengunduh skrip penginstalan. Perintah berikut menggunakan-


O(huruf besar “O”) parameter untuk menentukan bahwa file download akan disimpan dalam direktori
saat ini menggunakan nama yang sama memiliki pada host remote.

$ curl -O https://bootstrap.pypa.io/get-pip.py

2. Jalankan skrip denganpythonataupython3perintah untuk mengunduh dan menginstalpipdan paket


dukungan lainnya yang diperlukan. Bila Anda menyertakan--userswitch, script menginstalpipke
jalur~/.local/bin.

$ python3 get-pip.py --user

3. Pastikan direktori yang berisipipadalah bagian dari AndaPATHVariabel.

a. Temukan penulisan profil shell Anda di folder pengguna Anda. Jika Anda tidak yakin shell mana
yang Anda punya, jalankanecho $SHELL.

$ ls -a ~
. .. .bash_logout .bash_profile .bashrc Desktop Documents Downloads

• Bash—.bash_profile,.profile, atau.bash_login
• Zsh – .zshrc
• Tcsh—.tcshrc,.cshrcatau.login
b. Tambahkan perintah ekspor di akhir skrip profil Anda yang mirip dengan contoh berikut.

export PATH=~/.local/bin:$PATH

Perintah ini menyisipkan jalan,~/.local/bindalam contoh ini, di depanPATHVariabel.

12
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Instal dan uninstall menggunakan pip

c. Muat ulang profil ke sesi Anda saat ini untuk menerapkan perubahan tersebut.

$ source ~/.bash_profile

4. Untuk memverifikasi bahwapipataupip3terinstal dengan benar, jalankan perintah berikut.

$ pip3 --version
pip 19.2.3 from ~/.local/lib/python3.7/site-packages (python 3.7)

Instal dan perbaruiAWS CLIVersi 1 menggunakan pip


1. Menggunakanpipataupip3perintah untuk menginstal atau memperbaruiAWS CLI. Kami
merekomendasikan bahwa jika Anda menggunakan Python versi 3 atau yang lebih baru bahwa Anda
menggunakanpip3perintah. Parameter--usersaklar,pipmenginstalAWS CLIkepada~/.local/bin.

Untuk versi terbaruAWS CLI,gunakan blok perintah berikut:

$ pip3 install awscli --upgrade --user

Untuk versi tertentuAWS CLI,menambahkan dua sama tanda=dan nomor versi ke nama file. Untuk
contoh ini nama file untuk versi1.16.312akan==1.16.312menghasilkan perintah berikut:

$ pip3 install awscli==1.16.312 --upgrade --user

Note

Gunakan aturan kutipan yang sesuai untuk terminal Anda. Untuk menggunakan=karakter,
Anda mungkin perlu menggunakan tanda kutip tunggal atau ganda untuk melarikan diri
dengan benar. Contoh berikut lolos menggunakan tanda kutip tunggal:

$ pip3 install 'awscli==1.16.312' --upgrade --user

2. Verifikasi bahwaAWS CLIdipasang dengan benar.

$ aws --version
aws-cli/1.22.23 Python/3.8.8 Linux/4.14.133-113.105.amzn2.x86_64 botocore/1.13

Jika Anda mendapatkan kesalahan, lihatPemecahan MasalahAWS CLIkesalahan (p. 173).

TambahkanAWS CLIversi 1 dapat dieksekusi ke jalur baris


perintah Anda
Setelah menginstal denganpip, Anda mungkin perlu menambahkanawsexecutable ke sistem operasi
AndaPATHVariabel lingkungan.

Anda dapat memverifikasi folder manapipmenginstalAWS CLIdengan menjalankan perintah berikut.

$ which aws
/home/username/.local/bin/aws

Anda dapat mereferensikan ini sebagai~/.local/bin/karena/home/usernamesesuai dengan~di Linux.

13
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Instal dan uninstall menggunakan pip

Jika Anda menghilangkan--userswitch dan tidak menginstal dalam mode pengguna, executable mungkin
dalambinfolder instalasi Python Anda. Jika Anda tidak tahu di mana Python diinstal, jalankan perintah ini.

$ which python
/usr/local/bin/python

Output mungkin jalan ke symlink, bukan untuk executable sebenarnya. Jalankanls -aluntuk melihat di
mana titik.

$ ls -al /usr/local/bin/python
/usr/local/bin/python -> ~/.local/Python/3.6/bin/python3.6

pipmenginstal program dalam folder yang sama yang berisi aplikasi Python. Tambahkan folder ini
kePATHVariabel.

Untuk memodifikasiPATHvariabel

1. Temukan skrip profil shell Anda di direktori pengguna Anda. Jika Anda tidak yakin shell mana yang
Anda punya, jalankanecho $SHELL.

$ ls -a ~
. .. .bash_logout .bash_profile .bashrc Desktop Documents Downloads

• Bash – .bash_profile, .profile, atau .bash_login


• Zsh – .zshrc
• Tcsh – .tcshrc, .cshrc, atau .login
2. Tambahkan perintah ekspor ke penulisan profil Anda.

export PATH=~/.local/bin:$PATH

Perintah ini menambahkan path,~/.local/bindalam contoh ini, untuk saat iniPATHVariabel.


3. Muat profil yang diperbarui ke sesi Anda saat ini.

$ source ~/.bash_profile

Menghapus instalasiAWS CLImenggunakan pip


1. Jika Anda menginstalAWS CLImemakaipipataupip3, Anda perlu menghapus instalasiAWS
CLImenggunakan manajer paket yang sama dengan menjalankan salah satu perintah berikut.

$ pip uninstall awscli

$ pip3 uninstall awscli

2. (Opsional)Menghapus yang dibagikanAWSSDK danAWS CLIpengaturan informasi di.awsfolder.


Warning

Pengaturan konfigurasi dan kredenal ini dibagikan di semuaAWSSDK danAWS CLI. Jika
Anda menghapus folder ini, folder ini tidak dapat diakses olehAWSSDK yang masih ada di
sistem Anda.
14
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
macOS

Lokasi default dari.awsfolder berbeda antara platform, secara default folder berada di~/.aws/. Jika
akun pengguna Anda memiliki izin menulis ke direktori ini, Anda tidak perlu menggunakansudo.

$ sudo rm ~/.aws/

Instal, Perbarui, dan UninstallAWS CLIVersi 1 di


macOS
Anda dapat menginstalAWS Command Line Interface(AWS CLI) versi 1 dan dependensinya pada macOS
dengan menggunakan installer yang dibundel ataupip.

Bagian
• Prasyarat (p. 15)
• Instal, perbarui, dan hapus instalasiAWS CLIversi 1 di macOS menggunakan penginstal yang
dibundel (p. 15)
• Instal, perbarui, dan hapus instalasiAWS CLIVersi 1 menggunakan pip (p. 19)

Prasyarat
Sebelum Anda dapat menginstalAWS CLIversi 1 di macOS, pastikan Anda telah menginstal Python 3.6
atau yang lebih baru. Untuk petunjuk penginstalan, lihatMengunduh Pythonhalaman di PythonPanduan
Pemula.
Warning

Python 2.7 sudah usang olehYayasan Perangkat Lunak Python1 Januari 2020. Dimulai
denganAWS CLIversi 1.20.0, versi minimum Python 3.6 diperlukan.
Dalam rangka untuk menggunakanAWS CLIversi 1 dengan versi Python yang lebih lama, Anda
perlu menginstal versi sebelumnya dariAWS CLIVersi 1. Untuk melihatAWS CLIversi 1 Python
dukungan versi matriks, lihatthe section called “Persyaratan versi Python” (p. 5).

Instal, perbarui, dan hapus instalasiAWS CLIversi 1 di


macOS menggunakan penginstal yang dibundel
Di Linux atau macOS, Anda dapat menggunakan pemasang yang dibundel untuk menginstal versi 1AWS
Command Line Interface(AWS CLI). Installer dibundel mencakup semua dependensi dan dapat digunakan
secara offline.

Pemasang yang dibundel tidak mendukung pemasangan ke jalur yang berisi spasi.

Topik
• InstalAWS CLIversi 1 menggunakan installer yang dibundel dengansudo (p. 16)
• InstalAWS CLIversi 1 menggunakan installer yang dibundel tanpasudo (p. 17)
• Menghapus instalasiAWS CLIPenginstal paket versi 1 (p. 19)

15
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Instal dan hapus instalan menggunakan
penginstal yang dibundel
InstalAWS CLIversi 1 menggunakan installer yang dibundel
dengansudo
Langkah-langkah berikut memungkinkan Anda untuk menginstalAWS CLIversi 1 dari baris perintah pada
setiap build macOS.

Berikut ini adalah ringkasan dari perintah instalasi yang dapat Anda potong dan tempel untuk dijalankan
sebagai satu set perintah.

Untuk versi terbaruAWS CLI,gunakan blok perintah berikut:

$ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"


unzip awscli-bundle.zip
sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws

Untuk versi tertentuAWS CLI,menambahkan tanda hubung dan nomor versi ke nama file. Untuk contoh ini
nama file untuk versi1.16.312akanawscli-bundle-1.16.312.zipmenghasilkan perintah berikut:

$ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle-1.16.312.zip" -o "awscli-bundle.zip"


unzip awscli-bundle.zip
sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws

Untuk menginstalAWS CLIversi 1 menggunakan pemasang yang dibundel

1. MengunduhAWS CLIinstaller versi 1 dibundel dengan salah satu cara berikut:

• Download menggunakancurlperintah.

Untuk versi terbaruAWS CLI,gunakan blok perintah berikut:

$ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"

Untuk versi tertentuAWS CLI,menambahkan tanda hubung dan nomor versi ke nama file. Untuk
contoh ini nama file untuk versi1.16.312akanawscli-bundle-1.16.312.zipmenghasilkan
perintah berikut:

$ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle-1.16.312.zip" -o "awscli-


bundle.zip"

• Download menggunakan link langsung.

Untuk versi terbaruAWS CLI: https://s3.amazonaws.com/aws-cli/awscli-bundle.zip

Untuk versi tertentuAWS CLI,menambahkan tanda hubung dan nomor versi ke nama
file. Untuk contoh ini nama file untuk versi1.16.312akanawscli-exe-linux-
aarch64-2.0.30.zipmenghasilkan url berikuthttps://s3.amazonaws.com/aws-cli/awscli-
bundle-2.0.30.zip
2. Ekstrak (unzip) file dari paket. Jika Anda tidak memilikinyaunzip, gunakan pengelola paket bawaan
distribusi macOs untuk menginstalnya.

$ unzip awscli-bundle.zip

3. Jalankan program pemasangan. Installer menginstalAWS CLIpada/usr/local/awsdan menciptakan


symlinkawsdi/usr/local/binfolder. Menggunakan-bpilihan untuk membuat symlink menghilangkan
kebutuhan untuk menentukan folder instal di pengguna$PATHVariabel. Ini akan memungkinkan semua
pengguna untuk memanggilAWS CLIdengan memasukkanawsdari direktori manapun.

16
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Instal dan hapus instalan menggunakan
penginstal yang dibundel
$ sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws

Secara default, skrip pemasangan berjalan berdasarkan versi default sistem Python. Jika Anda telah
memasang sebuah versi alternatif Python dan ingin menggunakannya untuk memasangAWS CLI,
jalankan skrip pemasangan dengan versi tersebut dengan jalur absolut ke executable Python, sebagai
berikut ini.

$ sudo /usr/local/bin/python3.7 awscli-bundle/install -i /usr/local/aws -b /usr/local/


bin/aws

4. Verifikasi bahwaAWS CLIdipasang dengan benar.

$ aws --version
aws-cli/1.22.23 Python/3.8.8 Linux/4.14.133-113.105.amzn2.x86_64 botocore/1.13

Jika Anda mendapatkan kesalahan, lihatPemecahan MasalahAWS CLIkesalahan (p. 173).

InstalAWS CLIversi 1 menggunakan installer yang dibundel


tanpasudo
Jika Anda tidak memilikinyasudoizin atau ingin menginstalAWS CLIhanya untuk pengguna saat ini, Anda
dapat menggunakan versi modifikasi dari perintah sebelumnya. Dua perintah pertama adalah sama.

Untuk versi terbaruAWS CLI,gunakan blok perintah berikut:

$ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"


unzip awscli-bundle.zip
./awscli-bundle/install -b ~/bin/aws

Untuk versi tertentuAWS CLI,menambahkan tanda hubung dan nomor versi ke nama file. Untuk contoh ini
nama file untuk versi1.16.312akanawscli-bundle-1.16.312.zipmenghasilkan perintah berikut:

$ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle-1.16.312.zip" -o "awscli-bundle.zip"


unzip awscli-bundle.zip
./awscli-bundle/install -b ~/bin/aws

Untuk menginstalAWS CLIversi 1 untuk pengguna saat ini

1. MengunduhAWS CLIinstaller versi 1 dibundel menggunakan salah satu metode berikut:

• Download menggunakancurlperintah.

Untuk versi terbaruAWS CLI,gunakan blok perintah berikut:

$ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"

Untuk versi tertentuAWS CLI,menambahkan tanda hubung dan nomor versi ke nama file. Untuk
contoh ini nama file untuk versi1.16.312akanawscli-bundle-1.16.312.zipmenghasilkan
perintah berikut:

$ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle-1.16.312.zip" -o "awscli-


bundle.zip"

17
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Instal dan hapus instalan menggunakan
penginstal yang dibundel
• Download menggunakan link langsung.

Untuk versi terbaruAWS CLI: https://s3.amazonaws.com/aws-cli/awscli-bundle.zip

Untuk versi tertentuAWS CLI,menambahkan tanda hubung dan nomor versi ke nama
file. Untuk contoh ini nama file untuk versi1.16.312akanawscli-exe-linux-
aarch64-2.0.30.zipmenghasilkan url berikuthttps://s3.amazonaws.com/aws-cli/awscli-
bundle-2.0.30.zip
2. Ekstrak file dari paket. Jika Anda tidak memilikinyaunzip, gunakan manajer paket bawaan distribusi
Linux Anda untuk menginstalnya.

$ unzip awscli-bundle.zip

3. Jalankan program pemasangan. Installer menginstalAWS CLIpada/usr/local/awsdan menciptakan


symlinkawsdi/usr/local/bindirektori. Perintah menggunakan-bparameter untuk menentukan
direktori di mana installer menempatkanawsberkas symlink. Anda harus memiliki izin menulis ke
direktori tertentu.

$ ./awscli-bundle/install -b ~/bin/aws

Ini menginstalAWS CLIke lokasi default (~/.local/lib/aws) dan membuat tautan simbolik (symlink)
di~/bin/aws. Pastikan~/binada di$PATHvariabel lingkungan untuk symlink untuk bekerja.

$ echo $PATH | grep ~/bin // See if $PATH contains ~/bin (output will be empty if
it doesn't)
$ export PATH=~/bin:$PATH // Add ~/bin to $PATH if necessary

4. Pastikan folder yangAWS CLIversi 1 diinstal di adalah bagian dari$PATHVariabel.

a. Temukan penulisan profil shell Anda di folder pengguna Anda. Jika Anda tidak yakin shell mana
yang Anda punya, jalankanecho $SHELL.

$ ls -a ~
. .. .bash_logout .bash_profile .bashrc Desktop Documents Downloads

• Bash—.bash_profile,.profile, atau.bash_login
• Zsh – .zshrc
• Tcsh—.tcshrc,.cshrcatau.login
b. Tambahkan perintah ekspor di akhir skrip profil Anda yang mirip dengan contoh berikut.

export PATH=~/.local/bin:$PATH

Perintah ini menyisipkan jalan,~/.local/bindalam contoh ini, di bagian depan yang


adaPATHVariabel.
c. Muat ulang profil ke sesi Anda saat ini untuk menerapkan perubahan tersebut.

$ source ~/.bash_profile

5. Verifikasi bahwaAWS CLIdipasang dengan benar.

$ aws --version
aws-cli/1.22.23 Python/3.8.8 Linux/4.14.133-113.105.amzn2.x86_64 botocore/1.13

Jika Anda mendapatkan kesalahan, lihatPemecahan MasalahAWS CLIkesalahan (p. 173).


18
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Instal dan perbarui menggunakan pip

Menghapus instalasiAWS CLIPenginstal paket versi 1


1. Penginstal yang dibundel menempatkan segala sesuatu di dalam direktori instalasi kecuali symlink
opsional, jadi untuk uninstall, Anda hanya perlu menghapus dua item tersebut.

$ sudo rm -rf /usr/local/aws


$ sudo rm /usr/local/bin/aws

2. (Opsional)Menghapus yang dibagikanAWSSDK danAWS CLIpengaturan informasi di.awsfolder.


Warning

Pengaturan konfigurasi dan kredenal ini dibagikan di semuaAWSSDK danAWS CLI. Jika
Anda menghapus folder ini, folder ini tidak dapat diakses olehAWSSDK yang masih ada di
sistem Anda.

Lokasi default.awsfolder berbeda antara platform, secara default folder berada di~/.aws/. Jika akun
pengguna memiliki izin tulis ke direktori ini, Anda tidak perlu menggunakansudo.

$ sudo rm ~/.aws/

Instal, perbarui, dan hapus instalasiAWS CLIVersi 1


menggunakan pip
Anda dapat menggunakanpiplangsung untuk menginstalAWS CLI.

Topik
• Memasang PIP (p. 19)
• Instal dan perbaruiAWS CLImenggunakan pip (p. 20)
• TambahkanAWS CLIversi 1 dapat dieksekusi ke jalur baris perintah macOS Anda (p. 20)
• Menghapus instalasiAWS CLImenggunakan pip (p. 21)

Memasang PIP
Jika Anda belum memilikipipdiinstal, Anda dapat menginstalnya dengan menggunakan script yangOtoritas
Kemasan Pythonmenyediakan. Jalankanpip --versionuntuk melihat apakah versi Linux Anda sudah
termasuk Python danpip. Kami menyarankan bahwa jika Anda memiliki Python versi 3 atau yang lebih
baru diinstal, Anda menggunakanpip3perintah.

1. Menggunakancurlperintah untuk mengunduh skrip penginstalan. Perintah berikut menggunakan-


O(huruf besar “O”) parameter untuk menentukan bahwa file download akan disimpan dalam folder saat
ini menggunakan nama yang sama memiliki pada host remote.

$ curl -O https://bootstrap.pypa.io/get-pip.py

2. Jalankan skrip denganpythonataupython3perintah untuk mengunduh dan menginstal versi


terbarupipdan paket dukungan lainnya yang diperlukan. Bila Anda menyertakan--userswitch, script
menginstalpipke jalan~/.local/bin.

$ python3 get-pip.py --user

19
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Instal dan perbarui menggunakan pip

Instal dan perbaruiAWS CLImenggunakan pip


1. Menggunakanpipataupip3perintah untuk menginstalAWS CLI. Kami merekomendasikan bahwa jika
Anda menggunakan Python versi 3 atau yang lebih baru, Anda menggunakanpip3perintah.

Untuk versi terbaruAWS CLI,gunakan blok perintah berikut:

$ pip3 install awscli --upgrade --user

Untuk versi tertentuAWS CLI,menambahkan dua sama dengan tanda=dan nomor versi ke nama file.
Untuk contoh ini nama file untuk versi1.16.312akan==1.16.312menghasilkan perintah berikut:

$ pip3 install awscli==1.16.312 --upgrade --user

Note

Gunakan aturan kutipan yang sesuai untuk terminal Anda. Untuk menggunakan=karakter,
Anda mungkin perlu menggunakan tanda kutip tunggal atau ganda untuk melarikan diri
dengan benar. Contoh berikut lolos menggunakan tanda kutip tunggal:

$ pip3 install 'awscli==1.16.312' --upgrade --user

2. Verifikasi bahwaAWS CLIdipasang dengan benar.

$ aws --version
aws-cli/1.22.23 Python/3.8.8 Darwin/18.7.0 botocore/1.13

Jika program tidak ditemukan,menambahkannya ke jalur baris perintah (p. 20).

TambahkanAWS CLIversi 1 dapat dieksekusi ke jalur baris


perintah macOS Anda
Setelah menginstal denganpip, Anda mungkin perlu menambahkanawsprogram ke sistem operasi
AndaPATHVariabel lingkungan. Lokasi program tergantung di mana Python diinstal.

Example AWS CLImenginstal lokasi - macOS dengan Python 3.6 danpip(Mode pengguna)

~/Library/Python/3.7/bin

Mengganti versi Python yang Anda miliki untuk versi dalam contoh sebelumnya.

Jika Anda tidak tahu di mana Python diinstal, jalankanwhich python.

$ which python
/usr/local/bin/python

Output mungkin jalan ke symlink, bukan program yang sebenarnya. Jalankanls -aluntuk melihat di mana
ia menunjuk.

$ ls -al /usr/local/bin/python
~/Library/Python/3.7/bin/python3.7

20
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Windows

pipmenginstal program dalam folder yang sama yang berisi aplikasi Python. Tambahkan folder ini
kePATHVariabel.

Untuk memodifikasiPATHvariabel

1. Temukan skrip profil shell Anda di direktori pengguna Anda. Jika Anda tidak yakin shell mana yang
Anda punya, jalankanecho $SHELL.

$ ls -a ~
. .. .bash_logout .bash_profile .bashrc Desktop Documents Downloads

• Bash – .bash_profile, .profile, atau .bash_login


• Zsh – .zshrc
• Tcsh – .tcshrc, .cshrc, atau .login
2. Tambahkan perintah ekspor ke penulisan profil Anda.

export PATH=~/.local/bin:$PATH

Perintah ini menambahkan path,~/.local/bindalam contoh ini, untuk saatPATHVariabel.


3. Muat profil yang diperbarui ke sesi Anda saat ini.

$ source ~/.bash_profile

Menghapus instalasiAWS CLImenggunakan pip


1. Untuk menghapus instalasiAWS CLI, gunakanpip uninstall.

$ pip3 uninstall awscli

2. (Opsional)Menghapus yang dibagikanAWSSDK danAWS CLIpengaturan informasi di.awsfolder.


Warning
Pengaturan konfigurasi dan kredenal ini dibagikan di semuaAWSSDK danAWS CLI. Jika
Anda menghapus folder ini, folder ini tidak dapat diakses olehAWSSDK yang masih ada di
sistem Anda.

Lokasi default.awsfolder berbeda antara platform, secara default folder berada di~/.aws/. Jika akun
pengguna memiliki izin tulis ke direktori ini, Anda tidak perlu menggunakansudo.

$ sudo rm ~/.aws/

Instal, Perbarui, dan UninstallAWS CLIVersi 1 pada


Windows
Anda dapat menginstal versi 1AWS Command Line Interface(AWS CLI) pada Windows dengan
menggunakan installer mandiri (direkomendasikan) ataupip, yang merupakan manajer paket untuk
Python.

Jangan sertakan simbol prompt (C:\>) saat Anda mengetik perintah. Ini termasuk dalam daftar program
untuk membedakan perintah yang Anda ketik dari output yang dikembalikan olehAWS CLI. Sisa dari

21
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Instal, perbarui, dan hapus instalan
menggunakan pemasang MSI
panduan ini menggunakan simbol prompt generik ($), kecuali dalam kasus di mana perintah adalah
Windows-spesifik.

Topik
• Menginstal, memperbarui, dan menghapusAWS CLIversi 1 menggunakan pemasang MSI (p. 22)
• Menginstal, memperbarui, dan menghapusAWS CLIversi 1 menggunakan Python dan pip pada
Windows (p. 23)
• TambahkanAWS CLIversi 1 dapat dieksekusi ke jalur baris perintah Anda (p. 24)

Menginstal, memperbarui, dan menghapusAWS


CLIversi 1 menggunakan pemasang MSI
ParameterAWS CLIversi 1 didukung pada Windows XP atau yang lebih baru. Untuk pengguna Windows,
paket instalasi MSI menawarkan cara yang akrab dan nyaman untuk menginstalAWS CLIversi 1 tanpa
menginstal prasyarat lainnya.

Instal dan perbaruiAWS CLIversi 1 menggunakan pemasang MSI


PeriksaRilishalaman pada GitHub untuk melihat kapan versi terbaru dirilis. Ketika pembaruan dirilis, Anda
harus mengulangi proses instalasi untuk mendapatkan versi terbaruAWS CLIversi 1.

1. Unduh pemasang MSI yang sesuai:

• AWS CLIInstal MSI untuk Windows (64-bit):https://s3.amazonaws.com/aws-cli/AWSCLI64PY3.msi


• AWS CLIInstal MSI untuk Windows (32-bit):https://s3.amazonaws.com/aws-cli/AWSCLI32PY3.msi
• AWS CLIgabungan file setup untuk Windows:https://s3.amazonaws.com/aws-cli/
AWSCLISetup.exe(termasuk installer MSI 32-bit dan 64-bit, dan secara otomatis menginstal versi
yang benar)
2. Jalankan penginstal MSI yang diunduh atau file pengaturan.
3. Ikuti petunjuk di layar. Secara default,AWS CLImenginstal versi 1C:\Program Files\Amazon
\AWSCLI(Versi 64-bit) atauC:\Program Files (x86)\Amazon\AWSCLI(Versi 32-bit).
4. Untuk mengkonfirmasi instalasi, gunakanaws --versionperintah pada prompt perintah
(bukaMulaimenu dan mencaricmduntuk memulai command prompt).

C:\> aws --version


aws-cli/1.22.23 Python/3.8.8 Windows/10 botocore/1.13

Jika Windows tidak dapat menemukan program, Anda mungkin perlu menutup dan membuka
kembali prompt perintah untuk menyegarkan jalur, atautambahkan direktori instalasi ke PATH
Anda (p. 24)variabel lingkungan secara manual.

Menghapus instalasiAWS CLIversi 1


Untuk menggunakan instruksi uninstall berikut, Anda harus menginstalAWS CLIversi 1 dengan installer MSI
atau file setup.

1. BukaProgram dan Fiturdengan melakukan salah satu hal berikut:

• BukaPanel Kontrol, dan kemudian pilihProgram dan Fitur.


• Buka prompt perintah dan masukkan perintah berikut.

22
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Instal, perbarui, dan hapus instalan
menggunakan Python dan pip
C:\> appwiz.cpl

2. Pilih entri bernamaAWS Command Line Interface, dan kemudian pilihMenghapus instalasiuntuk
meluncurkan uninstaller.
3. Konfirmasi bahwa Anda ingin menghapus instalasiAWS CLI.
4. (Opsional)Menghapus bagianAWSSDK danAWS CLIpengaturan informasi di.awsfolder.
Warning
Pengaturan konfigurasi dan kredenal ini dibagikan di semuaAWSSDK danAWS CLI. Jika
Anda menghapus folder ini, folder ini tidak dapat diakses olehAWSSDK yang masih ada di
sistem Anda.

Lokasi default.awsfolder berbeda antara platform, secara default folder berada di%UserProfile%
\ .aws.

$ rmdir %UserProfile%\.aws

Menginstal, memperbarui, dan menghapusAWS


CLIversi 1 menggunakan Python dan pip pada
Windows
Python Software Foundation menyediakan pemasangan untuk Windows yang mencakup pip.

Prasyarat
Anda harus menginstal Python 3.6 atau yang lebih baru. Untuk instruksi instalasi, lihat bagianMengunduh
Pythonhalaman di PythonPanduan Pemula.
Warning
Python 2.7 sudah usang olehYayasan perangkat lunak Python1 Januari 2020. Dimulai
denganAWS CLIversi 1.20.0, versi minimum Python 3.6 diperlukan.
Dalam rangka untuk menggunakanAWS CLIversi 1 dengan versi Python yang lebih lama,
Anda perlu menginstal versi sebelumnyaAWS CLIversi 1. Untuk melihatAWS CLIversi 1 Python
dukungan versi matriks, lihatthe section called “Persyaratan versi Python” (p. 5).

Instal dan perbaruiAWS CLIVersi 1 menggunakan pip


1. Untuk menginstalAWS CLIversi 1, gunakanpip3perintah (jika Anda menggunakan Python versi 3 atau
yang lebih baru) ataupipperintah.

Untuk versi terbaruAWS CLI,gunakan blok perintah berikut:

C:\> pip3 install awscli --upgrade --user

Untuk versi spesifikAWS CLI,menambahkan simbol kurang dari<dan nomor versi ke nama file. Untuk
contoh ini nama file untuk versi1.16.312akan<1.16.312menghasilkan perintah berikut:

C:\> pip3 install awscli<1.16.312 --upgrade --user

2. Verifikasi bahwaAWS CLIVersi 1 terpasang dengan benar. Jika tidak ada respon, lihatTambahkanAWS
CLIversi 1 dapat dieksekusi ke jalur baris perintah Anda (p. 24)bagian.

23
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
TambahkanAWS CLIexecutable ke jalur baris perintah

C:\> aws --version


aws-cli/1.22.23 Python/3.8.8 Windows/10 botocore/1.13

Menghapus instalasiAWS CLIVersi 1 menggunakan pip


1. Jika Anda menginstalAWS CLImenggunakan versi 1pip, Anda juga harus menghapus instalasi
menggunakanpip. Jika Anda menggunakan Python versi 3 atau yang lebih baru, kami sarankan Anda
menggunakanpip3perintah.

C:\> pip3 uninstall awscli

Anda mungkin perlu me-restart jendela command prompt Anda atau komputer Anda untuk menghapus
semua file.
2. (Opsional)Menghapus bagianAWSSDK danAWS CLIpengaturan informasi di.awsfolder.
Warning

Pengaturan konfigurasi dan kredenal ini dibagikan di semuaAWSSDK danAWS CLI. Jika
Anda menghapus folder ini, folder ini tidak dapat diakses olehAWSSDK yang masih ada di
sistem Anda.

Lokasi default.awsfolder berbeda antara platform, secara default folder berada di%UserProfile%
\ .aws.

$ rmdir %UserProfile%\.aws

TambahkanAWS CLIversi 1 dapat dieksekusi ke jalur


baris perintah Anda
Setelah menginstalAWS CLIVersi 1 denganpip, tambahkanawsprogram untuk sistem operasi
AndaPATHvariabel lingkungan. Dengan instalasi MSI, ini harus terjadi secara otomatis. Tetapi
jikaawsperintah tidak berjalan setelah Anda menginstalnya, Anda mungkin perlu mengaturnya secara
manual.

1. Gunakanwhereperintah untuk menemukanawslokasi file. Secara default,whereperintah menunjukkan


di mana program tertentu ditemukan dalam sistemPATH.

C:\> where aws

Jalur yang muncul tergantung pada platform Anda dan metode mana yang Anda gunakan untuk
menginstalAWS CLI. Nama folder yang menyertakan nomor versi dapat bervariasi. Contoh-contoh ini
mencerminkan penggunaan Python versi 3.7. Ganti versi dengan nomor versi yang Anda gunakan,
sesuai kebutuhan. Jalur yang khas meliputi yang berikut ini:

• Python 3 danpip3—C:\Program Files\Python37\Scripts\


• Python 3 danpip3opsi —user pada versi Windows yang lebih lama—%USERPROFILE%\AppData
\Local\Programs\Python\Python37\Scripts
• Python 3 danpip3pilihan —user pada Windows 10—%USERPROFILE%\AppData\Roaming
\Python\Python37\Scripts
• Instal MSI (64-bit)—C:\Program Files\Amazon\AWSCLI\bin

24
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Virtualenv

• Instal MSI (32-bit)—C:\Program Files (x86)\Amazon\AWSCLI\bin

Gunakan langkah-langkah berikut berdasarkan apakah path file dikembalikan.

A file path is returned

C:\> where aws


C:\Program Files\Amazon\AWSCLI\bin\aws.exe

Anda dapat menemukan di manaawsdiinstal dengan menjalankan perintah berikut.

C:\> where c:\ aws


C:\Program Files\Python37\Scripts\aws

A file path is NOT returned

Jikawhereperintah mengembalikan kesalahan berikut, itu tidak dalam sistemPATHdan Anda tidak
dapat menjalankannya dengan memasukkan namanya.

C:\> where c:\ aws


INFO: Could not find files for the given pattern(s).

Dalam hal ini, jalankanwhereperintah dengan/R pathparameter untuk memberitahu untuk


mencari semua folder, dan kemudian menambahkan jalan secara manual. Gunakan baris perintah
atau File Explorer untuk menemukan di mana itu diinstal pada komputer Anda.

C:\> where /R c:\ aws


c:\Program Files\Amazon\AWSCLI\bin\aws.exe
c:\Program Files\Amazon\AWSCLI\bincompat\aws.cmd
c:\Program Files\Amazon\AWSCLI\runtime\Scripts\aws
c:\Program Files\Amazon\AWSCLI\runtime\Scripts\aws.cmd
...

2. Tekan tombol Windows dan masukkan environment variables.


3. Pilih Mengedit variabel lingkungan untuk akun Anda.
4. Pilih PATH, lalu pilih Edit.
5. Tambahkan jalur yang Anda temukan ke dalamNilai variabellapangan, misalnya,C:\Program Files
\Amazon\AWSCLI\bin\aws.exe.
6. Pilih OK dua kali untuk menggunakan pengaturan baru.
7. Tutup semua prompt perintah yang berjalan dan buka kembali jendela prompt perintah.

Instal dan PerbaruiAWS CLIversi 1 di lingkungan


virtual
Anda dapat menghindari konflik versi persyaratan dengan lainnyapippaket dengan menginstal versi 1
dariAWS Command Line Interface(AWS CLI) di lingkungan virtual.

Topik
• Prasyarat (p. 26)
• Instal dan perbaruiAWS CLIversi 1 di lingkungan virtual (p. 26)

25
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Prasyarat

Prasyarat
• Python 3.6 atau yang lebih baru. Untuk instruksi instalasi, lihatMengunduh Pythonhalaman di
PythonPanduan Pemula.
Warning

Python 2.7 sudah usang olehYayasan Perangkat Lunak Python1 Januari 2020. Dimulai
denganAWS CLIversi 1.20.0, versi minimum Python 3.6 diperlukan.
Untuk menggunakanAWS CLIversi 1 dengan versi Python yang lebih lama, Anda perlu
menginstal versi sebelumnya dariAWS CLIversi 1. Untuk melihatAWS CLIversi 1 Python
dukungan versi matriks, lihatthe section called “Persyaratan versi Python” (p. 5).
• pipataupip3terpasang.

Instal dan perbaruiAWS CLIversi 1 di lingkungan


virtual
1. Pasangvirtualenvmemakaipip.

$ pip install --user virtualenv

2. Buat lingkungan virtual dan beri nama.

$ virtualenv ~/cli-ve

Atau, Anda dapat menggunakan-ppilihan untuk menentukan versi Python selain default.

$ virtualenv -p /usr/bin/python37 ~/cli-ve

3. Aktifkan lingkungan virtual Anda.

Linux atau macOS

$ source ~/cli-ve/bin/activate

Windows

$ %USERPROFILE%\cli-ve\Scripts\activate

Perubahan prompt untuk menunjukkan bahwa lingkungan virtual Anda aktif.

(cli-ve)~$

4. Menginstal atau memperbaruiAWS CLIVersi 1 ke lingkungan virtual Anda.

(cli-ve)~$ pip install --upgrade awscli

5. Verifikasi bahwaAWS CLIversi 1 terpasang dengan benar.

$ aws --version
aws-cli/1.22.23 Python/3.8.8 Linux/4.14.133-113.105.amzn2.x86_64 botocore/1.13

26
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Menginstal dan memperbarui lingkungan virtual

6. Anda dapat menggunakan perintah deactivate untuk keluar dari lingkungan virtual. Setiap kali Anda
memulai sesi baru, Anda harus mengaktifkan lingkungan.

27
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Dasar-dasar konfigurasi

Mengonfigurasi AWS CLI


Bagian ini menjelaskan cara mengkonfigurasi pengaturanAWS Command Line Interface(AWS CLI)
menggunakan untuk berinteraksi denganAWS. Ini termasuk kredensi keamanan Anda, format output
default, dan defaultAWSWilayah.
Note

AWSmengharuskan semua permintaan masuk ditandatangani secara kriptografis. ParameterAWS


CLIakan melakukannya untuk Anda. “Tanda tangan” termasuk cap tanggal/waktu. Oleh karena
itu, Anda harus memastikan bahwa tanggal dan waktu komputer Anda diatur dengan benar.
Jika tidak, dan tanggal/waktu dalam tanda tangan terlalu jauh dari tanggal/waktu yang diakui
olehAWSlayanan,AWSmenolak permintaan.

Topik
• Dasar-dasar konfigurasi (p. 28)
• Pengaturan konfigurasi dan file kredenensial (p. 31)
• Profil bernama untukAWS CLI (p. 42)
• variabel lingkungan untuk mengkonfigurasiAWS CLI (p. 44)
• Opsi baris perintah (p. 48)
• Command selesai (p. 51)
• AWS CLIpercobaan ulang (p. 55)
• Sourcing kredensyal dengan proses eksternal (p. 58)
• Menggunakan kredenal untuk metadata instans Amazon EC2 (p. 60)
• Menggunakan proxy HTTP (p. 61)
• Menggunakan peran IAM dalamAWS CLI (p. 63)

Dasar-dasar konfigurasi
Bagian ini menjelaskan cara mengonfigurasi pengaturan dasar dengan cepatAWS Command Line
Interface(AWS CLI) menggunakan untuk berinteraksi denganAWS. Ini termasuk kredensi keamanan Anda,
format output default, dan defaultAWSWilayah.
Note

AWSmengharuskan semua permintaan masuk ditandatangani secara kriptografis. ParameterAWS


CLImelakukan hal ini untuk Anda. “Tanda tangan” termasuk cap tanggal/waktu. Oleh karena
itu, Anda harus memastikan bahwa tanggal dan waktu komputer Anda diatur dengan benar.
Jika tidak, dan tanggal/waktu dalam tanda tangan terlalu jauh dari tanggal/waktu yang diakui
olehAWSlayanan,AWSmenolak permintaan.

Topik
• Konfigurasi cepat denganaws configure (p. 29)
• Access key ID dan secret access key (p. 29)
• Membuat key pair (p. 29)
• Wilayah (p. 30)
• Format output (p. 30)
• Profil (p. 30)
• Pengaturan konfigurasi dan prioritas (p. 31)

28
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Konfigurasi cepat denganaws configure

Konfigurasi cepat denganaws configure


Untuk penggunaan umum,aws configurePerintah adalah cara tercepat untuk mengaturAWS
CLIinstalasi. Ketika Anda memasukkan perintah ini,AWS CLImeminta Anda untuk empat bagian informasi:

• Access key ID (p. 29)


• Secret access key (p. 29)
• AWSWilayah (p. 30)
• Format output (p. 30)

ParameterAWS CLImenyimpan informasi ini dalamprofil(koleksi pengaturan) bernamadefaultdi


dalamcredentialsberkas. Secara default, informasi dalam profil ini digunakan saat Anda
menjalankanAWS CLIperintah yang tidak secara eksplisit menentukan profil untuk digunakan. Untuk
informasi lebih lanjut tentangcredentialsfile, lihatPengaturan konfigurasi dan file kredenensial (p. 31)

Contoh berikut menunjukkan nilai sampel. Menggantinya dengan nilai Anda sendiri seperti yang dijelaskan
di bagian berikut.

$ aws configure
AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE
AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Default region name [None]: us-west-2
Default output format [None]: json

Access key ID dan secret access key


Access key menggunakan access key ID dan secret access key yang Anda gunakan untuk
menandatangani permintaan terprogramAWS.

Topik
• Membuat key pair (p. 29)

Membuat key pair


Access key ini terdiri dari access key ID dan secret access key, yang digunakan untuk menandatangani
permintaan terprogram yang Anda lakukan ke AWS. Jika Anda tidak memiliki access key, Anda dapat
membuatnya dari AWS Management Console. Sebagai praktik terbaik, jangan menggunakan access
key pengguna akar Akun AWS untuk tugas apa pun yang tidak memerlukannya. Sebagai gantinya, buat
pengguna IAM administrator baru dengan access key untuk Anda sendiri.

Satu-satunya kesempatan Anda dapat melihat atau mengunduh secret access key adalah saat Anda
membuat kunci. Anda tidak dapat memulihkannya nanti. Namun, Anda dapat membuat access key baru
kapan saja. Anda juga harus memiliki izin untuk melakukan tindakan IAM yang diperlukan. Untuk informasi
selengkapnya, lihat Izin yang diperlukan untuk mengakses sumber daya IAM dalam Panduan Pengguna
IAM.

Untuk membuat access key untuk pengguna IAM

1. Masuk ke AWS Management Console dan buka konsol IAM di https://console.aws.amazon.com/iam/.


2. Di panel navigasi, pilih Users (Pengguna).
3. Pilih nama pengguna dengan access key yang ingin dibuat, lalu pilih tab Kredensial keamanan.
4. Pada bagian Access key, pilih Buat access key.

29
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Wilayah

5. Untuk melihat pasangan access key baru, pilih Show (Tampilkan). Anda tidak akan memiliki akses ke
secret access key lagi setelah menutup kotak dialog ini. Kredensial Anda akan terlihat seperti ini:

• Access key ID: AKIAIOSFODNN7EXAMPLE


• Secret access key: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
6. Untuk mengunduh pasangan kunci tersebut, pilih Unduh file .csv. Simpan kunci di lokasi yang aman.
Anda tidak akan memiliki akses ke secret access key lagi setelah menutup kotak dialog ini.

Jaga kerahasiaan kunci untuk melindungi Akun AWS Anda dan jangan pernah mengirimnya melalui
email. Jangan membagikannya di luar organisasi Anda, meskipun permintaannya terlihat berasal dari
AWS atau Amazon.com. Tidak ada orang yang sah mewakili Amazon yang akan pernah meminta
secret key Anda.
7. Setelah mengunduh file .csv, pilih Close (Tutup). Saat Anda membuat access key, pasangan kunci
akan aktif secara default, dan Anda dapat langsung menggunakan pasangan tersebut.

Topik yang terkait

• Apa itu IAM? di Panduan Pengguna IAM


• Kredensial keamanan AWS dalam Referensi Umum AWS

Wilayah
ParameterDefault region namemengidentifikasiAWSWilayah yang server Anda ingin mengirimkan
permintaan Anda secara default. Ini biasanya adalah Wilayah yang paling dekat dengan Anda, tetapi
dapat berupa Wilayah apa pun. Misalnya, Anda dapat mengetikus-west-2untuk menggunakan AS Barat
(Oregon). Ini adalah Wilayah yang semua permintaan kemudian dikirim ke, kecuali jika Anda menentukan
sebaliknya dalam perintah individual.
Note
Anda harus menentukanAWSDaerah saat menggunakanAWS CLI, baik secara eksplisit atau
dengan menetapkan Wilayah default. Untuk daftar Wilayah yang tersedia, lihatWilayah dan Titik
Akhir. Daerah designator yang digunakan olehAWS CLIadalah nama yang sama yang Anda lihat
diAWS Management ConsoleURL dan endpoint layanan.

Format output
ParameterDefault output formatmenentukan bagaimana hasil diformat. Nilai dapat berupa salah
satu nilai dalam daftar berikut. Jika Anda tidak menentukan format output,jsondigunakan sebagai default.

• json (p. 91)— Output diformat sebagaiJSONtali.


• text (p. 92)- Output diformat sebagai beberapa baris nilai string yang dipisahkan tab. Hal ini dapat
berguna untuk lulus output ke prosesor teks, sepertigrep,sed, atauawk.
• table (p. 95)- Output diformat sebagai tabel menggunakan karakter +|- untuk membentuk batas
sel. Ini biasanya menyajikan informasi dalam format “ramah-manusia” yang jauh lebih mudah dibaca
daripada yang lain, tetapi tidak sebagai pemrograman berguna.

Profil
Koleksi pengaturan disebut profil. Secara default,AWS CLImenggunakandefaultprofil. Anda dapat
membuat dan menggunakan profil bernama tambahan dengan berbagai kredenal dan pengaturan dengan
menentukan--profilepilihan dan menetapkan nama.

Contoh berikut membuat profil dengan nama produser.

30
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Pengaturan konfigurasi dan prioritas

$ aws configure --profile produser


AWS Access Key ID [None]: AKIAI44QH8DHBEXAMPLE
AWS Secret Access Key [None]: je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY
Default region name [None]: us-east-1
Default output format [None]: text

Anda kemudian dapat menentukan--profile profilenamedan gunakan kredensyal dan pengaturan


yang disimpan di bawah nama itu.

$ aws s3 ls --profile produser

Untuk memperbarui pengaturan ini, jalankanaws configurelagi (dengan atau tanpa--


profileparameter, tergantung pada profil yang ingin Anda perbarui) dan masukkan nilai baru yang
sesuai. Bagian berikutnya berisi informasi lebih lanjut tentang file yangaws configuremenciptakan,
pengaturan tambahan, dan profil bernama.

Untuk informasi selengkapnya tentang profil bernama, lihatProfil bernama untukAWS CLI (p. 42).

Pengaturan konfigurasi dan prioritas


ParameterAWS CLImenggunakan kredensia dan pengaturan konfigurasi yang terletak di beberapa
tempat, seperti variabel sistem atau lingkungan pengguna, lokalAWSfile konfigurasi, atau secara eksplisit
dinyatakan pada baris perintah sebagai parameter. Lokasi tertentu lebih diutamakan daripada yang lain.
ParameterAWS CLIpengaturan kredensi dan konfigurasi diutamakan dalam urutan sebagai berikut:

1. Opsi baris perintah (p. 48)— Mengganti pengaturan di lokasi lain. Anda dapat menentukan--
region,--output, dan--profilesebagai parameter pada baris perintah.
2. Variabel lingkungan (p. 44)— Anda dapat menyimpan nilai dalam variabel lingkungan sistem Anda.
3. File kredensi CLI (p. 31)— Thecredentialsdanconfigfile diperbarui ketika Anda menjalankan
perintahaws configure. Parametercredentialsfile terletak di~/.aws/credentialsdi Linux atau
macOS, atau diC:\Users\USERNAME\.aws\credentialspada Windows. File ini dapat berisi rincian
kredenensial untukdefaultprofil dan profil bernama.
4. File konfigurasi CLI (p. 31)— Thecredentialsdanconfigfile diperbarui ketika Anda menjalankan
perintahaws configure. Parameterconfigfile terletak di~/.aws/configdi Linux atau macOS, atau
diC:\Users\USERNAME\.aws\configpada Windows. File ini berisi pengaturan konfigurasi untuk
profil default dan profil bernama apa pun.
5. kredensi kontainer— Anda dapat mengaitkan peran IAM dengan masing-masing definisi tugas Amazon
Elastic Container Service (Amazon ECS). Kredensi sementara untuk peran tersebut kemudian tersedia
untuk kontainer tugas itu. Untuk informasi lebih lanjut, lihat Peran IAM untuk Tugas dalam Panduan
Developer Amazon Elastic Container Service.
6. Kredensi profil instans— Anda dapat mengaitkan peran IAM dengan masing-masing instans Amazon
Elastic Compute Cloud (Amazon EC2). Kredensi sementara untuk peran tersebut kemudian tersedia
untuk kode yang berjalan di instance. Kredensi dikirim melalui layanan metadata Amazon EC2. Untuk
informasi selengkapnya, lihatPeran IAM untuk Amazon EC2di dalamPanduan Pengguna Amazon EC2
untuk Instans LinuxdanMenggunakan Profil instansdi dalamPanduan Pengguna IAM.

Pengaturan konfigurasi dan file kredenensial


Anda dapat menyimpan pengaturan konfigurasi dan kredensia yang sering digunakan dalam file yang
dikelola olehAWS CLI.

File-file dibagi menjadiprofiles. Secara default,AWS CLImenggunakan pengaturan yang ditemukan


di profil bernamadefault. Untuk menggunakan pengaturan alternatif, Anda dapat membuat dan

31
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Di mana pengaturan konfigurasi disimpan?

mereferensikan profil tambahan. Untuk informasi selengkapnya tentang profil bernama, lihatProfil bernama
untukAWS CLI (p. 42).

Anda dapat mengganti pengaturan individual dengan menetapkan salah satu variabel lingkungan yang
didukung, atau dengan menggunakan parameter baris perintah. Untuk informasi selengkapnya tentang
prioritas pengaturan konfigurasi, lihatPengaturan konfigurasi dan prioritas (p. 31).

Topik
• Di mana pengaturan konfigurasi disimpan? (p. 32)
• Mengatur dan melihat pengaturan konfigurasi (p. 33)
• DidukungconfigPengaturan file (p. 34)

Di mana pengaturan konfigurasi disimpan?


ParameterAWS CLImenyimpan informasi kredenensial sensitif yang Anda tentukanaws configuredalam
file lokal bernamacredentials, dalam folder bernama.awsdi direktori beranda Anda. Opsi konfigurasi
yang kurang sensitif yang Anda tentukanaws configuredisimpan dalam file lokal bernamaconfig, juga
disimpan di.awsfolder di direktori beranda Anda.
Menyimpan kredensial dalam berkas config

Anda dapat menyimpan semua pengaturan profil Anda dalam satu file sebagaiAWS CLIdapat
membaca kredensi dariconfigberkas. Jika ada kredensia di kedua file untuk profil yang berbagi
nama yang sama, kunci dalam file kredensia lebih diutamakan.
File-file ini juga digunakan oleh berbagai perangkat lunak pengembangan perangkat lunak
bahasa (SDK). Jika Anda menggunakan salah satu SDK selainAWS CLI, konfirmasikan apakah
kredensyal harus disimpan dalam file mereka sendiri.

Di mana Anda menemukan lokasi direktori home Anda bervariasi berdasarkan sistem operasi,
tetapi disebut menggunakan variabel lingkungan%UserProfile%di Windows dan$HOMEatau~(tilde)
dalam sistem berbasis UNIX. Anda dapat menentukan lokasi non-default untuk file dengan
mengaturAWS_CONFIG_FILEdanAWS_SHARED_CREDENTIALS_FILEvariabel lingkungan ke jalur lokal lain.
Lihat variabel lingkungan untuk mengkonfigurasiAWS CLI (p. 44) untuk detail.

Misalnya, file yang dihasilkan olehAWS CLIuntuk profil default yang dikonfigurasi denganaws
configureterlihat serupa dengan yang berikut ini.

~/.aws/credentials

[default]
aws_access_key_id=AKIAIOSFODNN7EXAMPLE
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

~/.aws/config

[default]
region=us-west-2
output=json

Untuk contoh file dengan beberapa profil bernama, lihatProfil bernama untukAWS CLI (p. 42).

Bila Anda menggunakan profil bersama yang menentukanAWS Identity and Access Management(IAM)
peran,AWS CLIpanggilanAWS STS AssumeRoleoperasi untuk mengambil kredensia sementara.
Kredensial-kredenal ini kemudian disimpan (di~/.aws/cli/cache). selanjutnyaAWS CLIperintah
menggunakan kredensi sementara cache sampai mereka kedaluwarsa, dan pada saat ituAWS CLIsecara
otomatis menyegarkan kredensialnya.

32
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Mengatur dan melihat pengaturan konfigurasi

Mengatur dan melihat pengaturan konfigurasi


Ada beberapa cara untuk melihat dan mengatur pengaturan konfigurasi Anda dalam file.

Credentialsdanconfigfail

Melihat dan mengedit pengaturan Anda dengan langsung mengeditconfigdancredentialsfile


dalam editor teks. Untuk informasi selengkapnya, lihatDi mana pengaturan konfigurasi
disimpan? (p. 32)

Untuk menghapus setelan, hapus setelan yang sesuai diconfigdancredentials.


aws configure

Jalankan perintah ini untuk mengatur dan melihat kredenal, wilayah, dan format output dengan cepat.
Contoh berikut menunjukkan nilai sampel.

$ aws configure
AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE
AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Default region name [None]: us-west-2
Default output format [None]: json

Untuk informasi selengkapnya, lihatKonfigurasi cepat denganaws configure (p. 29)


aws configure set

Anda dapat mengatur kredensyal atau pengaturan konfigurasi menggunakanaws configure set.
Tentukan profil yang ingin Anda lihat atau ubah dengan--profilePengaturan.

Misalnya, perintah berikut mengaturregiondalam profil bernamainteg.

$ aws configure set region us-west-2 --profile integ

Untuk menghapus pengaturan, gunakan string kosong sebagai nilainya, atau hapus pengaturan secara
manual di setelan Andaconfigdancredentialsfile dalam editor teks.

$ aws configure set cli_pager "" --profile integ

aws configure get

Anda dapat mengambil kredensial atau pengaturan konfigurasi yang telah Anda tetapkan
menggunakanaws configure get. Tentukan profil yang ingin Anda lihat atau ubah dengan--
profilePengaturan.

Misalnya, perintah berikut mengambilregionpengaturan di profil bernamainteg.

$ aws configure get region --profile integ


us-west-2

Jika output kosong, pengaturan tidak secara eksplisit diatur dan menggunakan nilai default.
aws configure list

Untuk mencantumkan semua data konfigurasi, gunakanaws configure listperintah. Perintah ini
menampilkanAWS CLInama semua pengaturan yang telah Anda konfigurasi, nilainya, dan dari mana
konfigurasi diambil dari.

$ aws configure list


Name Value Type Location

33
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
DidukungconfigPengaturan file

---- ----- ---- --------


profile <not set> None None
access_key ****************ABCD shared-credentials-file
secret_key ****************ABCD shared-credentials-file
region us-west-2 env AWS_DEFAULT_REGION

DidukungconfigPengaturan file
Topik
• Pengaturan Global (p. 34)
• Pengaturan perintah S3 Kustom (p. 39)

Pengaturan berikut didukung dalamconfigberkas. Nilai-nilai yang tercantum dalam profil tertentu (atau
default) digunakan kecuali mereka diganti oleh kehadiran variabel lingkungan dengan nama yang sama,
atau opsi baris perintah dengan nama yang sama. Untuk informasi lebih lanjut tentang pengaturan pesanan
apa yang diutamakan, lihatPengaturan konfigurasi dan prioritas (p. 31)

Pengaturan Global
api_versions

BeberapaAWSlayanan mempertahankan beberapa versi API untuk mendukung


kompatibilitas mundur. Secara default,AWS CLIperintah menggunakan versi API terbaru
yang tersedia. Anda dapat menentukan versi API yang akan digunakan untuk profil dengan
menyertakanapi_versionspengaturan diconfigberkas.

Ini adalah pengaturan “bersarang” yang diikuti oleh satu atau lebih garis indentasi yang masing-masing
mengidentifikasi satuAWSlayanan dan versi API untuk digunakan. Lihat dokumentasi untuk setiap
layanan untuk memahami versi API mana yang tersedia.

Contoh berikut menunjukkan cara menentukan versi API untuk duaAWSlayanan. Versi API ini hanya
digunakan untuk perintah yang berjalan di bawah profil yang berisi pengaturan ini.

api_versions =
ec2 = 2015-03-01
cloudfront = 2015-09-017

Pengaturan ini tidak memiliki variabel lingkungan atau parameter baris perintah setara.

aws_access_key_id (p. 29)

MenentukanAWSkunci akses yang digunakan sebagai bagian dari kredensia untuk mengotentikasi
permintaan perintah. Meskipun ini dapat disimpan diconfigFile, kami merekomendasikan Anda
menyimpannya dicredentialsberkas.

Dapat ditimpa olehAWS_ACCESS_KEY_IDVariabel lingkungan. Anda tidak dapat menentukan ID kunci


akses sebagai opsi baris perintah.

aws_access_key_id = AKIAIOSFODNN7EXAMPLE

aws_secret_access_key (p. 29)

MenentukanAWSkunci rahasia yang digunakan sebagai bagian dari kredensi untuk mengotentikasi
permintaan perintah. Meskipun ini dapat disimpan diconfigFile, kami merekomendasikan Anda
menyimpannya dicredentialsberkas.

34
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
DidukungconfigPengaturan file

Dapat ditimpa olehAWS_SECRET_ACCESS_KEYVariabel lingkungan. Anda tidak dapat menentukan


kunci akses rahasia sebagai opsi baris perintah.

aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

aws_session_token

MenentukanAWStoken sesi. Token sesi diperlukan hanya jika Anda menentukan kredensi keamanan
sementara secara manual. Meskipun ini dapat disimpan diconfigFile, kami merekomendasikan Anda
menyimpannya dicredentialsberkas.

Dapat ditimpa olehAWS_SESSION_TOKENVariabel lingkungan. Anda tidak dapat menentukan token


sesi sebagai opsi baris perintah.

aws_session_token = AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT
+FvwqnKwRcOIfrRh3c/LTo6UDdyJwOOvEVPvLXCrrrUtdnniCEXAMPLE/
IvU1dYUg2RVAJBanLiHb4IgRmpRV3zrkuWJOgQs8IZZaIv2BXIa2R4Olgk

ca_bundle

Menentukan bundel sertifikat CA (file dengan.pemekstensi) yang digunakan untuk memverifikasi


sertifikat SSL.

Dapat ditimpa olehAWS_CA_Bundle (p. 45)Variabel lingkungan atau--ca-


bundle (p. 49)opsi baris perintah.

ca_bundle = dev/apps/ca-certs/cabundle-2019mar05.pem

cli_follow_urlparam

Menentukan apakahAWS CLImencoba untuk mengikuti link URL dalam parameter baris perintah yang
dimulai denganhttp://atauhttps://. Ketika diaktifkan, konten yang diambil digunakan sebagai
nilai parameter bukan URL.
• benar— Ini adalah nilai default. Jika ditentukan, setiap parameter string yang dimulai
denganhttp://atauhttps://diambil dan konten download digunakan sebagai nilai parameter
untuk perintah.
• palsu— Jika ditentukan,AWS CLItidak memperlakukan nilai string parameter yang dimulai
denganhttp://atauhttps://berbeda dari string lainnya.

Entri ini tidak memiliki variabel lingkungan yang setara atau opsi baris perintah.

cli_follow_urlparam = false

cli_timestamp_format

Menentukan format nilai timestamp termasuk dalam output. Anda dapat menentukan salah satu nilai
berikut:
• iso8601- Nilai default untukAWS CLIversi 2. Jika ditentukan,AWS CLImemformat ulang semua cap
waktu sesuai denganISO 8601.
• kawat- Nilai default untukAWS CLIversi 1. Jika ditentukan,AWS CLImenampilkan semua nilai
timestamp persis seperti yang diterima dalam respon query HTTP.

Entri ini tidak memiliki variabel lingkungan yang setara atau opsi baris perintah.

cli_timestamp_format = iso8601

35
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
DidukungconfigPengaturan file

credential_process (p. 58)

Menentukan perintah eksternal yangAWS CLIberjalan untuk menghasilkan atau mengambil kredensi
otentikasi untuk digunakan untuk perintah ini. Perintah harus mengembalikan kredensyal dalam
format tertentu. Untuk informasi selengkapnya tentang cara menggunakan setelan ini, lihatSourcing
kredensyal dengan proses eksternal (p. 58).

Entri ini tidak memiliki variabel lingkungan yang setara atau opsi baris perintah.

credential_process = /opt/bin/awscreds-retriever --username susan

credential_source (p. 63)

Digunakan dalam instans atau kontainer Amazon EC2 untuk menentukan lokasiAWS
CLIdapat menemukan kredensi yang digunakan untuk mengasumsikan peran
yang Anda tentukan denganrole_arnparameter. Anda tidak dapat menentukan
keduanyasource_profiledancredential_sourcedalam profil yang sama.

Parameter ini dapat memiliki salah satu dari tiga nilai:


• Lingkungan— Menentukan bahwaAWS CLIadalah untuk mengambil kredensial sumber dari variabel
lingkungan.
• EC2InstanceMetadata— Menentukan bahwaAWS CLIadalah dengan menggunakan peran IAM yang
melekat padaProfil instans EC2untuk mendapatkan kredensi sumber.
• ECSContainer— Menentukan bahwaAWS CLIadalah dengan menggunakan peran IAM yang
melekat pada wadah ECS sebagai kredensi sumber.

credential_source = Ec2InstanceMetadata

duration_seconds

Menentukan durasi maksimum sesi peran, dalam detik. Nilai dapat berkisar dari 900 detik (15 menit)
hingga pengaturan durasi sesi maksimum untuk peran tersebut (yang dapat maksimal 43200). Ini
adalah parameter opsional dan secara default, nilainya diatur ke 3600 detik.
external_id (p. 67)

Menentukan pengenal unik yang digunakan oleh pihak ketiga untuk berperan dalam akun pelanggan
mereka. Ini peta keExternalIdparameter dalamAssumeRoleoperasi. Parameter ini diperlukan
hanya jika kebijakan kepercayaan untuk peran menentukan nilai untukExternalId. Untuk
informasi selengkapnya, lihatCara menggunakan Gateway Eksternal Saat Memberikan Akses ke
AndaAWSSumber Daya ke Pihak Ketigadi dalamPanduan Pengguna IAM.
max_attempts (p. 55)

Menentukan nilai percobaan ulang maksimum mencobaAWS CLIcoba lagi handler menggunakan, di
mana panggilan awal dihitung terhadapmax_attemptsnilai yang Anda berikan.

Anda dapat mengganti nilai ini dengan menggunakanAWS_MAX_ATTEMPTSVariabel lingkungan.

max_attempts = 3

mfa_serial (p. 66)

Nomor identifikasi perangkat MFA untuk digunakan saat mengasumsikan peran. Ini
wajib hanya jika kebijakan kepercayaan dari peran yang diasumsikan mencakup kondisi
yang memerlukan otentikasi MFA. Nilai dapat berupa nomor seri untuk perangkat keras

36
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
DidukungconfigPengaturan file

(sepertiGAHT12345678) atau Amazon Resource Name (ARN) untuk perangkat MFA virtual
(sepertiarn:aws:iam::123456789012:mfa/user).
output (p. 30)

Menentukan format output default untuk perintah yang diminta menggunakan profil ini. Anda dapat
menentukan nilai berikut:
• json (p. 91)- Output diformat sebagaiJSONtali.
• text (p. 92)- Output diformat sebagai beberapa baris nilai string yang dipisahkan tab. Hal ini
dapat berguna untuk lulus output ke prosesor teks, sepertigrep,sed, atauawk.
• table (p. 95)- Output diformat sebagai tabel menggunakan karakter +|- untuk membentuk batas
sel. Ini biasanya menyajikan informasi dalam format “ramah-manusia” yang jauh lebih mudah dibaca
daripada yang lain, tetapi tidak sebagai pemrograman berguna.

Dapat ditimpa olehAWS_DEFAULT_OUTPUTVariabel lingkungan atau--outputopsi baris perintah.

output = table

parameter_validation

Menentukan apakahAWS CLIklien mencoba untuk memvalidasi parameter sebelum mengirimkannya


keAWStitik akhir layanan.
• benar— Ini adalah nilai default. Jika ditentukan,AWS CLImelakukan validasi lokal parameter baris
perintah.
• palsu— Jika ditentukan,AWS CLItidak memvalidasi parameter baris perintah sebelum
mengirimkannya keAWStitik akhir layanan.

Entri ini tidak memiliki variabel lingkungan yang setara atau opsi baris perintah.

parameter_validation = false

region (p. 30)

MenentukanAWSWilayah untuk mengirim permintaan untuk perintah yang diminta menggunakan profil
ini.
• Anda dapat menentukan salah satu kode Wilayah yang tersedia untuk layanan yang dipilih seperti
yang tercantum dalamAWSWilayah dan Titik Akhirdi dalamAmazon Web Services Referensi Umum.
• aws_globalmemungkinkan Anda menentukan endpoint global untuk layanan yang mendukung
endpoint global selain endpoint regional, sepertiAWS Security Token Service(AWS STS) dan
Amazon Simple Storage Service (Amazon S3).

Anda dapat mengganti nilai ini dengan menggunakan AWS_DEFAULT_REGIONvariabel lingkungan,


atau--regionopsi baris perintah.

region = us-west-2

retry_mode (p. 55)

Menentukan modus coba lagiAWS CLImenggunakan. Ada tiga mode coba lagi yang tersedia: legacy
(default), standar, dan adaptif. Untuk informasi lebih lanjut tentang pencobaan ulang, lihat AWS
CLIpercobaan ulang (p. 55).

Anda dapat mengganti nilai ini dengan menggunakanAWS_RETRY_MODEVariabel lingkungan.

retry_mode = standard

37
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
DidukungconfigPengaturan file

role_arn (p. 63)

Menentukan Amazon Resource Name (ARN) IAM role yang ingin Anda gunakan untuk
menjalankanAWS CLIperintah. Anda juga harus menentukan salah satu parameter berikut untuk
mengidentifikasi kredensi yang memiliki izin untuk mengambil peran ini:
• source_profile
• credential_source

role_arn = arn:aws:iam::123456789012:role/role-name

Variabel lingkunganAWS_ROLE_ARN (p. 46)menimpa pengaturan ini.

Untuk informasi selengkapnya tentang menggunakan identitas web, lihatthe section called “Asumsikan
peran dengan identitas web” (p. 68).
role_session_name (p. 67)

Menentukan nama untuk melampirkan sesi peran. Nilai ini diberikan


kepadaRoleSessionNameparameter saatAWS CLIpanggilanAssumeRoleoperasi, dan menjadi
bagian dari ARN pengguna peran diasumsikan: arn:aws:sts::123456789012:assumed-
role/role_name/role_session_name. Ini adalah parameter opsional. Jika Anda tidak
memberikan nilai ini, nama sesi dihasilkan secara otomatis. Nama ini muncul diAWS CloudTraillog
untuk entri yang terkait dengan sesi ini.

role_session_name = maria_garcia_role

Variabel lingkunganAWS_ROLE_SESSION_NAME (p. 47)menimpa pengaturan ini.

Untuk informasi selengkapnya tentang menggunakan identitas web, lihatthe section called “Asumsikan
peran dengan identitas web” (p. 68).
source_profile (p. 63)

Menentukan profil bernama dengan kredensi jangka panjang yangAWS CLIdapat digunakan
untuk mengasumsikan peran yang Anda tentukan denganrole_arnparameter. Anda tidak dapat
menentukan keduanyasource_profiledancredential_sourcedalam profil yang sama.

source_profile = production-profile

sts_regional_endpoints

Menentukan bagaimanaAWS CLImenentukanAWStitik akhir layanan bahwaAWS CLIklien


menggunakan untuk berbicara denganAWS Security Token Service(AWS STS). Nilai default
untukAWS CLIversi 1 adalahlegacy. .

Anda dapat menentukan salah satu dari dua nilai:


• legacy— Menggunakan endpoint STS global,sts.amazonaws.com, untuk hal
berikutAWSWilayah:ap-northeast-1,ap-south-1,ap-southeast-1,ap-southeast-2,aws-
global,ca-central-1,eu-central-1,eu-north-1,eu-west-1,eu-west-2,eu-west-3,sa-
east-1,us-east-1,us-east-2,us-west-1, danus-west-2. Semua Wilayah lainnya secara
otomatis menggunakan titik akhir regional masing-masing.

38
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
DidukungconfigPengaturan file

• regional— TheAWS CLIselalu menggunakanAWS STSendpoint untuk Wilayah saat


ini dikonfigurasi. Misalnya, jika klien dikonfigurasi untuk digunakanus-west-2, semua
panggilan keAWS STSdibuat ke titik akhir regionalsts.us-west-2.amazonaws.combukan
globalsts.amazonaws.comtitik akhir. Untuk mengirim permintaan ke titik akhir global saat
pengaturan ini diaktifkan, Anda dapat mengatur Wilayah keaws-global.

Pengaturan ini dapat ditimpa dengan menggunakanAWS_STS_REGIONAL_ENDPOINTSVariabel


lingkungan. Anda tidak dapat mengatur nilai ini sebagai parameter baris perintah.
web_identity_token_file (p. 68)

Menentukan path ke file yang berisi token akses OAuth 2.0 atau token OpenID Connect ID
yang disediakan oleh penyedia identitas. ParameterAWS CLImemuat isi file ini dan melewatinya
sebagaiWebIdentityTokenargumen keAssumeRoleWithWebIdentityoperasi.

Variabel lingkunganAWS_WEB_IDENTITY_TOKEN_FILE (p. 48)menimpa pengaturan ini.

Untuk informasi selengkapnya tentang menggunakan identitas web, lihatthe section called “Asumsikan
peran dengan identitas web” (p. 68).
tcp_keepalive

Menentukan apakahAWS CLIklien menggunakan paket TCP terus-hidup.

Entri ini tidak memiliki variabel lingkungan yang setara atau opsi baris perintah.

tcp_keepalive = false

Pengaturan perintah S3 Kustom


Amazon S3 mendukung beberapa pengaturan yang mengonfigurasi caraAWS CLImelakukan operasi
Amazon S3. Beberapa berlaku untuk semua perintah S3 di keduas3apidans3namespace. Lainnya khusus
untuk S3 “kustom” perintah yang abstrak operasi umum dan melakukan lebih dari one-to-one pemetaan ke
operasi API. Parameteraws s3perintah transfercp,sync,mv, danrmmemiliki pengaturan tambahan yang
dapat Anda gunakan untuk mengontrol transfer S3.

Semua opsi ini dapat dikonfigurasi dengan menentukans3pengaturan bersarang diconfigberkas. Setiap
pengaturan kemudian menjorok pada baris sendiri.
Note

Pengaturan ini sepenuhnya opsional. Anda harus dapat berhasil menggunakanaws


s3mentransfer perintah tanpa mengkonfigurasi salah satu pengaturan ini. Pengaturan ini
disediakan untuk memungkinkan Anda menyesuaikan kinerja atau memperhitungkan lingkungan
tertentu di mana Anda menjalankan iniaws s3perintah.

Pengaturan ini semua diatur di bawah tingkat atass3kunci dalamconfigfile, seperti yang ditunjukkan
dalam contoh berikut untukdevelopmentprofil.

[profile development]
s3 =
max_concurrent_requests = 20
max_queue_size = 10000
multipart_threshold = 64MB
multipart_chunksize = 16MB
max_bandwidth = 50MB/s
use_accelerate_endpoint = true
addressing_style = path

39
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
DidukungconfigPengaturan file

Pengaturan berikut berlaku untuk perintah S3 dis3ataus3apinamespace.

addressing_style

Menentukan gaya pengalamatan yang akan digunakan. Ini mengontrol apakah nama bucket ada
dalam nama host atau bagian dari URL. Nilai yang valid adalah:path,virtual, danauto. Nilai
default-nya adalah auto.

Ada dua gaya membangun titik akhir Amazon S3. Yang pertama disebutvirtualdan
menyertakan nama bucket sebagai bagian dari nama host. Misalnya:
https://bucketname.s3.amazonaws.com. Atau, denganpathstyle, Anda memperlakukan nama
bucket seolah-olah itu adalah jalur di URI; misalnya,https://s3.amazonaws.com/bucketname.
Nilai default dalam CLI adalah untuk menggunakanauto, yang mencoba untuk
menggunakanvirtualgaya di mana ia bisa, tapi akan jatuh kembali kepathgaya bila diperlukan.
Misalnya, jika nama bucket Anda tidak kompatibel dengan DNS, nama bucket tidak dapat menjadi
bagian dari nama host dan harus berada di jalur. Denganauto, CLI akan mendeteksi kondisi ini dan
secara otomatis beralih kepathgaya untuk Anda. Jika Anda mengatur gaya pengalamatan kepath,
Anda kemudian harus memastikan bahwaAWSWilayah yang Anda konfigurasikan diAWS CLIcocok
dengan Wilayah ember Anda.
payload_signing_enabled

Menentukan apakah untuk SHA256 tanda sigv4 muatan. Secara default, hal ini dinonaktifkan
untuk unggahan streaming (UploadPartdanPutObject) saat menggunakan HTTPS. Secara
default, ini diatur kefalseuntuk streaming upload (UploadPartdanPutObject), tetapi hanya
jikaContentMD5hadir (dihasilkan secara default) dan endpoint menggunakan HTTPS.

Jika diatur ke true, permintaan S3 menerima validasi konten tambahan dalam bentuk checksum
SHA256 yang dihitung untuk Anda dan termasuk dalam tanda tangan permintaan. Jika diatur ke false,
checksum tidak dihitung. Menonaktifkan ini dapat berguna untuk mengurangi overhead kinerja yang
dibuat oleh perhitungan checksum.
use_dualstack_endpoint

Gunakan titik akhir IPv4/IPv6 ganda Amazon S3 untuk semuas3dans3apiperintah. Nilai default
adalah false. Ini saling eksklusif denganuse_accelerate_endpointPengaturan.

Jika diatur ke true,AWS CLImengarahkan semua permintaan Amazon S3 ke titik akhir IPv4/IPv6 ganda
untuk Wilayah yang dikonfigurasi.
use_accelerate_endpoint

Gunakan titik akhir Amazon S3 Accelerate untuk semuas3dans3apiperintah. Nilai default adalah
false. Ini saling eksklusif denganuse_dualstack_endpointPengaturan.

Jika diatur ke true,AWS CLImengarahkan semua permintaan Amazon S3 keS3 Acceleratetitik


akhir dis3-accelerate.amazonaws.com. Untuk menggunakan endpoint ini, Anda harus
mengaktifkan bucket Anda untuk menggunakanS3 Accelerate. Semua permintaan dikirim
menggunakan pengalamatan bucket cara virtual: my-bucket.s3-accelerate.amazonaws.com.
Apa punListBuckets,CreateBucket, danDeleteBucket permintaan tidak dikirim ke titik akhir S3
Accelerate karena titik akhir itu tidak mendukung operasi tersebut. Perilaku ini juga dapat diatur jika--
endpoint-urlparameter diatur kehttps://s3-accelerate.amazonaws.comatauhttp://s3-
accelerate.amazonaws.comuntuk apa puns3ataus3apiperintah.

Pengaturan berikut hanya berlaku untuk perintah dis3namespace perintah set.

max_bandwidth

Menentukan bandwidth maksimum yang dapat dikonsumsi untuk mengunggah dan mengunduh data
ke dan dari Amazon S3. Default adalah tidak ada batas.

40
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
DidukungconfigPengaturan file

Ini membatasi bandwidth maksimum yang dapat digunakan oleh perintah S3 untuk mentransfer data
ke dan dari Amazon S3. Nilai ini hanya berlaku untuk upload dan download; itu tidak berlaku untuk
salinan atau penghapusan. Nilai dinyatakan sebagai byte per detik. Nilai dapat ditentukan sebagai:
• Integer. Misalnya,1048576menetapkan penggunaan bandwidth maksimum untuk 1 megabyte per
detik.
• Integer diikuti oleh akhiran tingkat. Anda dapat menentukan akhiran tingkat menggunakan:KB/s,MB/
s, atauGB/s. Misalnya,300KB/s,10MB/s.

Secara umum, kami merekomendasikan Anda terlebih dahulu mencoba menurunkan


konsumsi bandwidth dengan menurunkanmax_concurrent_requests. Jika itu
tidak cukup membatasi konsumsi bandwidth ke tingkat yang diinginkan, Anda dapat
menggunakanmax_bandwidthpengaturan untuk membatasi konsumsi bandwidth lebih lanjut.
Ini karenamax_concurrent_requestsmengontrol berapa banyak thread yang sedang
berjalan. Jika Anda bukan pertama kali lebih rendahmax_bandwidthtapi tinggalkan yang
tinggimax_concurrent_requestspengaturan, dapat mengakibatkan benang harus menunggu tidak
perlu. Hal ini dapat menyebabkan konsumsi sumber daya berlebih dan batas waktu koneksi.
max_concurrent_requests

Menentukan jumlah maksimum permintaan bersamaan. Nilai default adalah 10.

Parameteraws s3perintah transfer multithreaded. Pada waktu tertentu, beberapa permintaan


Amazon S3 dapat berjalan. Misalnya, ketika Anda menggunakan perintahaws s3 cp
localdir s3://bucket/ --recursiveuntuk mengunggah file ke bucket S3,AWS CLIdapat
mengunggah filelocaldir/file1,localdir/file2, danlocaldir/file3secara paralel.
Pengaturanmax_concurrent_requestsmenentukan jumlah maksimum operasi transfer yang dapat
berjalan pada waktu yang sama.

Anda mungkin perlu mengubah nilai ini karena beberapa alasan:


• Mengurangi nilai ini - Pada beberapa lingkungan, default 10 permintaan bersamaan dapat
membanjiri sistem. Hal ini dapat menyebabkan batas waktu koneksi atau memperlambat respons
sistem. Menurunkan nilai ini membuat perintah transfer S3 kurang intensif sumber daya. Tradeoff
adalah bahwa transfer S3 dapat memakan waktu lebih lama untuk menyelesaikan. Menurunkan nilai
ini mungkin diperlukan jika Anda menggunakan alat untuk membatasi bandwidth.
• Meningkatkan nilai ini - Dalam beberapa skenario, Anda mungkin ingin transfer Amazon S3 selesai
secepat mungkin, menggunakan bandwidth jaringan sebanyak yang diperlukan. Dalam skenario ini,
jumlah default permintaan bersamaan mungkin tidak cukup untuk menggunakan semua bandwidth
jaringan yang tersedia. Peningkatan nilai ini dapat meningkatkan waktu yang dibutuhkan untuk
menyelesaikan transfer Amazon S3.
max_queue_size

Menentukan jumlah maksimum tugas dalam antrian tugas. Nilai default adalah 1000.

ParameterAWS CLIsecara internal menggunakan model di mana ia mengantri tugas Amazon S3 yang
kemudian dijalankan oleh konsumen yang jumlahnya dibatasi olehmax_concurrent_requests.
Tugas umumnya memetakan ke operasi Amazon S3. Misalnya, tugas bisa menjadiPutObjectTask,
atauGetObjectTask, atauUploadPartTask. Tingkat di mana tugas ditambahkan ke antrian bisa
jauh lebih cepat daripada tingkat di mana konsumen menyelesaikan tugas. Untuk menghindari
pertumbuhan tak terbatas, ukuran antrian tugas dibatasi untuk ukuran tertentu. Pengaturan ini
mengubah nilai jumlah maksimum itu.

Anda biasanya tidak perlu mengubah pengaturan ini. Pengaturan ini juga sesuai dengan jumlah tugas
yangAWS CLImenyadari bahwa perlu dijalankan. Ini artinya bahwa secara defaultAWS CLIhanya
dapat melihat 1000 tugas di depan. Meningkatkan nilai ini berarti bahwaAWS CLIdapat lebih cepat
mengetahui jumlah tugas yang dibutuhkan, dengan asumsi bahwa tingkat antrian lebih cepat daripada
tingkat penyelesaian tugas. Tradeoff adalah bahwa max_queue_size yang lebih besar membutuhkan
lebih banyak memori.

41
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Profil Bernama

multipart_chunksize

Menentukan ukuran potongan yangAWS CLImenggunakan untuk transfer multipart file individual. Nilai
defaultnya adalah 8 MB, dengan minimal 5 MB.

Ketika transfer file melebihimultipart_threshold, yangAWS CLImembagi file menjadi


potongan ukuran ini. Nilai ini dapat ditentukan dengan menggunakan sintaks yang sama
sepertimultipart_threshold, baik sebagai jumlah byte sebagai integer, atau dengan
menggunakan ukuran dan akhiran.
multipart_threshold

Menentukan ambang ukuranAWS CLImenggunakan untuk transfer multipart file individual. Nilai default
adalah 8 MB.

Saat mengunggah, mengunduh, atau menyalin file, perintah Amazon S3 beralih ke operasi multipart
jika file melebihi ukuran ini. Anda dapat menentukan nilai ini dengan salah satu dari dua cara berikut:
• Ukuran file dalam byte. Misalnya, 1048576.
• Ukuran file dengan akhiran ukuran. Anda dapat menggunakanKB,MB,GB, atauTB.
Misalnya:10MB,1GB.
Note

S3 dapat memaksakan kendala pada nilai-nilai yang valid yang dapat digunakan untuk
operasi multipart. Untuk informasi selengkapnya, lihatDokumentasi Upload S3 Multipartdi
dalamAmazon Simple Storage Service.

Profil bernama untukAWS CLI


SEBUAHprofil bernamaadalah kumpulan pengaturan dan kredenal yang dapat Anda terapkan
untukAWS CLIperintah. Bila Anda menentukan profil untuk menjalankan perintah, pengaturan dan
kredensyal digunakan untuk menjalankan perintah tersebut. Beberapaprofil bernamadapat disimpan
diconfigdancredentialsfile.

Anda dapat menentukan satudefaultprofil yang digunakan ketika tidak ada profil yang direferensikan
secara eksplisit. Profil lain memiliki nama yang dapat Anda tentukan sebagai parameter pada baris
perintah untuk perintah individual. Atau, Anda dapat menentukan profil diAWS_PROFIL (p. 44)variabel
lingkungan yang menimpa profil default untuk perintah yang berjalan di sesi itu.

Topik
• Membuat profil bernama (p. 42)
• Menggunakan profil bernama (p. 43)

Membuat profil bernama


Anda dapat mengkonfigurasi profil tambahan dengan menggunakanaws configure (p. 33)dengan--
profilepilihan, atau dengan menambahkan entri secara manual keconfigdancredentialsfile. Untuk
informasi lebih lanjut tentangconfigdancredentialsfile, lihatthe section called “Pengaturan konfigurasi
dan file kredenensial” (p. 31).

Profil kredensyal

Contoh berikut menunjukkancredentialsfile dengan dua profil. Yang pertama[default]digunakan ketika


Anda menjalankanAWS CLIperintah tanpa profil. Yang kedua digunakan saat Anda menjalankanAWS
CLIperintah dengan--profile user1parameter.

42
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Menggunakan profil bernama

Parametercredentialsfile menggunakan format penamaan yang berbeda dariAWS CLI configfile untuk
profil bernama. Lakukantidakmenggunakan kataprofilesaat membuat entri dicredentialsBerkas

~/.aws/credentials(Linux & Mac) atau%USERPROFILE%\.aws\credentials(Windows)

[default]
aws_access_key_id=AKIAIOSFODNN7EXAMPLE
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

[user1]
aws_access_key_id=AKIAI44QH8DHBEXAMPLE
aws_secret_access_key=je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY

Profil Config

Setiap profil dapat menentukan kredensyal yang berbeda—mungkin dari pengguna IAM yang berbeda—
dan juga dapat menentukan berbedaAWSDaerah dan format output. Saat menamai profil diconfigfile,
termasuk kata awalan”profile“.

Contoh berikut menentukan wilayah dan output informasi untukdefaultdanuser1profil.

~/.aws/config(Linux & Mac) atau%USERPROFILE%\.aws\config(Windows)

[default]
region=us-west-2
output=json

[profile user1]
region=us-east-1
output=text

Menggunakan profil bernama


Untuk menggunakan profil bernama, tambahkan--profile profile-namepilihan untuk perintah
Anda. Contoh berikut mencantumkan semua instans Amazon EC2 Anda menggunakan kredensyal dan
pengaturan yang ditentukan dalamuser1profil dari file contoh sebelumnya.

$ aws ec2 describe-instances --profile user1

Untuk menggunakan profil bernama untuk beberapa perintah, Anda dapat menghindari menentukan profil
di setiap perintah dengan mengaturAWS_PROFILEvariabel lingkungan pada baris perintah.

Linux atau macOS

$ export AWS_PROFILE=user1

Windows

C:\> setx AWS_PROFILE user1

Menggunakansetuntuk mengatur variabel lingkungan mengubah nilai yang digunakan sampai akhir sesi
prompt perintah saat ini, atau sampai Anda mengatur variabel untuk nilai yang berbeda.

Menggunakansetxuntuk mengatur variabel lingkungan mengubah nilai di semua shell perintah yang Anda
buat setelah menjalankan perintah. Itu tidaktidakmempengaruhi setiap shell perintah yang sudah berjalan
pada saat Anda menjalankan perintah. Tutup dan restart shell perintah untuk melihat efek perubahan.

43
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Variabel lingkungan

Mengatur variabel lingkungan mengubah profil default sampai akhir sesi shell Anda, atau sampai Anda
menetapkan variabel ke nilai yang berbeda. Anda dapat membuat variabel lingkungan persisten di sesi
mendatang dengan memasukkannya ke skrip startup shell Anda. Untuk informasi selengkapnya, lihat
variabel lingkungan untuk mengkonfigurasiAWS CLI (p. 44).
Note

Jika Anda menentukan profil dengan--profilepada perintah individu, yang menimpa


pengaturan yang ditentukan dalam variabel lingkungan untuk hanya perintah itu.

variabel lingkungan untuk mengkonfigurasiAWS CLI


Variabel lingkungan menyediakan cara lain untuk menentukan opsi konfigurasi dan kredensia, dan dapat
berguna untuk scripting atau sementara menetapkan profil bernama sebagai default.

Prioritas pilihan

• Jika Anda menentukan opsi dengan menggunakan salah satu variabel lingkungan yang dijelaskan dalam
topik ini, itu akan menimpa nilai apa pun yang dimuat dari profil dalam file konfigurasi.
• Jika Anda menentukan opsi dengan menggunakan parameter padaAWS CLIbaris perintah, itu menimpa
nilai apapun dari variabel lingkungan yang sesuai atau profil dalam file konfigurasi.

Untuk informasi selengkapnya tentang prioritas dan bagaimanaAWS CLImenentukan kredensi mana yang
akan digunakan, lihatPengaturan konfigurasi dan prioritas (p. 31).

Topik
• Cara mengatur variabel lingkungan (p. 44)
• AWS CLIvariabel lingkungan yang didukung (p. 45)

Cara mengatur variabel lingkungan


Contoh berikut menunjukkan bagaimana Anda dapat mengkonfigurasi variabel lingkungan untuk pengguna
default.

Linux or macOS

$ export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE
$ export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
$ export AWS_DEFAULT_REGION=us-west-2

Mengatur variabel lingkungan mengubah nilai yang digunakan sampai akhir sesi shell Anda, atau
sampai Anda mengatur variabel ke nilai yang berbeda. Anda dapat membuat variabel terus-menerus di
sesi mendatang dengan menyetelnya di skrip startup shell Anda.
Windows Command Prompt

Untuk mengatur semua sesi

C:\> setx AWS_ACCESS_KEY_ID AKIAIOSFODNN7EXAMPLE


C:\> setx AWS_SECRET_ACCESS_KEY wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
C:\> setx AWS_DEFAULT_REGION us-west-2

Menggunakansetxuntuk mengatur variabel lingkungan mengubah nilai yang digunakan di kedua


sesi prompt perintah saat ini dan semua sesi prompt perintah yang Anda buat setelah menjalankan

44
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
AWS CLIvariabel lingkungan yang didukung

perintah. Itu tidaktidakmempengaruhi shell perintah lainnya yang sudah berjalan pada saat Anda
menjalankan perintah.

Untuk menetapkan sesi saat ini saja

Menggunakansetuntuk mengatur variabel lingkungan mengubah nilai yang digunakan sampai akhir
sesi prompt perintah saat ini, atau sampai Anda mengatur variabel untuk nilai yang berbeda.

C:\> set AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE


C:\> set AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
C:\> set AWS_DEFAULT_REGION=us-west-2

PowerShell

PS C:\> $Env:AWS_ACCESS_KEY_ID="AKIAIOSFODNN7EXAMPLE"
PS C:\> $Env:AWS_SECRET_ACCESS_KEY="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
PS C:\> $Env:AWS_DEFAULT_REGION="us-west-2"

Jika Anda menetapkan variabel lingkungan diPowerShellprompt seperti yang ditunjukkan


dalam contoh sebelumnya, menghemat nilai untuk hanya durasi sesi saat ini. Untuk membuat
variabel lingkungan pengaturan persisten di semuaPowerShelldan sesi Command Prompt,
menyimpannya dengan menggunakanSistemaplikasi diPanel Kontrol. Atau, Anda dapat mengatur
variabel untuk semua masa depanPowerShellsesi dengan menambahkannya kePowerShellprofil.
LihatPowerShelldokumentasiuntuk informasi lebih lanjut tentang menyimpan variabel lingkungan atau
bertahan di sesi.

AWS CLIvariabel lingkungan yang didukung


ParameterAWS CLImendukung variabel lingkungan berikut.

AWS_ACCESS_KEY_ID

MenentukanAWSkunci akses yang terkait dengan pengguna IAM atau peran.

Jika didefinisikan, variabel lingkungan ini menimpa nilai untuk pengaturan profilaws_access_key_id.
Anda tidak dapat menentukan ID kunci akses dengan menggunakan opsi baris perintah.
AWS_CA_BUNDLE

Menentukan jalur ke bundel sertifikat untuk digunakan untuk validasi sertifikat HTTPS.

Jika didefinisikan, variabel lingkungan ini menimpa nilai untuk pengaturan


profilca_bundle (p. 35). Anda dapat menimpa variabel lingkungan ini dengan menggunakan--
ca-bundle (p. 49)parameter baris perintah.
AWS_CONFIG_FILE

Menentukan lokasi file yangAWS CLImenggunakan untuk menyimpan profil konfigurasi. Jalur default
adalah~/.aws/config.

Anda tidak dapat menentukan nilai ini dalam pengaturan profil bernama atau dengan menggunakan
parameter baris perintah.
AWS_DATA_PATH

Daftar direktori tambahan untuk memeriksa di luar jalur pencarian bawaan~/.aws/modelssaat


memuatAWS CLIdata. Mengatur variabel lingkungan ini menunjukkan direktori tambahan untuk
memeriksa terlebih dahulu sebelum jatuh kembali ke jalur pencarian built-in. Beberapa entri harus
dipisahkan denganos.pathsepkarakter, yang:pada Linux atau macOS dan;pada Windows.

45
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
AWS CLIvariabel lingkungan yang didukung

AWS_DEFAULT_OUTPUT (p. 30)

Menentukanformat output (p. 91)untuk digunakan.

Jika didefinisikan, variabel lingkungan ini menimpa nilai untuk pengaturan profiloutput. Anda dapat
menimpa variabel lingkungan ini dengan menggunakan--outputparameter baris perintah.
AWS_DEFAULT_REGION (p. 30)

MenentukanAWSWilayah untuk dikirimi permintaan.

Jika didefinisikan, variabel lingkungan ini menimpa nilai untuk pengaturan profilregiondan. Anda
dapat menimpa variabel lingkungan ini dengan menggunakan--regionparameter baris perintah.
AWS_EC2_METADATA_DISABLED

Menonaktifkan layanan metadata instans Amazon EC2 (IMDS).

Jika diatur ke true, kredensi pengguna atau konfigurasi (seperti wilayah) tidak diminta dari IMDS.
AWS_MAX_ATTEMPTS (p. 36)

Menentukan nilai percobaan ulang maksimum mencobaAWS CLIcoba lagi handler menggunakan, di
mana panggilan awal dihitung terhadap nilai yang Anda berikan. Untuk informasi lebih lanjut tentang
pencobaan ulang, lihat AWS CLIpercobaan ulang (p. 55).

Jika didefinisikan, variabel lingkungan ini menimpa nilai untuk pengaturan profilmax_attempts.
AWS_METADATA_SERVICE_NUM_ATTEMPTS

Ketika mencoba untuk mengambil kredensia pada instans Amazon EC2 yang telah dikonfigurasi
dengan peran IAM,AWS CLImencoba untuk mengambil kredensia sekali dari layanan metadata
instance sebelum berhenti. Jika Anda tahu perintah Anda akan berjalan pada instans Amazon EC2,
Anda dapat meningkatkan nilai ini untuk membuatAWS CLIcoba lagi beberapa kali sebelum menyerah.
AWS_METADATA_SERVICE_TIMEOUT

Jumlah detik sebelum koneksi ke layanan metadata instance harus habis waktu. Saat mencoba
mengambil kredenial pada instans Amazon EC2 yang dikonfigurasi dengan IAM role, koneksi
ke layanan metadata instans habis setelah 1 detik secara default. Jika Anda tahu bahwa Anda
menjalankan instans Amazon EC2 dengan peran IAM yang dikonfigurasi, Anda dapat meningkatkan
nilai ini jika diperlukan.
AWS_PROFILE (p. 42)

Menentukan namaAWS CLIprofil dengan kredenal dan opsi untuk digunakan. Ini bisa menjadi nama
profil yang tersimpan dalamcredentialsatauconfigfile, atau nilaidefaultuntuk menggunakan
profil default.

Jika didefinisikan, variabel lingkungan ini menimpa perilaku menggunakan profil


bernama[default]dalam file konfigurasi. Anda dapat menimpa variabel lingkungan ini dengan
menggunakan--profileparameter baris perintah.
AWS_RETRY_MODE (p. 37)

Menentukan modus coba lagiAWS CLImenggunakan. Ada tiga mode coba lagi yang tersedia: legacy
(default), standar, dan adaptif. Untuk informasi lebih lanjut tentang pencobaan ulang, lihat AWS
CLIpercobaan ulang (p. 55).

Jika didefinisikan, variabel lingkungan ini menimpa nilai untuk pengaturan profilretry_mode.
AWS_ROLE_ARN

Menentukan Amazon Resource Name (ARN) IAM role dengan penyedia identitas web yang ingin Anda
gunakan untuk menjalankanAWS CLIperintah.

46
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
AWS CLIvariabel lingkungan yang didukung

Digunakan denganAWS_WEB_IDENTITY_TOKEN_FILEdanAWS_ROLE_SESSION_NAMEvariabel
lingkungan.

Jika didefinisikan, variabel lingkungan ini menimpa nilai untuk pengaturan profilrole_arn (p. 38).
Anda tidak dapat menentukan nama sesi peran sebagai parameter baris perintah.
Note

Variabel lingkungan ini hanya berlaku untuk peran yang diasumsikan dengan penyedia
identitas web itu tidak berlaku untuk konfigurasi penyedia peran asumsi umum.

Untuk informasi selengkapnya tentang menggunakan identitas web, lihatthe section called “Asumsikan
peran dengan identitas web” (p. 68).
AWS_ROLE_SESSION_NAME

Menentukan nama untuk melampirkan sesi peran. Nilai ini diberikan


kepadaRoleSessionNameparameter saatAWS CLIpanggilanAssumeRoleoperasi, dan menjadi
bagian dari ARN pengguna peran diasumsikan: arn:aws:sts::123456789012:assumed-
role/role_name/role_session_name. Ini adalah parameter opsional. Jika Anda tidak
memberikan nilai ini, nama sesi dihasilkan secara otomatis. Nama ini muncul diAWS CloudTraillog
untuk entri yang terkait dengan sesi ini.

Jika didefinisikan, variabel lingkungan ini menimpa nilai untuk pengaturan


profilrole_session_name (p. 38).

Digunakan denganAWS_ROLE_ARNdanAWS_WEB_IDENTITY_TOKEN_FILEvariabel lingkungan.

Untuk informasi selengkapnya tentang menggunakan identitas web, lihatthe section called “Asumsikan
peran dengan identitas web” (p. 68).
Note

Variabel lingkungan ini hanya berlaku untuk peran yang diasumsikan dengan penyedia
identitas web itu tidak berlaku untuk konfigurasi penyedia peran asumsi umum.
AWS_SECRET_ACCESS_KEY

Menentukan kunci rahasia yang terkait dengan tombol akses. Ini pada dasarnya adalah “password”
untuk kunci akses.

Jika didefinisikan, variabel lingkungan ini menimpa nilai untuk pengaturan


profilaws_secret_access_key. Anda tidak dapat menentukan ID kunci akses rahasia sebagai opsi
baris perintah.
AWS_SESSION_TOKEN

Menentukan nilai token sesi yang diperlukan jika Anda menggunakan kredensi keamanan sementara
yang Anda ambil langsung dariAWS STSoperasi. Untuk informasi selengkapnya, lihatBagian output
dari perintah asumsi-perandi dalamAWS CLIReferensi Perintah.

Jika didefinisikan, variabel lingkungan ini menimpa nilai untuk pengaturan profilaws_session_token.
AWS_SHARED_CREDENTIALS_FILE

Menentukan lokasi file yangAWS CLImenggunakan untuk menyimpan kunci akses. Jalur default
adalah~/.aws/credentials.

Anda tidak dapat menentukan nilai ini dalam pengaturan profil bernama atau dengan menggunakan
parameter baris perintah.
AWS_STS_REGIONAL_ENDPOINTS (p. 38)

Menentukan bagaimanaAWS CLImenentukanAWStitik akhir layananAWS CLIklien menggunakan


untuk berbicara denganAWS Security Token Service(AWS STS).

47
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Opsi baris perintah

• Nilai default untukAWS CLIversi 1 adalahlegacy.


• Nilai default untukAWS CLIversi 2 adalahregional.

Anda dapat menentukan salah satu dari dua nilai:


• legacy— Menggunakan endpoint STS global,sts.amazonaws.com, untuk hal
berikutAWSWilayah:ap-northeast-1,ap-south-1,ap-southeast-1,ap-southeast-2,aws-
global,ca-central-1,eu-central-1,eu-north-1,eu-west-1,eu-west-2,eu-west-3,sa-
east-1,us-east-1,us-east-2,us-west-1, danus-west-2. Semua Wilayah lainnya secara
otomatis menggunakan titik akhir regional masing-masing.
• regional— TheAWS CLIselalu menggunakanAWS STSendpoint untuk Wilayah saat
ini dikonfigurasi. Misalnya, jika klien dikonfigurasi untuk digunakanus-west-2, semua
panggilan keAWS STSdibuat ke titik akhir regionalsts.us-west-2.amazonaws.combukan
globalsts.amazonaws.comtitik akhir. Untuk mengirim permintaan ke titik akhir global saat
pengaturan ini diaktifkan, Anda dapat mengatur Wilayah keaws-global.
AWS_WEB_IDENTITY_TOKEN_FILE (p. 44)

Menentukan path ke file yang berisi token akses OAuth 2.0 atau token OpenID Connect ID
yang disediakan oleh penyedia identitas. ParameterAWS CLImemuat isi file ini dan melewatinya
sebagaiWebIdentityTokenargumen keAssumeRoleWithWebIdentityoperasi.

Digunakan denganAWS_ROLE_ARNdanAWS_ROLE_SESSION_NAMEvariabel lingkungan.

Jika didefinisikan, variabel lingkungan ini menimpa nilai untuk pengaturan


profilweb_identity_token_file.

Untuk informasi selengkapnya tentang menggunakan identitas web, lihatthe section called “Asumsikan
peran dengan identitas web” (p. 68).
Note

Variabel lingkungan ini hanya berlaku untuk peran yang diasumsikan dengan penyedia
identitas web itu tidak berlaku untuk konfigurasi penyedia peran asumsi umum.

Opsi baris perintah


DiAWS CLI, opsi baris perintah adalah parameter global yang dapat Anda gunakan untuk menimpa
pengaturan konfigurasi default, pengaturan profil yang sesuai, atau pengaturan variabel lingkungan untuk
perintah tunggal itu. Anda tidak dapat menggunakan opsi baris perintah untuk menentukan kredensi secara
langsung, meskipun Anda dapat menentukan profil mana yang akan digunakan.

Topik
• Cara menggunakan opsi baris perintah (p. 48)
• AWS CLIopsi baris perintah global yang didukung (p. 49)
• Penggunaan opsi baris perintah (p. 50)

Cara menggunakan opsi baris perintah


Sebagian besar opsi baris perintah adalah string sederhana, seperti nama profilprofile1pada contoh
berikut:

$ aws s3 ls --profile profile1


example-bucket-1
example-bucket-2

48
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
AWS CLIopsi baris perintah global yang didukung

...

Setiap opsi yang mengambil argumen membutuhkan spasi atau sama dengan tanda (=) memisahkan
argumen dari nama pilihan. Jika nilai argumen adalah string yang berisi spasi, Anda harus menggunakan
tanda kutip di sekitar argumen. Untuk rincian tentang jenis argumen dan format untuk parameter,
lihatMenentukan nilai parameter untukAWS CLI (p. 76).

AWS CLIopsi baris perintah global yang didukung


DiAWS CLIAnda dapat menggunakan opsi baris perintah berikut untuk menimpa pengaturan konfigurasi
default, pengaturan profil yang sesuai, atau pengaturan variabel lingkungan untuk perintah tunggal itu.

—ca-bundel<string>

Menentukan sertifikat otoritas sertifikat (CA) untuk digunakan saat memverifikasi sertifikat SSL.

Jika didefinisikan, opsi ini mengganti nilai untuk pengaturan


profilca_bundle (p. 35)danAWS_CA_Bundle (p. 45)variabel lingkungan.
—cli-connect-timeout <integer>

Menentukan maksimum socket menghubungkan waktu dalam hitungan detik. Jika nilai diatur ke nol
(0), soket terhubung menunggu tanpa batas waktu (memblokir) dan tidak batas waktu.
—cli-read-timeout <integer>

Menentukan waktu baca soket maksimum dalam hitungan detik. Jika nilai diatur ke nol (0) soket
membaca menunggu tanpa batas waktu (memblokir) dan tidak batas waktu.
—warna<string>

Menentukan dukungan untuk output warna. Nilai yang valid adalah on, off, dan auto. Nilai default-
nya adalah auto.
—debug

Sebuah saklar Boolean yang memungkinkan pencatatan debug. ParameterAWS CLIsecara default
menyediakan dibersihkan informasi mengenai keberhasilan atau kegagalan mengenai hasil perintah
dalam output perintah. Parameter--debugpilihan menyediakan log Python penuh. Ini termasuk
tambahanstderrinformasi diagnostik tentang pengoperasian perintah yang dapat berguna saat
memecahkan masalah mengapa perintah memberikan hasil yang tidak terduga. Untuk melihat log
debug dengan mudah, kami sarankan mengirim log ke file untuk lebih mudah mencari informasi. Anda
dapat melakukan ini dengan cara berikut.

Untuk dikirimicumasangstderrinformasi diagnostik, menambahkan2> debug.txtdi


manadebug.txtadalah nama yang ingin Anda gunakan untuk file debug Anda:

$ aws servicename commandname options --debug 2> debug.txt

Untuk dikirimikedua-duanyaoutput danstderrinformasi diagnostik, menambahkan&> debug.txtdi


manadebug.txtadalah nama yang ingin Anda gunakan untuk file debug Anda:

$ aws servicename commandname options --debug &> debug.txt

—endpoint-url<string>

Menentukan URL untuk dikirimi request. Untuk sebagian besar perintah,AWS CLIsecara otomatis
menentukan URL berdasarkan layanan yang dipilih dan ditentukanAWSWilayah. Namun, beberapa
perintah mengharuskan Anda menentukan URL khusus akun. Anda juga dapat mengonfigurasi

49
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Penggunaan opsi baris perintah

beberapaAWSlayanan kehost endpoint langsung dalam VPC pribadi Anda, yang kemudian mungkin
perlu ditentukan.

Untuk daftar titik akhir layanan standar yang tersedia di setiap Wilayah, lihatAWSWilayah dan Titik
AkhirdiReferensi Umum Amazon Web Services.
--no-cli-pager

Sebuah saklar Boolean yang menonaktifkan menggunakan pager untuk output dari perintah.
—no-paginate

Sebuah saklar Boolean yang menonaktifkan beberapa panggilan secara otomatisAWS CLImembuat
untuk menerima semua hasil perintah yang menciptakan pagination output. Ini berarti hanya halaman
pertama output Anda yang ditampilkan.
--no-sign-request

Saklar Boolean yang menonaktifkan penandatanganan permintaan HTTP keAWStitik akhir layanan.
Hal ini mencegah kredensi dimuat.
—output<string>

Menentukan format output yang digunakan untuk perintah ini. Anda dapat menentukan nilai berikut:
• json (p. 91)- Output diformat sebagaiJSONtali.
• text (p. 92)- Output diformat sebagai beberapa baris nilai string yang dipisahkan tab. Hal ini
dapat berguna untuk lulus output ke prosesor teks, sepertigrep,sed, atauawk.
• table (p. 95)- Output diformat sebagai tabel menggunakan karakter +|- untuk membentuk batas
sel. Ini biasanya menyajikan informasi dalam format “ramah-manusia” yang jauh lebih mudah dibaca
daripada yang lain, tetapi tidak sebagai pemrograman berguna.
—profile<string>

Menentukanprofil bernama (p. 42)untuk digunakan untuk perintah ini. Untuk mengatur profil
bernama tambahan, Anda dapat menggunakanaws configureperintah dengan--profilepilihan.

$ aws configure --profile <profilename>

—query<string>

MenentukanKueri jmesPathuntuk digunakan dalam penyaringan data respon. Untuk informasi


selengkapnya, lihat PenyaringanAWS CLIkeluaran (p. 97).
—wilayah<string>

Menentukan yangAWSWilayah untuk mengirim perintah iniAWSrequest. Untuk daftar semua Wilayah
yang dapat Anda tentukan, lihatAWSWilayah dan Titik AkhirdiReferensi Umum Amazon Web Services.
—version

Sebuah saklar Boolean yang menampilkan versi saatAWS CLIprogram yang sedang berjalan.

Penggunaan opsi baris perintah


Penggunaan umum untuk opsi baris perintah termasuk memeriksa sumber daya Anda dalam
beberapaAWSDaerah, dan mengubah format output untuk keterbacaan atau kemudahan penggunaan saat
scripting. Dalam contoh berikut, kita menjalankanmenjelaskan-instancesperintah terhadap setiap Wilayah
sampai kita menemukan wilayah mana instance kita berada.

$ aws ec2 describe-instances --output table --region us-west-1

50
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Command selesai

-------------------
|DescribeInstances|
+-----------------+
$ aws ec2 describe-instances --output table --region us-west-2
------------------------------------------------------------------------------
| DescribeInstances |
+----------------------------------------------------------------------------+
|| Reservations ||
|+-------------------------------------+------------------------------------+|
|| OwnerId | 012345678901 ||
|| ReservationId | r-abcdefgh ||
|+-------------------------------------+------------------------------------+|
||| Instances |||
||+------------------------+-----------------------------------------------+||
||| AmiLaunchIndex | 0 |||
||| Architecture | x86_64 |||
...

Command selesai
ParameterAWS Command Line Interface(AWS CLI) termasuk fitur penyelesaian perintah yang kompatibel
dengan bash yang memungkinkan Anda untuk menggunakanTabkunci untuk menyelesaikan perintah yang
dimasukkan sebagian. Pada sebagian besar sistem Anda perlu mengkonfigurasi ini secara manual.

Topik
• Cara kerjanya (p. 51)
• Mengkonfigurasi penyelesaian perintah di Linux atau macOS (p. 52)
• Mengkonfigurasi penyelesaian perintah pada Windows (p. 54)

Cara kerjanya
Ketika Anda memasukkan sebagian perintah, parameter, atau opsi, fitur penyelesaian perintah secara
otomatis melengkapi perintah Anda atau menampilkan daftar perintah yang disarankan. Untuk meminta
penyelesaian perintah, Anda memasukkan sebagian dalam perintah dan tekan tombol penyelesaian, yang
biasanyaTabdi sebagian besar kerang.

Contoh berikut menunjukkan berbagai cara yang dapat Anda gunakan dalam menggunakan penyelesaian
perintah:

• Masukan sebagian perintah dan tekanTabuntuk menampilkan daftar perintah yang disarankan.

$ aws dynamodb dTAB


delete-backup describe-global-table
delete-item describe-global-table-settings
delete-table describe-limits
describe-backup describe-table
describe-continuous-backups describe-table-replica-auto-scaling
describe-contributor-insights describe-time-to-live
describe-endpoints

• Sebagian masukkan parameter dan tekanTabuntuk menampilkan daftar parameter yang disarankan.

$ aws dynamodb delete-table --TAB


--ca-bundle --endpoint-url --profile
--cli-connect-timeout --generate-cli-skeleton --query
--cli-input-json --no-paginate --region

51
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Mengkonfigurasi penyelesaian perintah di Linux atau macOS

--cli-read-timeout --no-sign-request --table-name


--color --no-verify-ssl --version
--debug --output

• Masukkan parameter dan tekanTabuntuk menampilkan daftar nilai sumber daya yang disarankan. Fitur
ini hanya tersedia diAWS CLIversi 2.

$ aws dynamodb db delete-table --table-name TAB


Table 1 Table 2 Table 3

Mengkonfigurasi penyelesaian perintah di Linux atau


macOS
Untuk mengkonfigurasi penyelesaian perintah di Linux atau macOS, Anda harus mengetahui nama shell
yang Anda gunakan dan lokasiaws_completernaskah.
Note

Penyelesaian perintah secara otomatis dikonfigurasi dan diaktifkan secara default pada instans
Amazon EC2 yang menjalankan Amazon Linux.

Topik
• Konfirmasikan folder completer ada di jalur Anda (p. 52)
• Aktifkan penyelesaian perintah (p. 53)
• Verifikasi penyelesaian perintah (p. 54)

Konfirmasikan folder completer ada di jalur Anda


UntukAWScompleter untuk bekerja dengan sukses,aws_completerharus berada di jalur shell Anda.
Parameterwhichperintah dapat memeriksa apakah completer berada di jalan Anda.

$ which aws_completer
/usr/local/bin/aws_completer

Jika perintah yang tidak dapat menemukan completer, maka gunakan langkah-langkah berikut untuk
menambahkan folder completer ke path Anda.

Langkah 1: TemukanAWScompleter
LokasiAWScompleter dapat bervariasi tergantung pada metode instalasi yang digunakan.

• Manajer Paket- Program sepertipip,yum,brew, danapt-getbiasanya menginstalAWScompleter (atau


symlink untuk itu) ke lokasi jalur standar.
• Jika Anda menggunakanpip tanpasang--userparameter, path default adalah/usr/local/bin/
aws_completer.
• Jika Anda menggunakanpip bersamasang--userparameter path default/
home/username/.local/bin/aws_completer.
• Instal yang Dibundel- Jika Anda menggunakan installer yang dibundel, jalur default adalah/usr/local/
bin/aws_completer.

Jika semuanya gagal, Anda dapat menggunakanfindperintah untuk mencari sistem file Anda
untukAWSkompleter.

52
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Mengkonfigurasi penyelesaian perintah di Linux atau macOS

$ find / -name aws_completer


/usr/local/bin/aws_completer

Langkah 2: Identifikasi shell Anda


Untuk mengidentifikasi shell mana yang Anda gunakan, Anda dapat menggunakan salah satu dari perintah
berikut.

• echo $ SHELL- Menampilkan nama file program shell. Ini biasanya cocok dengan nama shell yang
digunakan, kecuali jika Anda meluncurkan shell yang berbeda setelah masuk.

$ echo $SHELL
/bin/bash

• ps- Menampilkan proses yang berjalan untuk pengguna saat ini. Salah satunya adalah cangkangnya.

$ ps
PID TTY TIME CMD
2148 pts/1 00:00:00 bash
8756 pts/1 00:00:00 ps

Langkah 3: Tambahkan completer ke path Anda


1. Temukan penulisan profil shell Anda di folder pengguna Anda.

$ ls -a ~/
. .. .bash_logout .bash_profile .bashrc Desktop Documents Downloads

• Bash—.bash_profile,.profile, atau.bash_login
• Zsh—.zshrc
• Tcsh—.tcshrc,.cshrc, atau.login
2. Tambahkan perintah ekspor di akhir skrip profil Anda yang mirip dengan contoh berikut. Ganti/usr/
local/bin/dengan folder yang Anda temukan di bagian sebelumnya.

export PATH=/usr/local/bin/:$PATH

3. Muat ulang profil ke sesi saat ini untuk menerapkan perubahan tersebut. Ganti.bash_profiledengan
nama skrip shell yang Anda temukan di bagian pertama.

$ source ~/.bash_profile

Aktifkan penyelesaian perintah


Setelah mengonfirmasi completer ada di jalur Anda, aktifkan penyelesaian perintah dengan menjalankan
perintah yang sesuai untuk shell yang Anda gunakan. Anda dapat menambahkan perintah ke profil
shell Anda untuk menjalankannya setiap kali Anda membuka shell baru. Di setiap perintah, ganti/usr/
local/bin/path dengan yang ditemukan pada sistem Anda diKonfirmasikan folder completer ada di jalur
Anda (p. 52).

• bash— Gunakan perintah bawaancomplete.

$ complete -C '/usr/local/bin/aws_completer' aws

53
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Mengkonfigurasi penyelesaian perintah pada Windows

Tambahkan perintah sebelumnya ke~/.bashrcuntuk menjalankannya setiap kali Anda membuka


shell baru. Klaster~/.bash_profileharus sumber~/.bashrcuntuk memastikan bahwa perintah juga
dijalankan di shell login.
• zsh— Untuk menjalankan penyelesaian perintah, Anda perlu menjalankanbashcompinitdengan
menambahkan baris autoload berikut di akhir~/.zshrcskrip profil.

$ autoload bashcompinit && bashcompinit


$ autoload -Uz compinit && compinit

Untuk mengaktifkan penyelesaian perintah, gunakan perintah bawaancomplete.

$ complete -C '/usr/local/bin/aws_completer' aws

Tambahkan perintah sebelumnya ke~/.zshrcuntuk menjalankannya setiap kali Anda membuka shell
baru.
• tcsh— Lengkap untuktcshmengambil jenis kata dan pola untuk menentukan perilaku penyelesaian.

> complete aws 'p/*/`aws_completer`/'

Tambahkan perintah sebelumnya ke~/.tschrcuntuk menjalankannya setiap kali Anda membuka shell
baru.

Setelah Anda mengaktifkan penyelesaian perintah,Verifikasi penyelesaian perintah (p. 54)bekerja.

Verifikasi penyelesaian perintah


Setelah mengaktifkan penyelesaian perintah, muat ulang shell Anda, masukkan perintah partial, dan
tekanTabuntuk melihat perintah yang tersedia.

$ aws sTAB
s3 ses sqs sts swf
s3api sns storagegateway support

Mengkonfigurasi penyelesaian perintah pada Windows


Note

Untuk informasi tentang bagaimanaPowerShellmenangani penyelesaian mereka, termasuk


berbagai kunci penyelesaian mereka, lihatAbout_TAB_EkspansidiMicrosoftPowerShellDokumen.

Untuk mengaktifkan penyelesaian perintahPowerShellpada Windows, selesaikan langkah-langkah


berikutPowerShell.

1. Membuka Anda$PROFILEdengan perintah berikut.

PS C:\> Notepad $PROFILE

Jika Anda tidak memiliki$PROFILE, buat profil pengguna menggunakan perintah berikut.

PS C:\> if (!(Test-Path -Path $PROFILE ))


{ New-Item -Type File -Path $PROFILE -Force }

54
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Percobaan ulang

Untuk informasi lebih lanjut tentangPowerShellprofil, lihatCara Menggunakan Profil di


WindowsPowerShellISEpadaMicrosoft Docssitus web.
2. Untuk mengaktifkan penyelesaian perintah, tambahkan blok kode berikut ke profil Anda, simpan, dan
kemudian tutup file.

Register-ArgumentCompleter -Native -CommandName aws -ScriptBlock {


param($commandName, $wordToComplete, $cursorPosition)
$env:COMP_LINE=$wordToComplete
$env:COMP_POINT=$cursorPosition
aws_completer.exe | ForEach-Object {
[System.Management.Automation.CompletionResult]::new($_, $_,
'ParameterValue', $_)
}
Remove-Item Env:\COMP_LINE
Remove-Item Env:\COMP_POINT
}

3. Setelah mengaktifkan penyelesaian perintah, muat ulang shell Anda, masukkan perintah partial, dan
tekanTabuntuk siklus melalui perintah yang tersedia.

$ aws sTab

$ aws s3

Untuk melihat semua perintah yang tersedia untuk penyelesaian Anda, masukkan perintah partial dan
tekanCtrl+Spasi.

$ aws sCtrl + Space


s3 ses sqs sts swf
s3api sns storagegateway support

AWS CLIpercobaan ulang


Topik ini menjelaskan bagaimanaAWS CLImungkin melihat panggilan keAWSlayanan gagal karena
masalah tak terduga. Masalah ini dapat terjadi di sisi server atau mungkin gagal karena tingkat membatasi
dariAWSlayanan Anda mencoba untuk menelepon. Jenis-jenis kegagalan biasanya tidak memerlukan
penanganan khusus dan panggilan secara otomatis dibuat lagi, sering setelah masa tunggu singkat.
ParameterAWS CLImenyediakan banyak fitur untuk membantu dalam mencoba kembali panggilan klien
keAWSlayanan ketika jenis kesalahan atau pengecualian dialami.

Topik
• Mode coba lagi yang tersedia (p. 55)
• Mengkonfigurasi mode coba ulang (p. 57)
• Melihat log upaya coba lagi (p. 58)

Mode coba lagi yang tersedia


ParameterAWS CLImemiliki beberapa mode untuk dipilih tergantung pada versi Anda:
• Mode coba lagi warisan (p. 56)
• Mode coba lagi standar (p. 56)

55
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Mode coba lagi yang tersedia

• Mode coba lagi adaptif (p. 57)

Mode coba lagi warisan


Mode Legacy adalah mode default yang digunakan olehAWS CLIversi 1.Mode Legacy menggunakan
penangan coba ulang yang lebih tua yang memiliki fungsionalitas terbatas yang meliputi:

• Nilai default 4 untuk upaya coba ulang maksimum, membuat total 5 upaya panggilan. Nilai ini dapat
ditimpa melaluimax_attemptsparameter konfigurasi
• DynamoDB memiliki nilai default 9 untuk upaya coba ulang maksimum, membuat total 10 upaya
panggilan. Nilai ini dapat ditimpa melaluimax_attemptsparameter konfigurasi
• Coba lagi upaya untuk jumlah kesalahan terbatas/pengecualian berikut:
• Kesalahan soket/koneksi umum:
• ConnectionError
• ConnectionClosedError
• ReadTimeoutError
• EndpointConnectionError
• Service-side throttling/limit error dan pengecualian:
• Throttling
• ThrottlingException
• ThrottledException
• RequestThrottledException
• ProvisionedThroughputExceededException
• Coba lagi upaya beberapa kode status HTTP, termasuk 429, 502, 502, 504, 504, 504, 504, 504, 504, 504
• Setiap upaya coba ulang akan mencakup backoff eksponensial dengan faktor dasar 2.

Mode coba lagi standar


Mode standar adalah seperangkat aturan coba ulang standar di seluruhAWSSDK dengan fungsionalitas
lebih dari warisan. Mode standar dibuat untukAWS CLIversi 2 dan backported keAWS CLIversi 1. Fungsi
mode standar meliputi:

• Nilai default 2 untuk upaya coba ulang maksimum, membuat total 3 upaya panggilan. Nilai ini dapat
ditimpa melaluimax_attemptsparameter konfigurasi
• Coba lagi upaya untuk daftar yang diperluas berikut kesalahan/pengecualian:
• Kesalahan transien/pengecualian
• RequestTimeout
• RequestTimeoutException
• PriorRequestNotComplete
• ConnectionError
• HTTPClientError
• Service-side throttling/limit error dan pengecualian:
• Throttling
• ThrottlingException
• ThrottledException
• RequestThrottledException
• TooManyRequestsException
• ProvisionedThroughputExceededException

56
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Mengkonfigurasi mode coba ulang

• TransactionInProgressException
• RequestLimitExceeded
• BandwidthLimitExceeded
• LimitExceededException
• RequestThrottled
• SlowDown
• EC2ThrottledException

• Coba lagi upaya nondeskriptif, kode kesalahan sementara. Secara khusus, kode status HTTP ini: 500,
502, 503, 504.
• Setiap upaya coba ulang akan mencakup backoff eksponensial dengan faktor dasar 2 untuk waktu
backoff maksimum 20 detik.

Mode coba lagi adaptif


Warning

Mode adaptif adalah mode eksperimental dan dapat berubah, baik dalam fitur maupun perilaku.

Mode coba ulang adaptif adalah mode coba ulang eksperimental yang mencakup semua fitur mode
standar. Selain fitur mode standar, mode adaptif juga memperkenalkan tingkat sisi klien yang membatasi
melalui penggunaan bucket token dan variabel rate-limit yang diperbarui secara dinamis dengan setiap
upaya coba lagi. Mode ini menawarkan fleksibilitas dalam retries sisi klien yang menyesuaikan dengan
kesalahan/tanggapan status pengecualian dariAWSlayanan.

Dengan setiap upaya coba ulang baru, mode adaptif memodifikasi variabel rate-limit berdasarkan
kesalahan, pengecualian, atau kode status HTTP yang disajikan dalam respons dariAWSlayanan. Variabel
tingkat-batas ini kemudian digunakan untuk menghitung tingkat panggilan baru untuk klien. Setiap
pengecualian/kesalahan atau respon HTTP non-sukses (disediakan dalam daftar di atas) dariAWSlayanan
update variabel rate-limit sebagai percobaan ulang terjadi sampai keberhasilan tercapai, ember token
habis, atau nilai upaya maksimum dikonfigurasi tercapai.

Mengkonfigurasi mode coba ulang


ParameterAWS CLImencakup berbagai konfigurasi coba ulang serta metode konfigurasi yang perlu
dipertimbangkan saat membuat objek klien Anda.

Metode konfigurasi yang tersedia


DiAWS CLI, pengguna dapat mengkonfigurasi percobaan ulang dengan cara berikut:

• Variabel lingkungan
• AWS CLIfile konfigurasi

Pengguna dapat menyesuaikan opsi coba lagi berikut:

• Coba lagi modus - Menentukan modus coba lagiAWS CLImenggunakan. Seperti dijelaskan sebelumnya,
ada tiga mode coba lagi yang tersedia: warisan, standar, dan adaptif. Nilai default untukAWS CLIversi 1
adalah warisan.
• Max upaya - Menentukan nilai upaya coba ulang maksimumAWS CLIcoba lagi handler menggunakan, di
mana panggilan awal dihitung terhadap nilai yang Anda berikan. Nilai defaultnya adalah 5.

57
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Melihat log upaya coba lagi

Mendefinisikan konfigurasi coba ulang dalam variabel lingkungan


Anda
Untuk menentukan konfigurasi coba ulang Anda untukAWS CLI, perbarui variabel lingkungan sistem
operasi Anda.

Variabel lingkungan coba lagi adalah:

• AWS_RETRY_MODE
• AWS_MAX_ATTEMPTS

Untuk informasi selengkapnya tentang variabel lingkungan, lihatvariabel lingkungan untuk


mengkonfigurasiAWS CLI (p. 44).

Melihat log upaya coba lagi


ParameterAWS CLImenggunakan metodologi dan penebangan kembali Boto3. Anda dapat
menggunakan--debugpilihan pada perintah apapun untuk menerima log debug. Untuk informasi lebih
lanjut tentang cara menggunakan--debugpilihan, lihatOpsi baris perintah (p. 48).

Jika Anda mencari “coba lagi” di log debug Anda, Anda akan menemukan informasi coba lagi yang Anda
butuhkan. Entri log klien untuk mencoba coba ulang bergantung pada mode coba ulang yang telah Anda
aktifkan.

Mode warisan:

Coba lagi pesan yang dihasilkan oleh botocore.retryhandler. Anda akan melihat salah satu dari tiga pesan:

• No retry needed
• Retry needed, action of: <action_name>
• Reached the maximum number of retry attempts: <attempt_number>

Mode standar atau adaptif:

Coba lagi pesan yang dihasilkan oleh botocore.retries.standard. Anda akan melihat salah satu dari tiga
pesan:

• No retrying request
• Retry needed, retrying request after delay of: <delay_value>
• Retry needed but retry quota reached, not retrying request

Untuk file definisi lengkap dari botocore retries, lihat_retry.jsonpadabotocoreGitHubRepositori.

Sourcing kredensyal dengan proses eksternal


Warning

Topik ini membahas sumber kredensyal dari proses eksternal. Ini bisa menjadi risiko keamanan
jika perintah untuk menghasilkan kredensyal menjadi dapat diakses oleh proses atau pengguna
yang tidak disetujui. Sebaiknya Anda menggunakan alternatif yang didukung dan aman yang
disediakan olehAWS CLIdanAWSuntuk mengurangi risiko mengorbankan kredensyal Anda.
Pastikan bahwa Anda mengamankanconfigfile dan file pendukung dan alat untuk mencegah
pengungkapan.

58
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Kredenal eksternal

Pastikan bahwa alat kredensi kustom Anda tidak menulis informasi rahasia apa pun
keStdErrkarena SDK danAWS CLIdapat menangkap dan mencatat informasi tersebut,
berpotensi mengekspos ke pengguna yang tidak sah.

Jika Anda memiliki metode untuk menghasilkan atau mencari kredenal yang tidak didukung secara
langsung olehAWS CLI, Anda dapat mengkonfigurasiAWS CLIuntuk menggunakannya dengan
mengkonfigurasicredential_processpengaturan diconfigberkas.

Misalnya, Anda dapat menyertakan entri yang mirip dengan yang berikut ini dalamconfigberkas.

[profile developer]
credential_process = /opt/bin/awscreds-custom --username helen

Sintaksis

Untuk membuat string ini dengan cara yang kompatibel dengan sistem operasi apa pun, ikuti aturan ini:

• Jika nama path atau file berisi spasi, surround path lengkap dan nama file dengan tanda kutip ganda (” “).
Jalur dan nama file dapat terdiri dari hanya karakter: A-Z a-z 0-9 - _. ruang
• Jika nama parameter atau nilai parameter berisi spasi, mengelilingi elemen dengan tanda kutip ganda (”
“). Mengelilingi hanya nama atau nilai, bukan pasangan.
• Jangan sertakan variabel lingkungan apa pun dalam string. Misalnya, Anda tidak dapat
menyertakan$HOMEatau%USERPROFILE%.
• Jangan tentukan folder home sebagai~. Anda harus menentukan path lengkap.

Contoh untuk Windows

credential_process = "C:\Path\To\credentials.cmd" parameterWithoutSpaces "parameter with


spaces"

Contoh untuk Linux atau macOS

credential_process = "/Users/Dave/path/to/credentials.sh" parameterWithoutSpaces "parameter


with spaces"

Output yang diharapkan dari program Kredensyal

ParameterAWS CLImenjalankan perintah seperti yang ditentukan dalam profil dan kemudian membaca
data dariSTDOUT. Perintah yang Anda tentukan harus menghasilkan output JSONSTDOUTyang cocok
dengan sintaksis berikut.

{
"Version": 1,
"AccessKeyId": "an AWS access key",
"SecretAccessKey": "your AWS secret access key",
"SessionToken": "the AWS session token for temporary credentials",
"Expiration": "ISO8601 timestamp when the credentials expire"
}

Note

Pada tulisan ini,Versionkunci harus diatur ke1. Hal ini mungkin kenaikan dari waktu ke waktu
sebagai struktur berkembang.

ParameterExpirationkunci adalahISO8601stempel waktu yang diformat. JikaExpirationkunci tidak


hadir dalam output alat, CLI mengasumsikan bahwa kredensyal adalah kredensyal jangka panjang yang

59
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Menggunakan kredenal untuk
metadata instans Amazon EC2
tidak menyegarkan. Jika tidak, kredensi dianggap kredensi sementara dan disegarkan secara otomatis
dengan menghidupkan kembalicredential_processperintah sebelum mereka kedaluwarsa.
Note

ParameterAWS CLImelakukantidakCache kredensyal proses eksternal cara mengasumsikan


kredensial-peran. Jika caching diperlukan, Anda harus menerapkannya dalam proses eksternal.

Proses eksternal dapat mengembalikan kode pengembalian bukan nol untuk menunjukkan bahwa
kesalahan terjadi saat mengambil kredensialnya.

Menggunakan kredenal untuk metadata instans


Amazon EC2
Ketika Anda menjalankanAWS CLIdari instans Amazon Elastic Compute Cloud (Amazon EC2), Anda
dapat menyederhanakan penyediaan kredenal ke perintah Anda. Setiap instans Amazon EC2 berisi
metadataAWS CLIdapat langsung query untuk kredensi sementara. Ketika peran IAM dilampirkan ke
instance,AWS CLImengambil kredensial secara otomatis dan aman dari metadata instans.

Untuk menonaktifkan layanan ini, gunakanAWS_EC2_METADATA_DISABLED (p. 46)Variabel


Lingkungan.

Topik
• Prasyarat (p. 60)
• Mengkonfigurasi profil untuk metadata Amazon EC2 (p. 60)

Prasyarat
Menggunakan kredenal Amazon EC2 denganAWS CLI, Anda harus menyelesaikan hal berikut:

• Instal dan konfigurasikan AWS CLI. Untuk informasi selengkapnya, lihat Menginstal AWS CLI (p. 5) dan
Dasar-dasar konfigurasi (p. 28).
• Anda memahami file konfigurasi dan profil bernama. Untuk informasi selengkapnya, lihat Pengaturan
konfigurasi dan file kredenensial (p. 31) dan Profil bernama untukAWS CLI (p. 42).
• Anda telah membuatAWS Identity and Access Management(IAM) yang memiliki akses ke sumber daya
yang diperlukan, dan melampirkan peran tersebut ke instans Amazon EC2 ketika Anda meluncurkannya.
Untuk informasi selengkapnya, lihatKebijakan IAM untuk Amazon EC2diPanduan Pengguna Amazon
EC2 untuk Instans LinuxdanMemberikan Aplikasi yang Berjalan di Instans Amazon EC2 Akses
keAWSSumber DayadiPanduan Pengguna IAM.

Mengkonfigurasi profil untuk metadata Amazon EC2


Untuk menentukan bahwa Anda ingin menggunakan kredensyal yang tersedia di profil instans Amazon
EC2 hosting, gunakan sintaks berikut di profil bernama dalam file konfigurasi Anda. Lihat langkah-langkah
berikut untuk petunjuk lebih lanjut.

[profile profilename]
role_arn = arn:aws:iam::123456789012:role/rolename
credential_source = Ec2InstanceMetadata
region = region

1. Buat profil di file konfigurasi Anda.

60
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Menggunakan proxy HTTP

[profile profilename]

2. Tambahkan peran IAM arn Anda yang memiliki akses ke sumber daya yang dibutuhkan.

role_arn = arn:aws:iam::123456789012:role/rolename

3. MenentukanEc2InstanceMetadatasebagai sumber kredensialmu.

credential_source = Ec2InstanceMetadata

4. Atur wilayah Anda.

region = region

Contoh

Contoh berikut mengasumsikanmarketingadminroleperan dan menggunakanus-west-2wilayah di


profil instans Amazon EC2 bernamamarketingadmin.

[profile marketingadmin]
role_arn = arn:aws:iam::123456789012:role/marketingadminrole
credential_source = Ec2InstanceMetadata
region = us-west-2

Menggunakan proxy HTTP


Untuk mengaksesAWSmelalui server proxy, Anda dapat
mengkonfigurasiHTTP_PROXYdanHTTPS_PROXYvariabel lingkungan dengan nama domain DNS atau
alamat IP dan nomor port yang digunakan server proxy Anda.

Topik
• Menggunakan contoh (p. 61)
• Mengotentikasi ke sebuah proksi (p. 62)
• Menggunakan proksi di instans Amazon EC2 (p. 63)

Menggunakan contoh
Note

Contoh berikut menunjukkan nama variabel lingkungan di semua huruf besar. Namun, jika Anda
menentukan variabel dua kali menggunakan kasus yang berbeda, huruf kecil lebih diutamakan.
Sebaiknya Anda mendefinisikan setiap variabel hanya sekali untuk menghindari kebingungan
sistem dan perilaku tak terduga.

Contoh berikut menunjukkan bagaimana Anda dapat menggunakan alamat IP eksplisit proxy atau nama
DNS yang menyelesaikan ke alamat IP proxy Anda. Entah dapat diikuti oleh titik dua dan nomor port yang
query harus dikirim.

Linux or macOS

$ export HTTP_PROXY=http://10.15.20.25:1234

61
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Mengotentikasi ke sebuah proksi

$ export HTTP_PROXY=http://proxy.example.com:1234
$ export HTTPS_PROXY=http://10.15.20.25:5678
$ export HTTPS_PROXY=http://proxy.example.com:5678

Windows Command Prompt

Untuk mengatur semua sesi

C:\> setx HTTP_PROXY http://10.15.20.25:1234


C:\> setx HTTP_PROXY http://proxy.example.com:1234
C:\> setx HTTPS_PROXY http://10.15.20.25:5678
C:\> setx HTTPS_PROXY http://proxy.example.com:5678

Menggunakansetxuntuk mengatur variabel lingkungan mengubah nilai yang digunakan di kedua


sesi prompt perintah saat ini dan semua sesi prompt perintah yang Anda buat setelah menjalankan
perintah. Itutidakmempengaruhi shell perintah lainnya yang sudah berjalan pada saat Anda
menjalankan perintah.

Untuk menetapkan sesi saat ini saja

Menggunakansetuntuk mengatur variabel lingkungan mengubah nilai yang digunakan sampai akhir
sesi prompt perintah saat ini, atau sampai Anda mengatur variabel untuk nilai yang berbeda.

C:\> set HTTP_PROXY=http://10.15.20.25:1234


C:\> set HTTP_PROXY=http://proxy.example.com:1234
C:\> set HTTPS_PROXY=http://10.15.20.25:5678
C:\> set HTTPS_PROXY=http://proxy.example.com:5678

Mengotentikasi ke sebuah proksi


Note

ParameterAWS CLItidak mendukung proxy NTLM. Jika Anda menggunakan proxy protokol NTLM
atau Kerberos, Anda mungkin dapat terhubung melalui proxy otentikasi sepertiCntlm.

ParameterAWS CLImendukung otentikasi HTTP Basic. Tentukan nama pengguna dan kata sandi di URL
proxy, sebagai berikut.

Linux or macOS

$ export HTTP_PROXY=http://username:password@proxy.example.com:1234
$ export HTTPS_PROXY=http://username:password@proxy.example.com:5678

Windows Command Prompt

Untuk mengatur semua sesi

C:\> setx HTTP_PROXY http://username:password@proxy.example.com:1234


C:\> setx HTTPS_PROXY http://username:password@proxy.example.com:5678

Untuk menetapkan sesi saat ini saja

C:\> set HTTP_PROXY=http://username:password@proxy.example.com:1234


C:\> set HTTPS_PROXY=http://username:password@proxy.example.com:5678

62
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Menggunakan proksi di instans Amazon EC2

Menggunakan proksi di instans Amazon EC2


Jika Anda mengkonfigurasi proxy pada instans Amazon EC2 yang diluncurkan dengan peran IAM
terlampir, pastikan Anda membebaskan alamat yang digunakan untuk mengaksesmetadata instans.
Untuk melakukan ini, tetapkanNO_PROXYvariabel lingkungan ke alamat IP dari layanan metadata instans,
169.254. Alamat ini tidak berbeda.

Linux or macOS

$ export NO_PROXY=169.254.169.254

Windows Command Prompt

Untuk mengatur semua sesi

C:\> setx NO_PROXY 169.254.169.254

Untuk menetapkan sesi saat ini saja

C:\> set NO_PROXY=169.254.169.254

Menggunakan peran IAM dalamAWS CLI


SesiAWS Identity and Access Management(IAM) peranadalah alat otorisasi yang memungkinkan
pengguna IAM mendapatkan izin tambahan (atau berbeda), atau mendapatkan izin untuk melakukan
tindakan yang berbedaAWSakun.

Topik
• Prasyarat (p. 63)
• Ikhtisar menggunakan peran IAM (p. 63)
• Mengkonfigurasi dan menggunakan peran (p. 64)
• Menggunakan autentikasi multi-faktor (p. 66)
• Peran lintas akun dan ID eksternal (p. 67)
• Menentukan nama sesi peran untuk audit yang lebih mudah (p. 67)
• Asumsikan peran dengan identitas web (p. 68)
• Kliring kredensi cache (p. 69)

Prasyarat
Menjalankaniamperintah, Anda perlu menginstal dan mengonfigurasiAWS CLI. Untuk informasi
selengkapnya, lihat Menginstal AWS CLI (p. 5).

Ikhtisar menggunakan peran IAM


Anda dapat mengonfigurasiAWS Command Line Interface(AWS CLI) untuk menggunakan peran IAM
dengan mendefinisikan profil untuk peran dalam~/.aws/configberkas.

Contoh berikut menunjukkan profil peran bernamamarketingadmin. Jika Anda


menjalankan perintah dengan--profile marketingadmin(atau tentukan denganVariabel
lingkungan AWS_PROFILE (p. 44)),AWS CLImenggunakan kredensi yang didefinisikan

63
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Mengkonfigurasi dan menggunakan peran

dalam profil terpisahuser1untuk mengambil peran dengan Amazon Resource Name


(ARN)arn:aws:iam::123456789012:role/marketingadminrole. Anda dapat menjalankan operasi
apa pun yang diizinkan oleh izin yang ditetapkan ke peran tersebut.

[profile marketingadmin]
role_arn = arn:aws:iam::123456789012:role/marketingadminrole
source_profile = user1

Anda kemudian dapat menentukansource_profileyang menunjuk ke profil bernama terpisah


yang berisi kredensi pengguna IAM dengan izin untuk menggunakan peran tersebut. Pada contoh
sebelumnya,marketingadminprofil menggunakan kredensi diuser1profil. Ketika Anda menentukan
bahwaAWS CLIperintah adalah dengan menggunakan profilmarketingadmin, yangAWS CLIsecara
otomatis mendongak kredensi untuk yang ditautkanuser1profil dan menggunakannya untuk meminta
kredensi sementara untuk peran IAM yang ditentukan. CLI menggunakanSTS:AssumeRoleoperasi di latar
belakang untuk mencapai hal ini. Kredensi sementara tersebut kemudian digunakan untuk menjalankan
yang dimintaAWS CLIperintah. Peran yang ditentukan harus dilampirkan kebijakan izin IAM yang
memungkinkan dimintaAWS CLIperintah yang akan dijalankan.

MenjalankanAWS CLIperintah dari instans Amazon Elastic Compute Cloud (Amazon EC2) atau kontainer
Amazon Elastic Container Service (Amazon ECS), Anda dapat menggunakan peran IAM yang dilampirkan
ke profil instans atau kontainer. Jika Anda menentukan tidak ada profil atau mengatur tidak ada variabel
lingkungan, peran yang digunakan secara langsung. Hal ini memungkinkan Anda untuk menghindari
menyimpan kunci akses berumur panjang pada instans Anda. Anda juga dapat menggunakan peran
instans atau kontainer tersebut hanya untuk mendapatkan kredensi untuk peran lain. Untuk melakukannya,
Anda menggunakancredential_source(Alih-alihsource_profile) untuk menentukan bagaimana
menemukan kredensialnya. Parametercredential_sourceatribut mendukung nilai-nilai berikut:

• Environment— Mengambil kredenal sumber dari variabel lingkungan.


• Ec2InstanceMetadata— Menggunakan peran IAM yang dilampirkan ke profil instans Amazon EC2.
• EcsContainer— Menggunakan peran IAM yang melekat pada kontainer Amazon ECS.

Contoh berikut menunjukkan hal yang samamarketingadminroleperan yang digunakan dengan


referensi profil instans Amazon EC2.

[profile marketingadmin]
role_arn = arn:aws:iam::123456789012:role/marketingadminrole
credential_source = Ec2InstanceMetadata

Ketika Anda memanggil peran, Anda memiliki opsi tambahan yang dapat Anda butuhkan, seperti
penggunaan autentikasi multi-faktor dan ID Eksternal (digunakan oleh perusahaan pihak ketiga untuk
mengakses sumber daya klien mereka). Anda juga dapat menentukan nama sesi peran unik yang dapat
lebih mudah diauditAWS CloudTraillog.

Mengkonfigurasi dan menggunakan peran


Ketika Anda menjalankan perintah menggunakan profil yang menentukan peran IAM,AWS
CLImenggunakan kredensi profil sumber untuk meneleponAWS Security Token Service(AWS STS) dan
meminta kredensi sementara untuk peran yang ditentukan. Pengguna di profil sumber harus memiliki
izin untuk meneleponsts:assume-roleuntuk peran dalam profil yang ditentukan. Peran harus memiliki
hubungan kepercayaan yang memungkinkan pengguna dalam profil sumber untuk menggunakan peran
tersebut. Proses pengambilan dan kemudian menggunakan kredensi sementara untuk peran sering disebut
sebagaidengan asumsi peran.

Anda dapat membuat peran dalam IAM dengan izin yang ingin pengguna asumsikan dengan mengikuti
prosedur di bawahMembuat Peran untuk Mendelegasikan Izin kepada Pengguna IAMdiAWS Identity and

64
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Mengkonfigurasi dan menggunakan peran

Access ManagementPanduan Pengguna. Jika peran dan pengguna IAM profil sumber berada di akun yang
sama, Anda dapat memasukkan ID akun Anda sendiri saat mengonfigurasi hubungan kepercayaan peran.

Setelah membuat peran, modifikasi hubungan kepercayaan untuk memungkinkan pengguna IAM (atau
pengguna diAWSakun) untuk mengasumsikan itu.

Contoh berikut menunjukkan kebijakan kepercayaan yang dapat Anda lampirkan pada sebuah
peran. Kebijakan ini memungkinkan peran diasumsikan oleh setiap pengguna IAM di akun
123456789012,jikaadministrator akun itu secara eksplisit memberikansts:assumeroleizin kepada
pengguna.

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::123456789012:root"
},
"Action": "sts:AssumeRole"
}
]
}

Kebijakan kepercayaan sebenarnya tidak memberikan izin. Administrator akun harus mendelegasikan
izin untuk mengambil peran tersebut kepada pengguna individual dengan melampirkan kebijakan dengan
izin yang sesuai. Contoh berikut menunjukkan kebijakan yang dapat dilampirkan ke pengguna IAM
yang mengizinkan pengguna mengasumsikan hanyamarketingadminroleperan. Untuk informasi
selengkapnya tentang pemberian akses pengguna untuk mengambil peran, lihatMemberikan Izin
Pengguna untuk Beralih PerandiPanduan Pengguna IAM.

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Resource": "arn:aws:iam::123456789012:role/marketingadminrole"
}
]
}

Pengguna IAM tidak perlu memiliki izin tambahan untuk menjalankanAWS CLIperintah menggunakan
profil peran. Sebaliknya, izin untuk menjalankan perintah berasal dari yang melekat padaperan. Anda
melampirkan kebijakan izin ke peran untuk menentukan tindakan mana yang dapat dilakukanAWSsumber
daya. Untuk informasi selengkapnya tentang melampirkan izin ke peran (yang berfungsi identik dengan
pengguna IAM), lihatMengubah Izin untuk Pengguna IAMdiPanduan Pengguna IAM.

Sekarang setelah Anda memiliki profil peran, izin peran, hubungan kepercayaan peran, dan izin
pengguna yang dikonfigurasi dengan benar, Anda dapat menggunakan peran di baris perintah dengan
menerapkan--profilepilihan. Misalnya, panggilan berikut Amazon S3lsperintah menggunakan izin yang
melekat padamarketingadminperan sebagaimana didefinisikan oleh contoh di awal topik ini.

$ aws s3 ls --profile marketingadmin

Untuk menggunakan peran untuk beberapa panggilan, Anda dapat mengaturAWS_PROFILEvariabel


lingkungan untuk sesi saat ini dari baris perintah. Sementara variabel lingkungan didefinisikan, Anda tidak
perlu menentukan--profilepilihan pada setiap perintah.

65
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Menggunakan MFA

Linux atau macOS

$ export AWS_PROFILE=marketingadmin

Windows

C:\> setx AWS_PROFILE marketingadmin

Untuk informasi selengkapnya tentang mengonfigurasi pengguna dan peran IAM, lihatPengguna dan
GrupdanPerandiPanduan Pengguna IAM.

Menggunakan autentikasi multi-faktor


Untuk keamanan tambahan, Anda dapat meminta pengguna memberikan kunci satu kali yang dihasilkan
dari perangkat autentikasi multi-faktor (MFA), perangkat U2F, atau aplikasi seluler saat mereka mencoba
melakukan panggilan menggunakan profil peran.

Pertama, Anda dapat memilih untuk memodifikasi hubungan kepercayaan pada peran IAM untuk
meminta MFA. Hal ini mencegah siapa pun menggunakan peran tanpa terlebih dahulu otentikasi
dengan menggunakan MFA. Sebagai contoh, lihatConditionbaris dalam contoh berikut. Kebijakan ini
memungkinkan pengguna IAM bernamaanikauntuk menganggap peran kebijakan dilampirkan, tetapi
hanya jika mereka mengotentikasi dengan menggunakan MFA.

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Principal": { "AWS": "arn:aws:iam::123456789012:user/anika" },
"Action": "sts:AssumeRole",
"Condition": { "Bool": { "aws:multifactorAuthPresent": true } }
}
]
}

Selanjutnya, tambahkan baris ke profil peran yang menentukan ARN perangkat MFA pengguna. Sampel
berikutconfigentri file menampilkan dua profil peran yang keduanya menggunakan tombol akses untuk
pengguna IAManikauntuk meminta kredensi sementara untuk perancli-role. Penggunaanikamemiliki
izin untuk mengambil peran, yang diberikan oleh kebijakan kepercayaan peran tersebut.

[profile role-without-mfa]
region = us-west-2
role_arn= arn:aws:iam::128716708097:role/cli-role
source_profile=cli-user

[profile role-with-mfa]
region = us-west-2
role_arn= arn:aws:iam::128716708097:role/cli-role
source_profile = cli-user
mfa_serial = arn:aws:iam::128716708097:mfa/cli-user

[profile anika]
region = us-west-2
output = json

Parametermfa_serialpengaturan dapat mengambil ARN, seperti yang ditunjukkan, atau nomor seri dari
token MFA hardware.

66
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Peran lintas akun dan ID eksternal

Profil pertama,role-without-mfa, tidak memerlukan MFA. Namun, karena kebijakan kepercayaan


contoh sebelumnya yang melekat pada peran memerlukan MFA, setiap upaya untuk menjalankan perintah
dengan profil ini gagal.

$ aws iam list-users --profile role-without-mfa

An error occurred (AccessDenied) when calling the AssumeRole operation: Access denied

Entri profil kedua,role-with-mfa, mengidentifikasi perangkat MFA untuk digunakan. Ketika pengguna
mencoba untuk menjalankanAWS CLIperintah dengan profil ini,AWS CLImeminta pengguna untuk
memasukkan sandi satu kali (OTP) yang disediakan perangkat MFA. Jika otentikasi MFA berhasil, perintah
melakukan operasi yang diminta. OTP tidak ditampilkan di layar.

$ aws iam list-users --profile role-with-mfa


Enter MFA code for arn:aws:iam::123456789012:mfa/cli-user:
{
"Users": [
{
...

Peran lintas akun dan ID eksternal


Anda dapat mengaktifkan pengguna IAM untuk menggunakan peran milik akun yang berbeda
dengan mengonfigurasi peran sebagai peran lintas akun. Selama pembuatan peran, tetapkan jenis
peranLainAWSakun, seperti yang dijelaskan dalamMembuat Peran untuk Mendelegasikan Izin kepada
pengguna IAM. Opsional, pilihMemerlukan MFA. Memerlukan MFAmengkonfigurasi kondisi yang
sesuai dalam hubungan kepercayaan, seperti yang dijelaskan dalamMenggunakan autentikasi multi-
faktor (p. 66).

Jika Anda menggunakanID eksternaluntuk memberikan kontrol tambahan atas siapa yang dapat
menggunakan peran di seluruh akun, Anda juga harus menambahkanexternal_idparameter ke profil
peran. Anda biasanya menggunakan ini hanya ketika akun lain dikendalikan oleh seseorang di luar
perusahaan atau organisasi Anda.

[profile crossaccountrole]
role_arn = arn:aws:iam::234567890123:role/SomeRole
source_profile = default
mfa_serial = arn:aws:iam::123456789012:mfa/saanvi
external_id = 123456

Menentukan nama sesi peran untuk audit yang lebih


mudah
Ketika banyak individu berbagi peran, audit menjadi lebih merupakan tantangan. Anda ingin
mengasosiasikan setiap operasi dipanggil dengan individu yang memanggil tindakan. Namun, ketika
individu menggunakan peran, asumsi peran oleh individu adalah tindakan terpisah dari pemanggilan
operasi, dan Anda harus secara manual mengkorelasikan keduanya.

Anda dapat menyederhanakan ini dengan menentukan nama sesi peran unik saat pengguna berperan.
Anda melakukan ini dengan menambahkanrole_session_nameparameter untuk setiap profil
bernama diconfigfile yang menentukan peran. Parameterrole_session_namenilai dilewatkan
keAssumeRoleoperasi dan menjadi bagian dari ARN untuk sesi peran. Hal ini juga termasuk dalamAWS
CloudTraillog untuk semua operasi login.

Misalnya, Anda dapat membuat profil berbasis peran sebagai berikut.

67
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Asumsikan peran dengan identitas web

[profile namedsessionrole]
role_arn = arn:aws:iam::234567890123:role/SomeRole
source_profile = default
role_session_name = Session_Maria_Garcia

Hal ini mengakibatkan sesi peran memiliki ARN berikut.

arn:aws:iam::234567890123:assumed-role/SomeRole/Session_Maria_Garcia

Juga, semuaAWS CloudTraillog menyertakan nama sesi peran dalam informasi yang diambil untuk setiap
operasi.

Asumsikan peran dengan identitas web


Anda dapat mengkonfigurasi profil untuk menunjukkan bahwaAWS CLIharus mengambil
peran menggunakanfederasi identitas web dan Open ID Connect (OIDC). Bila Anda
menentukan ini dalam profil,AWS CLIsecara otomatis membuat yang sesuaiAWS STS
AssumeRoleWithWebIdentitymenelepon untuk Anda.
Note

Bila Anda menentukan profil yang menggunakan peran IAM,AWS CLImembuat panggilan yang
sesuai untuk mengambil kredensi sementara. Kredensial-kredenal ini disimpan dalam~/.aws/
cli/cache. SelanjutnyaAWS CLIperintah yang menentukan profil yang sama menggunakan
kredensi sementara cache sampai kedaluwarsa. Pada saat itu,AWS CLIsecara otomatis
menyegarkan kredensialnya.

Untuk mengambil dan menggunakan kredensi sementara menggunakan federasi identitas web, Anda
dapat menentukan nilai konfigurasi berikut di profil bersama.

role_arn (p. 63)

Menentukan ARN peran untuk mengasumsikan.


web_identity_token_file

Menentukan path ke file yang berisi token akses OAuth 2.0 atau OpenID Connect ID token yang
disediakan oleh penyedia identitas. ParameterAWS CLImemuat file ini dan melewati kontennya
sebagaiWebIdentityTokenargumen dariAssumeRoleWithWebIdentityoperasi.
role_session_name (p. 67)

Menentukan nama opsional diterapkan untuk sesi asumsi peran ini.

Berikut ini adalah contoh dari jumlah minimal konfigurasi yang diperlukan untuk mengkonfigurasi peran
asumsi dengan profil identitas web.

# In ~/.aws/config

[profile web-identity]
role_arn=arn:aws:iam:123456789012:role/RoleNameToAssume
web_identity_token_file=/path/to/a/token

Anda juga dapat menyediakan konfigurasi ini dengan menggunakanvariabel lingkungan (p. 44).

AWS_ROLE_ARN

ARN peran untuk mengasumsikan.

68
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Kliring kredensi cache

AWS_WEB_IDENTITY_TOKEN_FILE

Jalur ke file token identitas web.


AWS_ROLE_SESSION_NAME

Nama diterapkan pada sesi asumsi peran ini.

Note

Variabel lingkungan saat ini hanya berlaku untuk peran asumsi dengan penyedia identitas web.
Aplikasi tersebut tidak berlaku untuk konfigurasi penyedia peran umum.

Kliring kredensi cache


Bila Anda menggunakan peran,AWS CLIcache kredensi sementara secara lokal sampai mereka
kedaluwarsa. Lain kali Anda mencoba menggunakannya,AWS CLImencoba untuk memperbaharui mereka
atas nama Anda.

Jika kredensi sementara peran Andadibatalkan, mereka tidak diperbarui secara otomatis, dan upaya
untuk menggunakannya gagal. Namun, Anda dapat menghapus cache untuk memaksaAWS CLIuntuk
mengambil kredensi baru.

Linux atau macOS

$ rm -r ~/.aws/cli/cache

Windows

C:\> del /s /q %UserProfile%\.aws\cli\cache

69
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Mendapatkan bantuan

Menggunakan AWS CLI


Bagian ini memperkenalkan Anda ke banyak fitur umum dan opsi yang tersedia diAWS Command Line
Interface(AWS CLI). Untuk daftar lengkap perintahnya, lihatAWS CLIpanduan referensi.
Note

Secara default,AWS CLImengirimkan permintaan keAWSlayanan dengan menggunakan HTTPS


pada port TCP 443. Untuk menggunakanAWS CLIberhasil, Anda harus dapat membuat koneksi
keluar pada port TCP 443.

Topik dalam panduan ini


• Mendapatkan bantuan denganAWS CLI (p. 70)
• Struktur perintah diAWS CLI (p. 74)
• Menentukan nilai parameter untukAWS CLI (p. 76)
• Mengontrol output perintah dariAWS CLI (p. 91)
• Memahami kode kembali dariAWS CLI (p. 114)
• Membuat dan menggunakanAWS CLIalias (p. 115)

Mendapatkan bantuan denganAWS CLI


Topik ini menjelaskan cara mengakses konten bantuanAWS Command Line Interface(AWS CLI).

Topik
• Built-inAWS CLIperintah bantuan (p. 70)
• AWS CLIpanduan referensi (p. 74)
• Dokumentasi API (p. 74)
• bantuan tambahan (p. 74)

Built-inAWS CLIperintah bantuan


Anda dapat mendapatkan bantuan dengan perintah apa pun saat menggunakanAWS Command Line
Interface(AWS CLI). Untuk melakukannya, cukup ketikhelpdi akhir nama perintah.

Misalnya, perintah berikut menampilkan bantuan untuk umumAWS CLIpilihan dan perintah tingkat atas
yang tersedia.

$ aws help

Perintah berikut menampilkan perintah khusus Amazon Elastic Compute Cloud (Amazon EC2).

$ aws ec2 help

70
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Built-inAWS CLIperintah bantuan

Contoh berikut menampilkan bantuan terperinci untuk Amazon EC2DescribeInstancesoperasi Bantuan


ini mencakup deskripsi parameter input, filter yang tersedia, dan apa yang disertakan sebagai output. Ini
juga mencakup contoh yang menunjukkan bagaimana mengetik variasi umum dari perintah.

$ aws ec2 describe-instances help

Bantuan untuk setiap perintah dibagi menjadi enam bagian:

Nama

Nama komando.

NAME
describe-instances -

Deskripsi

Deskripsi operasi API yang dipanggil perintah.

DESCRIPTION
Describes one or more of your instances.

If you specify one or more instance IDs, Amazon EC2 returns information
for those instances. If you do not specify instance IDs, Amazon EC2
returns information for all relevant instances. If you specify an
instance ID that is not valid, an error is returned. If you specify an
instance that you do not own, it is not included in the returned
results.
...

Sinopsis

Sintaks dasar untuk menggunakan perintah dan pilihannya. Jika opsi ditampilkan dalam tanda kurung
persegi, itu opsional, memiliki nilai default, atau memiliki opsi alternatif yang dapat Anda gunakan.

SYNOPSIS
describe-instances
[--dry-run | --no-dry-run]
[--instance-ids <value>]
[--filters <value>]
[--cli-input-json <value>]
[--starting-token <value>]
[--page-size <value>]
[--max-items <value>]
[--generate-cli-skeleton]

Misalnya,describe-instancesmemiliki perilaku default yang menjelaskansegalainstans di akun


saat ini danAWSWilayah. Anda secara opsional dapat menentukan daftarinstance-idsuntuk
menggambarkan satu atau beberapa instans;dry-runadalah bendera Boolean opsional yang tidak
mengambil nilai. Untuk menggunakan bendera Boolean, tentukan nilai yang ditampilkan, dalam hal
ini--dry-runatau--no-dry-run. Demikian juga,--generate-cli-skeletontidak mengambil
nilai. Jika ada kondisi pada penggunaan opsi, mereka dijelaskan dalamOPTIONSbagian, atau
ditampilkan dalam contoh.
Opsi

Deskripsi masing-masing pilihan yang ditunjukkan dalam sinopsis.

OPTIONS

71
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Built-inAWS CLIperintah bantuan

--dry-run | --no-dry-run (boolean)


Checks whether you have the required permissions for the action,
without actually making the request, and provides an error response.
If you have the required permissions, the error response is DryRun-
Operation . Otherwise, it is UnauthorizedOperation .

--instance-ids (list)
One or more instance IDs.

Default: Describes all your instances.


...

Contoh

Contoh yang menunjukkan penggunaan perintah dan pilihannya. Jika tidak ada contoh yang tersedia
untuk perintah atau kasus penggunaan yang Anda butuhkan, mintalah salah satu menggunakan tautan
umpan balik di halaman ini, atau diAWS CLIreferensi perintah pada halaman bantuan untuk perintah.

EXAMPLES
To describe an Amazon EC2 instance

Command:

aws ec2 describe-instances --instance-ids i-5203422c

To describe all instances with the instance type m1.small

Command:

aws ec2 describe-instances --filters "Name=instance-type,Values=m1.small"

To describe all instances with an Owner tag

Command:

aws ec2 describe-instances --filters "Name=tag-key,Values=Owner"


...

Output

Deskripsi dari masing-masing bidang dan jenis data yang termasuk dalam respon dariAWS.

Untukdescribe-instances, output adalah daftar objek reservasi, yang masing-masing berisi


beberapa bidang dan objek yang berisi informasi tentang contoh yang terkait dengannya. Informasi ini
berasal dariDokumentasi API untuk tipe data reservasidigunakan oleh Amazon EC2.

OUTPUT
Reservations -> (list)
One or more reservations.

(structure)
Describes a reservation.

ReservationId -> (string)


The ID of the reservation.

OwnerId -> (string)


The ID of the AWS account that owns the reservation.

RequesterId -> (string)


The ID of the requester that launched the instances on your
behalf (for example, AWS Management Console or Auto Scaling).

72
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Built-inAWS CLIperintah bantuan

Groups -> (list)


One or more security groups.

(structure)
Describes a security group.

GroupName -> (string)


The name of the security group.

GroupId -> (string)


The ID of the security group.

Instances -> (list)


One or more instances.

(structure)
Describes an instance.

InstanceId -> (string)


The ID of the instance.

ImageId -> (string)


The ID of the AMI used to launch the instance.

State -> (structure)


The current state of the instance.

Code -> (integer)


The low byte represents the state. The high byte
is an opaque internal value and should be ignored.
...

SaatAWS CLImembuat output ke JSON, menjadi array objek reservasi, mirip dengan contoh berikut.

{
"Reservations": [
{
"OwnerId": "012345678901",
"ReservationId": "r-4c58f8a0",
"Groups": [],
"RequesterId": "012345678901",
"Instances": [
{
"Monitoring": {
"State": "disabled"
},
"PublicDnsName": "ec2-52-74-16-12.us-west-2.compute.amazonaws.com",
"State": {
"Code": 16,
"Name": "running"
},
...

Setiap objek reservasi berisi bidang yang menggambarkan reservasi dan array objek instance, masing-
masing dengan bidangnya sendiri (misalnya,PublicDnsName) dan objek (misalnya,State) yang
menggambarkannya.
Pengguna Windows

Anda dapatpipa(|) output dari perintah bantuan kemoreperintah untuk melihat file bantuan
satu halaman pada suatu waktu. Tekan spasi atauPgDnuntuk melihat lebih banyak dokumen,
danquntuk berhenti.

73
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
AWS CLIpanduan referensi

C:\> aws ec2 describe-instances help | more

AWS CLIpanduan referensi


File bantuan berisi tautan yang tidak dapat dilihat atau dinavigasi ke dari baris perintah. Anda dapat melihat
dan berinteraksi dengan link ini dengan menggunakan onlineAWS CLIPanduan referensi versi 1. Referensi
juga berisi konten bantuan untuk semuaAWS CLIperintah Deskripsi disajikan untuk navigasi yang mudah
dan melihat pada ponsel, tablet, atau layar desktop.

Dokumentasi API
Semua perintah diAWS CLIsesuai dengan permintaan yang dibuat keAWSAPI publik layanan. Setiap
layanan dengan API publik memiliki referensi API yang dapat ditemukan di halaman beranda layanan
diAWSSitus dokumentasi. Konten untuk referensi API bervariasi berdasarkan bagaimana API dibangun
dan protokol mana yang digunakan. Biasanya, referensi API berisi informasi rinci tentang operasi yang
didukung oleh API, data yang dikirim ke dan dari layanan, dan kondisi kesalahan apa pun yang dapat
dilaporkan oleh layanan.

Bagian Dokumentasi API

• Tindakan— Informasi rinci tentang setiap operasi dan parameternya (termasuk kendala pada panjang
atau konten, dan nilai default). Ini daftar kesalahan yang dapat terjadi untuk operasi ini. Setiap operasi
sesuai dengan subperintah diAWS CLI.
• Tipe Data— Informasi rinci tentang struktur yang mungkin diperlukan perintah sebagai parameter, atau
kembali dalam menanggapi permintaan.
• Parameter Umum— Informasi rinci tentang parameter yang dibagikan oleh semua tindakan untuk
layanan.
• Kesalahan Umum— Informasi rinci tentang kesalahan yang dapat dikembalikan oleh salah satu operasi
layanan.

Nama dan ketersediaan setiap bagian dapat bervariasi, tergantung pada layanan.
CLIS khusus layanan

Beberapa layanan memiliki CLI terpisah yang berasal dari sebelum satuAWS CLIdiciptakan
untuk bekerja dengan semua layanan. CLI khusus layanan ini memiliki dokumentasi terpisah
yang ditautkan dari halaman dokumentasi layanan. Dokumentasi untuk CLI khusus layanan tidak
berlaku untukAWS CLI.

bantuan tambahan
Untuk bantuan tambahanAWS CLImasalah, kunjungiAWS CLIkomunitasdi atasGitHub.

Struktur perintah diAWS CLI


Topik ini mencakup bagaimanaAWS Command Line Interface(AWS CLI) perintah terstruktur, dan
bagaimana menggunakan perintah tunggu.

Topik
• Struktur perintah (p. 75)

74
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Struktur perintah

• Perintah menunggu (p. 75)

Struktur perintah
ParameterAWS CLImenggunakan struktur multipart pada baris perintah yang harus ditentukan dalam
urutan ini:

1. Dasar panggilan keawsprogram.


2. Tingkat ataskomando, yang biasanya sesuai denganAWSlayanan yang didukung olehAWS CLI.
3. Parametersubperintahyang menentukan operasi yang akan dilakukan.
4. UmumAWS CLIpilihan atau parameter yang dibutuhkan oleh operasi. Anda dapat menentukan ini dalam
urutan apapun selama mereka mengikuti tiga bagian pertama. Jika parameter eksklusif ditentukan
beberapa kali, hanyanilai terakhirberlaku.

$ aws <command> <subcommand> [options and parameters]

Parameter dapat mengambil berbagai jenis nilai input, seperti angka, string, daftar, peta, dan struktur
JSON. Apa yang didukung tergantung pada perintah dan subcommand yang Anda tentukan.

Contoh
Amazon S3

Contoh berikut mencantumkan semua bucket Amazon S3.

$ aws s3 ls
2018-12-11 17:08:50 my-bucket
2018-12-14 14:55:44 my-bucket2

Untuk informasi lebih lanjut tentang perintah Amazon S3, lihataws s3diAWS CLIReferensi Perintah.

AWS CloudFormation

Berikutcreate-change-setcontoh perintah mengubah nama tumpukan cloudformation kemy-change-


set.

$ aws cloudformation create-change-set --stack-name my-stack --change-set-name my-change-


set

Untuk informasi lebih lanjut tentangAWS CloudFormationperintah, lihataws cloudformationdiAWS


CLIReferensi Perintah.

Perintah menunggu
BeberapaAWSlayanan memilikiwaitperintah yang tersedia. Perintah apa pun yang menggunakanaws
waitbiasanya menunggu sampai perintah selesai sebelum melanjutkan ke langkah berikutnya. Ini sangat
berguna untuk perintah multipart atau scripting, karena Anda dapat menggunakan perintah tunggu untuk
mencegah pindah ke langkah berikutnya jika perintah tunggu gagal.

ParameterAWS CLImenggunakan struktur multipart pada baris perintah untukwaitperintah yang harus
ditentukan dalam urutan ini:

75
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Menentukan Nilai Parameter

1. Dasar panggilan keawsprogram.


2. Tingkat ataskomando, yang biasanya sesuai denganAWSlayanan yang didukung olehAWS CLI.
3. Parameterwaitperintah.
4. Parametersubperintahyang menentukan operasi yang akan dilakukan.
5. Pilihan CLI umum atau parameter yang dibutuhkan oleh operasi. Anda dapat menentukan ini dalam
urutan apapun selama mereka mengikuti tiga bagian pertama. Jika parameter eksklusif ditentukan
beberapa kali, hanyanilai terakhirberlaku.

$ aws <command> wait <subcommand> [options and parameters]

Parameter dapat mengambil berbagai jenis nilai input, seperti angka, string, daftar, peta, dan struktur
JSON. Apa yang didukung tergantung pada perintah dan subcommand yang Anda tentukan.
Note

Tidak semua layanan AWS mendukungwaitperintah. LihatAWS CLIpanduan referensiuntuk


melihat apakah layanan Anda mendukungwaitperintah.

Contoh
AWS CloudFormation

Berikutwait change-set-create-completecontoh perintah berhenti dan resume hanya setelah dapat


mengkonfirmasi bahwamy-change-setperubahan diatur dalammy-stacktumpukan siap dijalankan.

$ aws cloudformation wait change-set-create-complete --stack-name my-stack --change-set-


name my-change-set

Untuk informasi lebih lanjut tentangAWS CloudFormation waitperintah, lihatwaitdiAWS CLIReferensi


Perintah.

AWS CodeDeploy

Berikutwait deployment-successfulcontoh perintah berhenti sampaiD-A1b2c3111deployment


berhasil diselesaikan.

$ aws deploy wait deployment-successful --deployment-id d-A1B2C3111

Untuk informasi lebih lanjut tentangAWS CodeDeploy waitperintah, lihatwaitdiAWS CLIReferensi


Perintah.

Menentukan nilai parameter untukAWS CLI


Banyak parameter yang digunakan dalamAWS Command Line Interface(AWS CLI) adalah string
sederhana atau nilai numerik, seperti nama key-pairmy-key-pairpada contoh berikut.

$ aws ec2 create-key-pair --key-name my-key-pair

Anda dapat mengelilingi string yang tidak mengandung karakter spasi dengan tanda kutip atau tidak.
Namun, Anda harus menggunakan tanda kutip di sekitar string yang mencakup satu atau lebih karakter

76
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Jenis Parameter Umum

spasi. Untuk informasi selengkapnya tentang penggunaan tanda kutip di sekitar parameter kompleks,
lihatMenggunakan tanda kutip dengan string diAWS CLI (p. 80).

Topik parameter
• UmumAWS CLITipe parameter (p. 77)
• Menggunakan tanda kutip dengan string diAWS CLI (p. 80)
• MemuatAWS CLIparameter dari file (p. 82)
• AWS CLIkerangka dan file masukan (p. 85)
• Menggunakan sintaks singkat denganAWS CLI (p. 89)

UmumAWS CLITipe parameter


Bagian ini menjelaskan beberapa jenis parameter umum dan format yang diperlukan khas.

Jika Anda mengalami kesulitan memformat parameter untuk perintah tertentu, periksa bantuan dengan
memasukkanhelpsetelah nama perintah. Bantuan untuk setiap subperintah mencakup nama dan deskripsi
opsi. Jenis parameter opsi tercantum dalam tanda kurung. Untuk informasi selengkapnya tentang melihat
bantuan, lihatthe section called “Mendapatkan bantuan” (p. 70).

Jenis parameter meliputi:


• String (p. 77)
• Timestamp (p. 77)
• Daftar (p. 78)
• Boolean (p. 78)
• Bulat (p. 78)
• Binary/Blob (biner objek besar) (p. 78)
• Map (p. 78)
• Dokumen (p. 79)

String
Parameter string dapat berisi karakter alfanumerik, simbol, dan spasi putih dariASCIIset karakter.
String yang berisi spasi putih harus dikelilingi oleh tanda kutip. Kami menyarankan agar Anda tidak
menggunakan simbol atau spasi putih selain karakter spasi standar dan untuk mengamati terminal
Andaaturan mengutip (p. 80)untuk mencegah hasil yang tidak terduga.

Beberapa parameter string dapat menerima data biner dari file. Lihat File Biner (p. 84) sebagai contoh.

Timestamp
Timestamps diformat sesuai denganISO 8601standar. Ini sering disebut
sebagai”DateTime“atau”Date“Parameter.

$ aws ec2 describe-spot-price-history --start-time 2014-10-13T19:00:00Z

Format yang dapat diterima meliputi:

• YYYY-MM-DDThh:mm:ss.sssTZD (UTC), misalnya, 2014-10-01T 20:30:00 .000Z


• YYYY-MM-DDThh:mm:ss.sssTZD (dengan offset), misalnya, 2014-10-01T 12:30:00. 000-08:00
• YYYY-MM-DD, misalnya, 2014-10-01

77
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Jenis Parameter Umum

• Waktu Unix dalam hitungan detik, misalnya, 1412195400. Ini terkadang disebut sebagaiWaktu Unixdan
mewakili jumlah detik sejak tengah malam, 1 Januari 1970 UTC.

Daftar
Satu atau lebih string dipisahkan oleh spasi. Jika salah satu item string berisi spasi, Anda harus
menempatkan tanda kutip di sekitar item tersebut. Amati terminal Andaaturan mengutip (p. 80)untuk
mencegah hasil yang tidak terduga

$ aws ec2 describe-spot-price-history --instance-types m1.xlarge m1.medium

Boolean
Bendera biner yang mengubah opsi atau menonaktifkan. Misalnya,ec2 describe-spot-price-
historymemiliki Boolean--dry-runparameter yang, ketika ditentukan, memvalidasi query dengan
layanan tanpa benar-benar menjalankan query.

$ aws ec2 describe-spot-price-history --dry-run

Output menunjukkan apakah perintah itu terbentuk dengan baik. Perintah ini juga mencakup--no-dry-
runversi parameter yang dapat Anda gunakan untuk secara eksplisit menunjukkan bahwa perintah harus
dijalankan secara normal. Termasuk itu tidak diperlukan karena ini adalah perilaku default.

Bulat
Sebuah unsigned, bilangan bulat.

$ aws ec2 describe-spot-price-history --max-items 5

Binary/Blob (biner objek besar)


DiAWS CLIversi 1, untuk lulus nilai ke parameter dengan tipeblob, Anda harus menentukan
path ke file lokal yang berisi data biner. Path tidak boleh berisi pengenal protokol apa pun,
sepertihttp://ataufile://. Jalur yang ditentukan ditafsirkan sebagai relatif terhadap direktori kerja saat
ini. Misalnya,--bodyparameter untukaws s3api put-objectadalah gumpalan.

$ aws s3api put-object --bucket my-bucket --key testimage.png --body /tmp/image.png

Map
Satu set pasangan nilai-kunci yang ditentukan dalam JSON atau dengan menggunakan CLISintaks
Shorthand (p. 89). Contoh JSON berikut membaca item dari tabel Amazon DynamoDB bernamamy-
tabledengan parameter peta,--key. Parameter menentukan kunci utama bernamaiddengan nilai
angka1dalam struktur JSON bersarang.

Untuk penggunaan JSON yang lebih maju dalam baris perintah, pertimbangkan untuk menggunakan
prosesor JSON baris perintah, sepertijq, untuk membuat string JSON. Untuk informasi lebih lanjut
tentangjq, lihatrepositori jqdi atasGitHub.

$ aws dynamodb get-item --table-name my-table --key '{"id": {"N":"1"}}'

78
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Jenis Parameter Umum

"Item": {
"name": {
"S": "John"
},
"id": {
"N": "1"
}
}
}

Dokumen
Note

Sintaks Shorthand (p. 89)tidak kompatibel dengan jenis dokumen.

Jenis dokumen yang digunakan untuk mengirim data tanpa perlu menanamkan JSON dalam string.
Jenis dokumen memungkinkan layanan untuk menyediakan skema sewenang-wenang bagi Anda untuk
menggunakan jenis data yang lebih fleksibel.

Hal ini memungkinkan untuk mengirim data JSON tanpa perlu melarikan diri nilai-nilai. Misalnya, alih-alih
menggunakan masukan JSON lolos berikut ini:

{"document": "{\"key\":true}"}

Anda dapat menggunakan jenis dokumen berikut:

{"document": {"key": true}}

Nilai yang valid untuk jenis dokumen


Karena sifat fleksibel jenis dokumen, ada beberapa jenis nilai yang valid. Nilai yang valid mencakup hal
berikut:

String

--option '"value"'

Number

--option 123
--option 123.456

Boolean

--option true

Nol

--option null

Susunan

--option '["value1", "value2", "value3"]'

79
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Kutipan dengan String

--option '["value", 1, true, null, ["key1", 2.34], {"key2": "value2"}]'

Objek

--option '{"key": "value"}'


--option '{"key1": "value1", "key2": 123, "key3": true, "key4": null, "key5":
["value3", "value4"], "key6": {"value5": "value6"}'

Menggunakan tanda kutip dengan string diAWS CLI


Ada terutama dua cara tanda kutip tunggal dan ganda digunakan dalamAWS CLI.

• Menggunakan tanda kutip di sekitar string yang berisi spasi putih (p. 80)
• Menggunakan tanda kutip di dalam string (p. 81)

Menggunakan tanda kutip di sekitar string yang berisi spasi putih


Nama parameter dan nilai-nilai mereka dipisahkan oleh spasi pada baris perintah. Jika nilai string berisi
ruang tertanam, maka Anda harus mengelilingi seluruh string dengan tanda kutip untuk mencegahAWS
CLIdari salah menafsirkan ruang sebagai pembagi antara nilai dan nama parameter berikutnya. Jenis
tanda kutip yang Anda gunakan tergantung pada sistem operasi yang Anda jalankanAWS CLIpada.

Linux and macOS

Gunakan tanda kutip tunggal' '

$ aws ec2 create-key-pair --key-name 'my key pair'

Untuk informasi selengkapnya tentang penggunaan kutipan, lihat dokumentasi pengguna untuk shell
pilihan Anda.
PowerShell

Kutipan tunggal (direkomendasikan)

Gunakan tanda kutip tunggal' '.

PS C:\> aws ec2 create-key-pair --key-name 'my key pair'

Kutipan ganda

Gunakan tanda kutip ganda" ".

PS C:\> aws ec2 create-key-pair --key-name "my key pair"

Untuk informasi selengkapnya mengenai penggunaan tanda petik, lihatTentang Aturan Pengkutipandi
dalamMicrosoft PowerShell Dokumen.
Windows command prompt

Gunakan tanda kutip ganda" ".

C:\> aws ec2 create-key-pair --key-name "my key pair"

80
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Kutipan dengan String

Opsional, Anda dapat memisahkan nama parameter dari nilai dengan tanda sama=bukan spasi. Hal ini
biasanya diperlukan hanya jika nilai parameter dimulai dengan tanda hubung.

$ aws ec2 delete-key-pair --key-name=-mykey

Menggunakan tanda kutip di dalam string


String mungkin berisi tanda kutip, dan shell Anda mungkin memerlukan kutipan melarikan diri agar
berfungsi dengan baik. Salah satu jenis nilai parameter umum adalah string JSON. Ini kompleks karena
mencakup spasi dan tanda kutip ganda" "sekitar setiap nama elemen dan nilai dalam struktur JSON.
Cara Anda memasukkan parameter yang berformat JSON pada baris perintah berbeda-beda tergantung
dari sistem operasi Anda.

Untuk penggunaan JSON yang lebih maju di baris perintah, pertimbangkan untuk menggunakan prosesor
JSON baris perintah, sepertijq, untuk membuat string JSON. Untuk informasi lebih lanjut tentangjq,
lihatrepositori jqdi atasGitHub.

Linux and macOS

Untuk Linux dan macOS untuk menafsirkan string secara harfiah menggunakan tanda kutip tunggal'
'untuk melampirkan struktur data JSON, seperti dalam contoh berikut. Anda tidak perlu melepaskan
tanda kutip ganda yang tertanam dalam string JSON, karena mereka diperlakukan secara harfiah.
Karena JSON tertutup dalam tanda kutip tunggal, setiap tanda kutip tunggal dalam string akan perlu
melarikan diri, ini biasanya dilakukan dengan menggunakan garis miring terbalik sebelum kutipan
tunggal\'.

$ aws ec2 run-instances \


--image-id ami-12345678 \
--block-device-mappings '[{"DeviceName":"/dev/sdb","Ebs":
{"VolumeSize":20,"DeleteOnTermination":false,"VolumeType":"standard"}}]'

Untuk informasi selengkapnya tentang penggunaan kutipan, lihat dokumentasi pengguna untuk shell
pilihan Anda.
PowerShell

Gunakan tanda kutip tunggal' 'atau tanda kutip ganda" ".

Kutipan tunggal (direkomendasikan)

Karena struktur data JSON termasuk tanda kutip ganda, kami sarankanbujangtanda petik'
'untuk melampirkannya. Jika Anda menggunakanbujangtanda kutip, Anda tidak perlu melarikan
dirigandatanda kutip tertanam dalam string JSON. Namun, Anda perlu melarikan diri masing-
masingbujangtanda kutip dengan backtick`dalam struktur JSON.

PS C:\> aws ec2 run-instances `


--image-id ami-12345678 `
--block-device-mappings '[{"DeviceName":"/dev/sdb","Ebs":
{"VolumeSize":20,"DeleteOnTermination":false,"VolumeType":"standard"}}]'

Kutipan ganda

Jika Anda menggunakangandatanda kutip, Anda tidak perlu melarikan diribujangtanda kutip tertanam
dalam string JSON. Namun, Anda perlu melarikan diri masing-masinggandatanda kutip dengan
backtick`dalam struktur JSON, seperti contoh berikut.

PS C:\> aws ec2 run-instances `

81
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Parameter dari File

--image-id ami-12345678 `
--block-device-mappings "[{`"DeviceName`":`"/dev/sdb`",`"Ebs`":
{`"VolumeSize`":20,`"DeleteOnTermination`":false,`"VolumeType`":`"standard`"}}]"

Untuk informasi selengkapnya mengenai penggunaan tanda petik, lihatTentang Aturan


PengkutipandiMicrosoft PowerShell Dokumen.
Warning

Sebelum PowerShell mengirimkan perintah keAWS CLI, menentukan apakah perintah


Anda ditafsirkan menggunakan tipikal PowerShell atauCommandLineToArgvWmengutip
aturan. Saat PowerShell memproses menggunakanCommandLineToArgvW, Anda harus
mengelilingi string dengan tanda kutip tunggal' 'dan melarikan diri karakter dengan garis
miring terbalik\.

PS C:\> aws ec2 run-instances `


--image-id ami-12345678 `
--block-device-mappings '[{\"DeviceName\":\"/dev/sdb\",\"Ebs\":
{\"VolumeSize\":20,\"DeleteOnTermination\":false,\"VolumeType\":\"standard\"}}]'

Untuk memotong PowerShell mengutip aturan untuk input data JSON, gunakan gumpalan
untuk meneruskan data JSON Anda langsung keAWS CLI. Untuk informasi selengkapnya
tentang Gumpalan, lihatBinary/Blob (biner objek besar) (p. 78).
Untuk informasi lebih lanjut tentangCommandLineToArgvWdi PowerShell, lihatAda apa
dengan perlakuan aneh tanda kutip dan backslash oleh CommandLineToargvWdiMicrosoft
DevBlogs,Semua orang mengutip argumen baris perintah dengan cara yang salahdiBlog
Microsoft Docs, danFungsi CommandLineToargvWdiMicrosoft Docs.
Windows command prompt

Prompt perintah Windows memerlukan tanda kutip ganda" "untuk melampirkan struktur data JSON.
Juga, untuk mencegah prosesor perintah salah menafsirkan tanda kutip ganda yang tertanam di
JSON, Anda juga harus melarikan diri (mendahului dengan garis miring terbalik\karakter) setiap tanda
kutip ganda"dalam struktur data JSON itu sendiri, seperti dalam contoh berikut.

C:\> aws ec2 run-instances ^


--image-id ami-12345678 ^
--block-device-mappings "[{\"DeviceName\":\"/dev/sdb\",\"Ebs\":
{\"VolumeSize\":20,\"DeleteOnTermination\":false,\"VolumeType\":\"standard\"}}]"

Hanya tanda kutip ganda terluar yang tidak lolos.

MemuatAWS CLIparameter dari file


Beberapa parameter mengharapkan nama file sebagai argumen, dari manaAWS CLImemuat data.
Parameter lain memungkinkan Anda untuk menentukan nilai parameter sebagai teks yang diketik
pada baris perintah atau membaca dari file. Apakah file diperlukan atau opsional, Anda harus
menyandikan file dengan benar sehinggaAWS CLIdapat memahaminya. Pengkodean file harus
sesuai dengan lokal default sistem bacaan. Anda dapat menentukan ini dengan menggunakan
Pythonlocale.getpreferredencoding()Metode.
Note

Secara default, Windows PowerShell output teks sebagai UTF-16, yang bertentangan dengan
UTF-8 encoding yang digunakan oleh banyak sistem Linux. Sebaiknya Anda menggunakan-
Encoding asciidengan PowerShell Out-Fileperintah untuk memastikanAWS CLIdapat
membaca file yang dihasilkan.

82
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Parameter dari File

Topik
• Cara memuat parameter dari file (p. 83)
• File Biner (p. 84)
• File jarak jauh (p. 84)

Cara memuat parameter dari file


Kadang-kadang lebih mudah untuk memuat nilai parameter dari file alih-alih mencoba mengetik semuanya
sebagai nilai parameter baris perintah, seperti ketika parameter adalah string JSON yang kompleks. Untuk
menentukan file yang berisi nilai, tentukan URL file dalam format berikut.

file://complete/path/to/file

• Pertama dua garis miring '/' karakter adalah bagian dari spesifikasi. Jika jalur yang diperlukan dimulai
dengan '/', hasilnya adalah tiga karakter slash:file:///folder/file.
• URL menyediakan jalur ke file yang berisi konten parameter aktual.
• Saat menggunakan file dengan spasi atau karakter khusus, mengikutimengutip dan melarikan diri
aturan (p. 80)untuk terminal Anda.

Note

Perilaku ini dinonaktifkan secara otomatis untuk parameter yang sudah mengharapkan URL,
seperti parameter yang mengidentifikasiAWS CloudFormationURL templat. Anda juga dapat
menonaktifkan perilaku ini dengan menonaktifkancli_follow_urlparam (p. 35)pengaturan
diAWS CLIfile konfigurasi.

Jalur file dalam contoh berikut ditafsirkan relatif terhadap direktori kerja saat ini.

Linux or macOS

// Read from a file in the current directory


$ aws ec2 describe-instances --filters file://filter.json

// Read from a file in /tmp


$ aws ec2 describe-instances --filters file:///tmp/filter.json

// Read from a file with a filename with whitespaces


$ aws ec2 describe-instances --filters 'file://filter content.json'

Windows command prompt

// Read from a file in C:\temp


C:\> aws ec2 describe-instances --filters file://C:\temp\filter.json

// Read from a file with a filename with whitespaces


C:\> aws ec2 describe-instances --filters "file://C:\temp\filter content.json"

Parameterfile://opsi awalan mendukung ekspansi Unix-gaya, termasuk”~/“,”./“, dan”../“. Pada


Windows,”~/“Ekspresi memperluas ke direktori pengguna Anda, disimpan dalam%USERPROFILE%variabel
lingkungan. Misalnya, pada Windows 10 Anda biasanya akan memiliki direktori pengguna di bawahC:
\Users\UserName\.

Anda masih harus melarikan diri dari dokumen JSON yang tertanam sebagai nilai dokumen JSON lain.

83
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Parameter dari File

$ aws sqs create-queue --queue-name my-queue --attributes file://attributes.json

attributes.json

{
"RedrivePolicy": "{\"deadLetterTargetArn\":\"arn:aws:sqs:us-
west-2:0123456789012:deadletter\", \"maxReceiveCount\":\"5\"}"
}

File Biner
Untuk perintah yang mengambil data biner sebagai parameter, tentukan bahwa data adalah konten biner
dengan menggunakanfileb://awalan. Perintah yang menerima data biner meliputi:

• aws ec2 run-instances: --user-dataparameter.


• aws s3api put-object: --sse-customer-keyparameter.
• aws kms decrypt: --ciphertext-blobparameter.

Contoh berikut menghasilkan kunci AES 256-bit biner menggunakan alat baris perintah Linux, dan
kemudian menyediakannya ke Amazon S3 untuk mengenkripsi sisi server file yang diunggah.

$ dd if=/dev/urandom bs=1 count=32 > sse.key


32+0 records in
32+0 records out
32 bytes (32 B) copied, 0.000164441 s, 195 kB/s
$ aws s3api put-object \
--bucket my-bucket \
--key test.txt \
--body test.txt \
--sse-customer-key fileb://sse.key \
--sse-customer-algorithm AES256
{
"SSECustomerKeyMD5": "iVg8oWa8sy714+FjtesrJg==",
"SSECustomerAlgorithm": "AES256",
"ETag": "\"a6118e84b76cf98bf04bbe14b6045c6c\""
}

File jarak jauh


ParameterAWS CLIjuga mendukung pemuatan parameter dari file host di internet
denganhttp://atauhttps://URL. Contoh berikut merujuk file yang tersimpan di bucket Amazon
S3. Hal ini memungkinkan Anda untuk mengakses file parameter dari komputer manapun, tetapi tidak
mengharuskan wadah dapat diakses publik.

$ aws ec2 run-instances \


--image-id ami-12345678 \
--block-device-mappings http://my-bucket.s3.amazonaws.com/filename.json

Contoh sebelumnya mengasumsikan bahwa filefilename.jsonberisi data JSON berikut.

[
{
"DeviceName": "/dev/sdb",
"Ebs": {
"VolumeSize": 20,

84
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Menghasilkan CLI Skeleton Template

"DeleteOnTermination": false,
"VolumeType": "standard"
}
}
]

Untuk contoh lain mereferensikan file yang berisi parameter format JSON, lihatMelampirkan kebijakan
terkelola IAM ke pengguna IAM (p. 146).

AWS CLIkerangka dan file masukan


Sebagian besarAWS Command Line Interface(AWS CLI) perintah menerima semua input parameter dari
file. Template ini dapat dihasilkan menggunakangenerate-cli-skeletonOpsi.

Topik
• TentangAWS CLIkerangka dan file masukan (p. 85)
• Menghasilkan kerangka perintah (p. 87)

TentangAWS CLIkerangka dan file masukan


Sebagian besarAWS Command Line Interface(AWS CLI) perintah mendukung kemampuan untuk
menerima semua input parameter dari file menggunakan--cli-input-jsonparameters.

Perintah yang sama membantu memberikan--generate-cli-skeletonparameter untuk menghasilkan


file diJSONformat dengan semua parameter yang dapat Anda edit dan isi. Kemudian Anda dapat
menjalankan perintah dengan yang relevan--cli-input-jsonparameter dan arahkan ke file terisi.
Important

BeberapaAWS CLIperintah tidak memetakan langsung ke individuAWSOperasi API, sepertiaws


s3perintah. Perintah semacam itu tidak mendukung--generate-cli-skeletonatau--cli-
input-jsondijelaskan dalam topik ini. Jika Anda tidak tahu apakah perintah tertentu mendukung
parameter ini, jalankan perintah berikut, gantilayanandankomandonama dengan yang Anda
minati.

$ aws service command help

Outputnya termasukSynopsisbagian yang menunjukkan parameter yang mendukung perintah


yang ditentukan.

$ aws iam list-users help


...
SYNOPSIS
list-users
...
[--cli-input-json]
...
[--generate-cli-skeleton <value>]
...

Parameter--generate-cli-skeletonparameter menyebabkan perintah tidak berjalan, melainkan untuk


menghasilkan dan menampilkan template parameter yang dapat Anda sesuaikan dan gunakan sebagai
masukan pada perintah nanti. Template yang dihasilkan mencakup semua parameter yang mendukung
perintah.

Parameter--generate-cli-skeletonparameter menerima salah satu nilai berikut:

85
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Menghasilkan CLI Skeleton Template

• input- Template yang dihasilkan mencakup semua parameter input diformat sebagai JSON. Ini adalah
nilai default.
• output- Template yang dihasilkan mencakup semua parameter output yang diformat sebagai JSON.

KarenaAWS CLIpada dasarnya adalah “wrapper” di sekitar API layanan, file kerangka mengharapkan Anda
untuk referensi semua parameter dengan nama parameter API yang mendasarinya. Ini mungkin berbeda
dariAWS CLINama parameter. Misalnya,AWS CLIparameter bernamauser-namemungkin memetakan
keAWSparameter API layanan bernamaUserName(perhatikan kapitalisasi yang diubah dan dasbor yang
hilang). Sebaiknya Anda menggunakan--generate-cli-skeletonpilihan untuk menghasilkan template
dengan “benar” nama parameter untuk menghindari kesalahan. Anda juga dapat mereferensikan Panduan
Referensi API untuk layanan untuk melihat nama parameter yang diharapkan. Anda dapat menghapus
parameter apapun dari template yang tidak diperlukan dan yang Anda tidak ingin memberikan nilai.

Misalnya, jika Anda menjalankan perintah berikut, ini membuat templat parameter untuk perintah Amazon
Elastic Compute Cloud (Amazon EC2)run-instances.

JSON

Contoh berikut menunjukkan cara membuat template yang diformat di JSON dengan menggunakan
nilai default (input) untuk--generate-cli-skeletonparameter.

$ aws ec2 run-instances --generate-cli-skeleton

{
"DryRun": true,
"ImageId": "",
"MinCount": 0,
"MaxCount": 0,
"KeyName": "",
"SecurityGroups": [
""
],
"SecurityGroupIds": [
""
],
"UserData": "",
"InstanceType": "",
"Placement": {
"AvailabilityZone": "",
"GroupName": "",
"Tenancy": ""
},
"KernelId": "",
"RamdiskId": "",
"BlockDeviceMappings": [
{
"VirtualName": "",
"DeviceName": "",
"Ebs": {
"SnapshotId": "",
"VolumeSize": 0,
"DeleteOnTermination": true,
"VolumeType": "",
"Iops": 0,
"Encrypted": true
},
"NoDevice": ""
}
],
"Monitoring": {
"Enabled": true

86
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Menghasilkan CLI Skeleton Template

},
"SubnetId": "",
"DisableApiTermination": true,
"InstanceInitiatedShutdownBehavior": "",
"PrivateIpAddress": "",
"ClientToken": "",
"AdditionalInfo": "",
"NetworkInterfaces": [
{
"NetworkInterfaceId": "",
"DeviceIndex": 0,
"SubnetId": "",
"Description": "",
"PrivateIpAddress": "",
"Groups": [
""
],
"DeleteOnTermination": true,
"PrivateIpAddresses": [
{
"PrivateIpAddress": "",
"Primary": true
}
],
"SecondaryPrivateIpAddressCount": 0,
"AssociatePublicIpAddress": true
}
],
"IamInstanceProfile": {
"Arn": "",
"Name": ""
},
"EbsOptimized": true
}

Menghasilkan kerangka perintah


Untuk menghasilkan dan menggunakan file kerangka parameter

1. Jalankan perintah dengan--generate-cli-skeletonparameter untuk menghasilkanJSONdan


mengarahkan output ke file untuk menyimpannya.

JSON

$ aws ec2 run-instances --generate-cli-skeleton input > ec2runinst.json

2. Buka file kerangka parameter di editor teks Anda dan hapus salah satu parameter yang tidak Anda
butuhkan. Misalnya, Anda dapat menghapus templat berikut ini. Pastikan file tersebut masih berlaku
JSONsetelah Anda menghapus elemen-elemen yang tidak Anda butuhkan.

JSON

{
"DryRun": true,
"ImageId": "",
"KeyName": "",
"SecurityGroups": [
""
],
"InstanceType": "",
"Monitoring": {

87
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Menghasilkan CLI Skeleton Template

"Enabled": true
}
}

Dalam contoh ini, kami meninggalkanDryRunparameter diatur ketrueuntuk menggunakan fitur dry
run Amazon EC2. Fitur ini memungkinkan Anda menguji perintah dengan aman tanpa benar-benar
membuat atau memodifikasi sumber daya apa pun.
3. Isi nilai yang tersisa dengan nilai yang sesuai untuk skenario Anda. Dalam contoh ini, kami
menyediakan jenis instans, nama kunci, grup keamanan, dan pengenal Amazon Machine Image (AMI)
untuk digunakan. Contoh ini mengasumsikan defaultAWSWilayah. AMIami-dfc39aefadalah citra
Amazon Linux 64-bit yang dihosting dius-west-2Wilayah. Jika Anda menggunakan Wilayah yang
berbeda, Anda harustemukan ID AMI yang benar untuk digunakan.

JSON

{
"DryRun": true,
"ImageId": "ami-dfc39aef",
"KeyName": "mykey",
"SecurityGroups": [
"my-sg"
],
"InstanceType": "t2.micro",
"Monitoring": {
"Enabled": true
}
}

4. Jalankan perintah dengan parameter selesai dengan meneruskan file template selesai kesang--cli-
input-jsonparameter dengan menggunakanfile://awalan. ParameterAWS CLImenafsirkan
path menjadi relatif terhadap direktori kerja Anda saat ini, sehingga dalam contoh berikut yang hanya
menampilkan nama file tanpa path, mencari file langsung di direktori kerja saat ini.

JSON

$ aws ec2 run-instances --cli-input-json file://ec2runinst.json

A client error (DryRunOperation) occurred when calling the RunInstances operation:


Request would have succeeded, but DryRun flag is set.

Kesalahan dry run menunjukkan bahwa JSONterbentuk dengan benar dan bahwa nilai-nilai
parameter valid. Jika masalah lain dilaporkan dalam output, perbaiki dan ulangi langkah sebelumnya
sampai”Request would have succeeded“Pesan ditampilkan.
5. Sekarang Anda dapat mengaturDryRunparameter untukfalseuntuk menonaktifkan run kering.

JSON

{
"DryRun": false,
"ImageId": "ami-dfc39aef",
"KeyName": "mykey",
"SecurityGroups": [
"my-sg"
],
"InstanceType": "t2.micro",
"Monitoring": {

88
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Sintaks Sintaks

"Enabled": true
}
}

6. Jalankan perintah, danrun-instancessebenarnya meluncurkan instans Amazon EC2 dan


menampilkan detail yang dihasilkan oleh peluncuran yang berhasil. Format output dikendalikan oleh--
outputparameter, terpisah dari format template parameter masukan Anda.

JSON

$ aws ec2 run-instances --cli-input-json file://ec2runinst.json --output json

{
"OwnerId": "123456789012",
"ReservationId": "r-d94a2b1",
"Groups": [],
"Instances": [
...

Menggunakan sintaks singkat denganAWS CLI


ParameterAWS Command Line Interface(AWS CLI) dapat menerima banyak parameter opsi dalam format
JSON. Namun, bisa membosankan untuk memasukkan daftar JSON besar atau struktur pada baris
perintah. Untuk membuat ini lebih mudah,AWS CLIjuga mendukung sintaks singkatan yang memungkinkan
representasi sederhana dari parameter pilihan Anda daripada menggunakan format JSON penuh.

Topik
• Parameter struktur (p. 89)
• Menggunakan sintaks singkat denganAWS Command Line Interface (p. 90)

Parameter struktur
Sintaks singkatan diAWS CLImemudahkan pengguna untuk memasukkan parameter yang datar (struktur
non-bersarang). Formatnya adalah daftar nilai kunci yang dipisahkan koma.

Linux atau macOS

--option key1=value1,key2=value2,key3=value3

PowerShell

--option "key1=value1,key2=value2,key3=value3"

Ini adalah keduanya setara dengan contoh berikut, diformat dalam JSON.

--option '{"key1":"value1","key2":"value2","key3":"value3"}'

Tidak boleh ada ruang putih di antara masing-masing pasangan kunci-nilai yang dipisahkan koma. Berikut
adalah contoh Amazon DynamoDBupdate-tableperintah dengan--provisioned-throughputpilihan
yang ditentukan dalam singkatan.

$ aws dynamodb update-table \

89
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Sintaks Sintaks

--provisioned-throughput ReadCapacityUnits=15,WriteCapacityUnits=10 \
--table-name MyDDBTable

Hal ini setara dengan contoh berikut diformat di JSON.

$ aws dynamodb update-table \


--provisioned-throughput '{"ReadCapacityUnits":15,"WriteCapacityUnits":10}' \
--table-name MyDDBTable

Menggunakan sintaks singkat denganAWS Command Line


Interface
Anda dapat menentukan parameter Input dalam bentuk daftar dengan dua cara: JSON atau singkatan.
ParameterAWS CLIsintaks singkatan dirancang untuk membuatnya lebih mudah untuk lulus dalam daftar
dengan nomor, string, atau struktur non-bersarang.

Format dasar ditampilkan di sini, di mana nilai-nilai dalam daftar dipisahkan oleh satu spasi.

--option value1 value2 value3

Hal ini setara dengan contoh berikut, diformat dalam JSON.

--option '[value1,value2,value3]'

Seperti disebutkan sebelumnya, Anda dapat menentukan daftar angka, daftar string, atau daftar struktur
non-bersarang dalam singkatan. Berikut ini adalah contohstop-instancesperintah untuk Amazon Elastic
Compute Cloud (Amazon EC2), tempat parameter input (daftar string) untuk--instance-idsditentukan
dalam singkatan.

$ aws ec2 stop-instances \


--instance-ids i-1486157a i-1286157c i-ec3a7e87

Hal ini setara dengan contoh berikut diformat di JSON.

$ aws ec2 stop-instances \


--instance-ids '["i-1486157a","i-1286157c","i-ec3a7e87"]'

Contoh berikut menunjukkan Amazon EC2create-tagsperintah, yang mengambil daftar struktur non-
bersarang untuk--tagsOpsi. Parameter--resourcespilihan menentukan ID dari instance untuk tag.

$ aws ec2 create-tags \


--resources i-1286157c \
--tags Key=My1stTag,Value=Value1 Key=My2ndTag,Value=Value2 Key=My3rdTag,Value=Value3

Hal ini setara dengan contoh berikut, diformat dalam JSON. Parameter JSON ditulis di atas beberapa baris
untuk dibaca.

$ aws ec2 create-tags \


--resources i-1286157c \
--tags '[
{"Key": "My1stTag", "Value": "Value1"},
{"Key": "My2ndTag", "Value": "Value2"},
{"Key": "My3rdTag", "Value": "Value3"}
]'

90
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Mengontrol Command Output

Mengontrol output perintah dariAWS CLI


Bagian ini menjelaskan berbagai cara untuk mengontrol output dariAWS Command Line Interface(AWS
CLI).

Topik
• MengaturAWS CLIFormat output (p. 91)
• MenggunakanAWS CLIopsi paginasi (p. 96)
• PenyaringanAWS CLIkeluaran (p. 97)

MengaturAWS CLIFormat output


Topik ini menjelaskan format output yang berbeda untukAWS Command Line Interface(AWS CLI).
ParameterAWS CLImendukung format output berikut:

• json (p. 91)- Output diformat sebagaiJSONstring.


• text (p. 92)- Output diformat sebagai beberapa baris nilai string yang dipisahkan tab. Hal ini dapat
berguna untuk lulus output ke prosesor teks, sepertigrep,sed, atauawk.
• table (p. 95)- Output diformat sebagai tabel menggunakan karakter +|- untuk membentuk batas
sel. Ini biasanya menyajikan informasi dalam format “ramah-manusia” yang jauh lebih mudah dibaca
daripada yang lain, tetapi tidak sebagai pemrograman berguna.

Bagaimana memilih format output


Seperti yang dijelaskan dalamkonfigurasi (p. 28)topik, Anda dapat menentukan format output dalam tiga
cara:

• Menggunakanoutputpilihan dalam profil bernama diconfigfail- Contoh berikut menetapkan format


output default menjaditext.

[default]
output=text

• MenggunakanAWS_DEFAULT_OUTPUTVariabel Lingkungan- Output berikut menetapkan format


ketableuntuk perintah dalam sesi baris perintah ini sampai variabel berubah atau sesi berakhir.
Menggunakan variabel lingkungan ini menimpa setiap nilai yang ditetapkan dalamconfigberkas.

$ export AWS_DEFAULT_OUTPUT="table"

• Menggunakan--outputopsi pada baris perintah- Contoh berikut menetapkan output dari hanya satu
perintah ini untukjson. Menggunakan opsi ini pada perintah menimpa setiap variabel lingkungan yang
ditetapkan saat ini atau nilai dalamconfigberkas.

$ aws swf list-domains --registration-status REGISTERED --output json

Format output JSON


JSONadalah format output defaultAWS CLI. Sebagian besar bahasa pemrograman dapat dengan mudah
memecahkan kode string JSON menggunakan fungsi bawaan atau dengan perpustakaan yang tersedia
untuk umum. Anda dapat menggabungkan output JSON denganpilihan —query (p. 97)dengan cara
yang ampuh untuk memfilter dan memformatAWS CLIOutput yang diformat JSON.

91
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Format Output

Untuk penyaringan lebih lanjut yang mungkin tidak dapat Anda lakukan--query, Anda dapat
mempertimbangkanjq, baris perintah prosesor JSON. Anda dapat mengunduhnya dan menemukan tutorial
resmi dihttp://stedolan.github.io/jq/.

Berikut ini adalah contoh output JSON.

$ aws iam list-users --output json

{
"Users": [
{
"Path": "/",
"UserName": "Admin",
"UserId": "AIDA1111111111EXAMPLE",
"Arn": "arn:aws:iam::123456789012:user/Admin",
"CreateDate": "2014-10-16T16:03:09+00:00",
"PasswordLastUsed": "2016-06-03T18:37:29+00:00"
},
{
"Path": "/backup/",
"UserName": "backup-user",
"UserId": "AIDA2222222222EXAMPLE",
"Arn": "arn:aws:iam::123456789012:user/backup/backup-user",
"CreateDate": "2019-09-17T19:30:40+00:00"
},
{
"Path": "/",
"UserName": "cli-user",
"UserId": "AIDA3333333333EXAMPLE",
"Arn": "arn:aws:iam::123456789012:user/cli-user",
"CreateDate": "2019-09-17T19:11:39+00:00"
}
]
}

Format output teks


ParametertextmengaturAWS CLIoutput ke baris tab-delimited. Ia bekerja dengan baik dengan alat teks
Unix tradisional sepertigrep,sed, danawk, dan pemrosesan teks yang dilakukan oleh PowerShell.

ParametertextFormat output mengikuti struktur dasar yang ditunjukkan di bawah ini. Kolom diurutkan
berdasarkan abjad berdasarkan nama-nama kunci yang sesuai dari objek JSON yang mendasari.

IDENTIFIER sorted-column1 sorted-column2


IDENTIFIER2 sorted-column1 sorted-column2

Berikut ini adalah contohtextoutput. Setiap bidang adalah tab dipisahkan dari yang lain, dengan tab
tambahan di mana ada bidang kosong.

$ aws iam list-users --output text

USERS arn:aws:iam::123456789012:user/Admin 2014-10-16T16:03:09+00:00


2016-06-03T18:37:29+00:00 / AIDA1111111111EXAMPLE Admin
USERS arn:aws:iam::123456789012:user/backup/backup-user 2019-09-17T19:30:40+00:00
/backup/ AIDA2222222222EXAMPLE backup-user
USERS arn:aws:iam::123456789012:user/cli-user 2019-09-17T19:11:39+00:00
/ AIDA3333333333EXAMPLE cli-user

92
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Format Output

Kolom keempat adalahPasswordLastUsedbidang, dan kosong untuk dua entri terakhir karena pengguna
tidak pernah masuk keAWS Management Console.
Important

Kami sangat menyarankan bahwa jika Anda menentukantextoutput, Anda juga selalu
menggunakan--query (p. 97)pilihan untuk memastikan perilaku yang konsisten.
Hal ini karena format teks abjad perintah kolom output dengan nama kunci dari objek JSON yang
mendasari dikembalikan olehAWSlayanan, dan sumber daya serupa mungkin tidak memiliki nama
kunci yang sama. Misalnya, representasi JSON instans Amazon EC2 berbasis Linux mungkin
memiliki elemen yang tidak ada dalam representasi JSON dari instans berbasis Windows, atau
sebaliknya. Selain itu, sumber daya mungkin memiliki elemen nilai kunci yang ditambahkan atau
dihapus dalam pembaruan mendatang, mengubah urutan kolom. Di sinilah--querymenambah
fungsionalitastextoutput untuk menyediakan Anda dengan kontrol penuh atas format output.
Pada contoh berikut, perintah menentukan elemen untuk menampilkan danmendefinisikan
pemesanankolom dengan notasi daftar[key1, key2, ...]. Ini memberi Anda keyakinan penuh
bahwa nilai kunci yang benar selalu ditampilkan di kolom yang diharapkan. Akhirnya, perhatikan
bagaimanaAWS CLIoutputNonesebagai nilai untuk kunci yang tidak ada.

$ aws iam list-users --output text --query 'Users[*].


[UserName,Arn,CreateDate,PasswordLastUsed,UserId]'

Admin arn:aws:iam::123456789012:user/Admin
2014-10-16T16:03:09+00:00 2016-06-03T18:37:29+00:00 AIDA1111111111EXAMPLE
backup-user arn:aws:iam::123456789012:user/backup-user
2019-09-17T19:30:40+00:00 None AIDA2222222222EXAMPLE
cli-user arn:aws:iam::123456789012:user/cli-backup
2019-09-17T19:11:39+00:00 None AIDA3333333333EXAMPLE

Contoh berikut menunjukkan cara Anda dapat menggunakangrepdanawkdengantextoutput dariaws ec2


describe-instancesperintah. Perintah pertama menampilkan Availability Zone, state saat ini, dan ID
instance dari setiap instance ditextoutput. Perintah kedua memproses output untuk menampilkan hanya
ID instance dari semua instance yang berjalan dius-west-2aAvailability Zone.

$ aws ec2 describe-instances --query 'Reservations[*].Instances[*].


[Placement.AvailabilityZone, State.Name, InstanceId]' --output text

us-west-2a running i-4b41a37c


us-west-2a stopped i-a071c394
us-west-2b stopped i-97a217a0
us-west-2a running i-3045b007
us-west-2a running i-6fc67758

$ aws ec2 describe-instances --query 'Reservations[*].Instances[*].


[Placement.AvailabilityZone, State.Name, InstanceId]' --output text | grep us-west-2a |
grep running | awk '{print $3}'

i-4b41a37c
i-3045b007
i-6fc67758

Contoh berikut melangkah lebih jauh dan menunjukkan tidak hanya bagaimana untuk menyaring output,
tetapi bagaimana menggunakan output untuk mengotomatisasi perubahan jenis instance untuk setiap
instance berhenti.

93
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Format Output

$ aws ec2 describe-instances --query 'Reservations[*].Instances[*].[State.Name,


InstanceId]' --output text |
> grep stopped |
> awk '{print $2}' |
> while read line;
> do aws ec2 modify-instance-attribute --instance-id $line --instance-type '{"Value":
"m1.medium"}';
> done

Parametertextoutput juga dapat berguna dalam PowerShell. Karena kolom ditextoutput adalah
tab dibatasi, Anda dapat dengan mudah membagi output menjadi array dengan menggunakan
PowerShell`tpembatas. Perintah berikut menampilkan nilai kolom ketiga (InstanceId) jika kolom
pertama (AvailabilityZone) cocok dengan stringus-west-2a.

PS C:\>aws ec2 describe-instances --query 'Reservations[*].Instances[*].


[Placement.AvailabilityZone, State.Name, InstanceId]' --output text |
%{if ($_.split("`t")[0] -match "us-west-2a") { $_.split("`t")[2]; } }

-4b41a37c
i-a071c394
i-3045b007
i-6fc67758

Perhatikan bahwa meskipun contoh sebelumnya menunjukkan bagaimana menggunakan--


queryparameter untuk mengurai objek JSON yang mendasari dan menarik keluar kolom yang diinginkan,
PowerShell memiliki kemampuan sendiri untuk menangani JSON, jika kompatibilitas cross-platform
tidak menjadi perhatian. Alih-alih menangani output sebagai teks, karena kebanyakan shell perintah
membutuhkan, PowerShell memungkinkan Anda menggunakanConvertFrom-JSONcmdlet untuk
menghasilkan objek hirarkis terstruktur. Anda kemudian dapat langsung mengakses anggota yang Anda
inginkan dari objek tersebut.

(aws ec2 describe-instances --output json | ConvertFrom-


Json).Reservations.Instances.InstanceId

Tip

Jika Anda menampilkan teks, dan menyaring output ke satu bidang menggunakan--
queryparameter, output adalah satu baris dari nilai-nilai tab-dipisahkan. Untuk mendapatkan
setiap nilai ke baris terpisah, Anda dapat menempatkan bidang output dalam tanda kurung, seperti
yang ditunjukkan pada contoh berikut.
Tab dipisahkan, output satu baris:

$ aws iam list-groups-for-user --user-name susan --output text --query


"Groups[].GroupName"

HRDepartment Developers SpreadsheetUsers LocalAdmins

Setiap nilai pada baris sendiri dengan menempatkan[GroupName]dalam kurung:

$ aws iam list-groups-for-user --user-name susan --output text --query


"Groups[].[GroupName]"

HRDepartment

94
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Format Output

Developers
SpreadsheetUsers
LocalAdmins

Format output tabel


ParametertableFormat menghasilkan representasi yang dapat dibaca manusia dari kompleksAWS
CLIoutput dalam bentuk tabel.

$ aws iam list-users --output table

-------------------------------------------------------------------------------------------------------
| ListUsers
|
+------------------------------------------------------------------------------------------------------
+
|| Users
||
|+----------------------------------------------------+---------------------------
+---------------------------+----------+-----------------------+-------------+|
|| Arn | CreateDate |
PasswordLastUsed | Path | UserId | UserName ||
|+----------------------------------------------------+---------------------------
+---------------------------+----------+-----------------------+-------------+|
|| arn:aws:iam::123456789012:user/Admin | 2014-10-16T16:03:09+00:00 |
2016-06-03T18:37:29+00:00 | / | AIDA1111111111EXAMPLE | Admin ||
|| arn:aws:iam::123456789012:user/backup/backup-user | 2019-09-17T19:30:40+00:00 |
| /backup/ | AIDA2222222222EXAMPLE | backup-user ||
|| arn:aws:iam::123456789012:user/cli-user | 2019-09-17T19:11:39+00:00 |
| / | AIDA3333333333EXAMPLE | cli-user ||
+------------------------------------------------------------------------------------------------------
+

Anda dapat menggabungkan--queryopsi dengantableformat untuk menampilkan satu set elemen yang
dipilih sebelumnya dari output mentah. Perhatikan perbedaan output antara notasi kamus dan daftar:
pada contoh pertama, nama kolom diurutkan berdasarkan abjad, dan pada contoh kedua, kolom yang
tidak disebutkan namanya diurutkan seperti yang didefinisikan oleh pengguna. Untuk informasi lebih lanjut
tentang--querypilihan, lihatPenyaringanAWS CLIkeluaran (p. 97).

$ aws ec2 describe-volumes --query 'Volumes[*].


{ID:VolumeId,InstanceId:Attachments[0].InstanceId,AZ:AvailabilityZone,Size:Size}' --output
table

------------------------------------------------------
| DescribeVolumes |
+------------+----------------+--------------+-------+
| AZ | ID | InstanceId | Size |
+------------+----------------+--------------+-------+
| us-west-2a| vol-e11a5288 | i-a071c394 | 30 |
| us-west-2a| vol-2e410a47 | i-4b41a37c | 8 |
+------------+----------------+--------------+-------+

$ aws ec2 describe-volumes --query 'Volumes[*].


[VolumeId,Attachments[0].InstanceId,AvailabilityZone,Size]' --output table

----------------------------------------------------
| DescribeVolumes |

95
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Paginasi

+--------------+--------------+--------------+-----+
| vol-e11a5288| i-a071c394 | us-west-2a | 30 |
| vol-2e410a47| i-4b41a37c | us-west-2a | 8 |
+--------------+--------------+--------------+-----+

MenggunakanAWS CLIopsi paginasi


Topik ini menjelaskan berbagai cara untuk paginate output dariAWS Command Line Interface(AWS CLI).

Paginasi sisi server


Untuk perintah yang dapat mengembalikan daftar besar item,AWS Command Line Interface(AWS
CLI) memiliki beberapa pilihan untuk mengontrol jumlah item yang termasuk dalam output ketikaAWS
CLImemanggil API layanan untuk mengisi daftar.

• --no-paginate
• --page-size
• --max-items
• --starting-token

Secara default,AWS CLImenggunakan ukuran halaman yang ditentukan oleh layanan individu dan
mengambil semua item yang tersedia. Misalnya, Amazon S3 memiliki ukuran halaman default 1000. Jika
Anda menjalankanaws s3api list-objectspada bucket Amazon S3 yang berisi 3.500 objek,AWS
CLIsecara otomatis membuat empat panggilan ke Amazon S3, menangani logika pagination khusus
layanan untuk Anda di latar belakang dan mengembalikan semua 3.500 objek dalam output akhir.

Cara menggunakan parameter —no-paginate


Parameter--no-paginateopsi menonaktifkan berikut token pagination di sisi klien. Bila menggunakan
perintah, secara defaultAWS CLIsecara otomatis membuat beberapa panggilan untuk mengembalikan
semua hasil yang mungkin untuk membuat pagination. Satu panggilan untuk setiap halaman.
Menonaktifkan pagination memilikiAWS CLIhanya memanggil sekali untuk halaman pertama dari hasil
perintah.

Misalnya, jika Anda menjalankanaws s3api list-objectspada bucket Amazon S3 yang berisi 3.500
objek,AWS CLIhanya membuat panggilan pertama ke Amazon S3, kembali hanya 1.000 objek pertama
dalam output akhir.

$ aws s3api list-objects \


--bucket my-bucket \
--no-paginate
{
"Contents": [
...

Cara menggunakan parameter —page-size


Jika Anda melihat masalah saat menjalankan perintah daftar pada sejumlah besar sumber daya, ukuran
halaman default 1000 mungkin terlalu tinggi. Hal ini dapat menyebabkan panggilanAWSlayanan melebihi
waktu maksimum yang diizinkan dan menghasilkan kesalahan “habis waktu”. Anda dapat menggunakan--
page-sizepilihan untuk menentukan bahwaAWS CLImeminta sejumlah kecil item dari setiap panggilan
keAWSlayanan. ParameterAWS CLImasih mengambil daftar lengkap, tetapi melakukan sejumlah besar
panggilan API layanan di latar belakang dan mengambil sejumlah kecil item dengan setiap panggilan.
Hal ini memberikan panggilan individu kesempatan yang lebih baik untuk berhasil tanpa batas waktu.

96
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Penyaringan

Mengubah ukuran halaman tidak mempengaruhi output; itu hanya mempengaruhi jumlah panggilan API
yang perlu dibuat untuk menghasilkan output.

$ aws s3api list-objects \


--bucket my-bucket \
--page-size 100
{
"Contents": [
...

Cara menggunakan parameter —max-items


Untuk memasukkan lebih sedikit item pada satu waktu diAWS CLIoutput, gunakan--max-itemspilihan.
ParameterAWS CLImasih menangani pagination dengan layanan seperti yang dijelaskan sebelumnya,
tetapi mencetak hanya jumlah item pada waktu yang Anda tentukan.

$ aws s3api list-objects \


--bucket my-bucket \
--max-items 100
{
"NextToken": "eyJNYXJrZXIiOiBudWxsLCAiYm90b190cnVuY2F0ZV9hbW91bnQiOiAxfQ==",
"Contents": [
...

Cara menggunakan parameter —starting-token


Jika jumlah item output (--max-items) lebih sedikit dari jumlah total item yang dikembalikan oleh
panggilan API yang mendasari, output termasukNextTokenbahwa Anda dapat lulus ke perintah berikutnya
untuk mengambil set berikutnya item. Contoh berikut menunjukkan cara menggunakanNextTokennilai
dikembalikan oleh contoh sebelumnya, dan memungkinkan Anda untuk mengambil 100 item kedua.
Note

Parameter--starting-tokentidak boleh nol atau kosong. Jika perintah sebelumnya tidak


memberikanNextTokennilai, tidak ada lagi item untuk kembali dan Anda tidak perlu memanggil
perintah lagi.

$ aws s3api list-objects \


--bucket my-bucket \
--max-items 100 \
--starting-token eyJNYXJrZXIiOiBudWxsLCAiYm90b190cnVuY2F0ZV9hbW91bnQiOiAxfQ==
{
"Contents": [
...

ditentukanAWSlayanan mungkin tidak mengembalikan item dalam urutan yang sama setiap kali Anda
menelepon. Jika Anda menentukan nilai yang berbeda untuk--page-sizedan--max-items, Anda bisa
mendapatkan hasil yang tidak terduga dengan item yang hilang atau digandakan. Untuk mencegah hal ini,
gunakan nomor yang sama--page-sizedan--max-itemsuntuk sinkronisasiAWS CLIpagination dengan
pagination dari layanan yang mendasarinya. Anda juga dapat mengambil seluruh daftar dan melakukan
operasi paging yang diperlukan secara lokal.

PenyaringanAWS CLIkeluaran
ParameterAWS Command Line Interface(AWS CLI) memiliki kedua sisi server dan sisi klien penyaringan
yang dapat Anda gunakan secara individu atau bersama-sama untuk menyaring AndaAWS CLIoutput.
Penyaringan sisi server diproses terlebih dahulu dan mengembalikan output Anda untuk penyaringan sisi
klien.

97
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Penyaringan

• Penyaringan sisi server didukung oleh API, dan Anda biasanya menerapkannya dengan--
filterparameter. Layanan ini hanya mengembalikan hasil yang cocok yang dapat mempercepat waktu
respon HTTP untuk kumpulan data yang besar.
• Penyaringan sisi klien didukung olehAWS CLIklien menggunakan--queryparameter. Parameter ini
memiliki kemampuan penyaringan sisi server mungkin tidak memiliki.

Topik
• Penyaringan sisi server (p. 98)
• Penyaringan sisi klien (p. 98)
• Menggabungkan sisi server dan penyaringan sisi klien (p. 112)
• Sumber daya tambahan (p. 113)

Penyaringan sisi server


Filtering sisi server diAWS CLIdisediakan olehAWSAPI layanan. ParameterAWSlayanan hanya
mengembalikan catatan dalam respon HTTP yang cocok dengan filter Anda, yang dapat mempercepat
waktu respon HTTP untuk kumpulan data yang besar. Karena penyaringan sisi server didefinisikan oleh
API layanan, nama dan fungsi parameter bervariasi antara layanan. Beberapa nama parameter umum
yang digunakan untuk penyaringan adalah:

• --filtersepertiSESdanCE.
• --filterssepertiec2,Penskalaan otomatis, danrds.
• Nama dimulai dengan katafilter, misalnya--filter-expressionuntukaws dynamodb
scanperintah.

Untuk informasi tentang apakah perintah tertentu memiliki penyaringan sisi server dan aturan penyaringan,
lihatAWS CLIpanduan referensi.

Penyaringan sisi klien


ParameterAWS CLImenyediakan built-in kemampuan penyaringan sisi klien berbasis JSON dengan--
queryparameter. Parameter--queryparameter adalah alat yang ampuh dapat Anda gunakan untuk
menyesuaikan konten dan gaya output Anda. Parameter--queryparameter mengambil respon HTTP yang
datang kembali dari server dan menyaring hasil sebelum menampilkannya. Karena seluruh respon HTTP
dikirim ke klien sebelum penyaringan, penyaringan sisi klien bisa lebih lambat daripada penyaringan sisi
server untuk data-set besar.

Querying menggunakanSintaks JMESPathuntuk membuat ekspresi untuk memfilter output Anda. Untuk
mempelajari sintaks JMesPath, lihatTutorialpadaJMesPath.
Important

Jenis output yang Anda tentukan perubahan bagaimana--querypilihan beroperasi:

• Jika Anda menentukan--output text, output dipaginasisebelumnyasang--queryfilter


diterapkan, danAWS CLImenjalankan query sekalisetiap halamandari outputnya. Karena ini,
query mencakup elemen pencocokan pertama pada setiap halaman yang dapat menghasilkan
output ekstra tak terduga. Untuk menyaring output tambahan, Anda dapat menggunakan alat
baris perintah lainnya sepertiheadatautail.
• Jika Anda menentukan--output json,output benar-benar diproses sebagai struktur asli
tunggal sebelum--queryfilter diterapkan. ParameterAWS CLImenjalankan query hanya sekali
terhadap seluruh struktur, menghasilkan hasil disaring yang kemudian output.

98
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Penyaringan

Topik penyaringan sisi klien


• Sebelum Anda memulai (p. 99)
• Pengidentifikasi (p. 100)
• Memilih dari daftar (p. 101)
• Memfilter data yang di-nestkan (p. 105)
• Hasil perataan (p. 106)
• Penyaringan untuk nilai tertentu (p. 106)
• Ekspresi perpipaan (p. 107)
• Penyaringan untuk beberapa nilai pengenal (p. 108)
• Menambahkan label ke nilai pengenal (p. 109)
• Fungsi (p. 110)
• Lanjutan--querycontoh (p. 111)

Sebelum Anda memulai


Saat menggunakan ekspresi filter yang digunakan dalam contoh ini, pastikan untuk menggunakan aturan
kutipan yang benar untuk shell terminal Anda. Untuk informasi selengkapnya, lihat the section called
“Kutipan dengan String” (p. 80).

Output JSON berikut menunjukkan contoh dari apa--queryparameter dapat menghasilkan. Output
tersebut menjelaskan tiga volume Amazon EBS yang dilampirkan ke instans Amazon EC2 yang terpisah.

Output contoh

$ aws ec2 describe-volumes


{
"Volumes": [
{
"AvailabilityZone": "us-west-2a",
"Attachments": [
{
"AttachTime": "2013-09-17T00:55:03.000Z",
"InstanceId": "i-a071c394",
"VolumeId": "vol-e11a5288",
"State": "attached",
"DeleteOnTermination": true,
"Device": "/dev/sda1"
}
],
"VolumeType": "standard",
"VolumeId": "vol-e11a5288",
"State": "in-use",
"SnapshotId": "snap-f23ec1c8",
"CreateTime": "2013-09-17T00:55:03.000Z",
"Size": 30
},
{
"AvailabilityZone": "us-west-2a",
"Attachments": [
{
"AttachTime": "2013-09-18T20:26:16.000Z",
"InstanceId": "i-4b41a37c",
"VolumeId": "vol-2e410a47",
"State": "attached",
"DeleteOnTermination": true,
"Device": "/dev/sda1"

99
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Penyaringan

}
],
"VolumeType": "standard",
"VolumeId": "vol-2e410a47",
"State": "in-use",
"SnapshotId": "snap-708e8348",
"CreateTime": "2013-09-18T20:26:15.000Z",
"Size": 8
},
{
"AvailabilityZone": "us-west-2a",
"Attachments": [
{
"AttachTime": "2020-11-20T19:54:06.000Z",
"InstanceId": "i-1jd73kv8",
"VolumeId": "vol-a1b3c7nd",
"State": "attached",
"DeleteOnTermination": true,
"Device": "/dev/sda1"
}
],
"VolumeType": "standard",
"VolumeId": "vol-a1b3c7nd",
"State": "in-use",
"SnapshotId": "snap-234087fb",
"CreateTime": "2020-11-20T19:54:05.000Z",
"Size": 15
}
]
}

Pengidentifikasi
Identifier adalah label untuk nilai-nilai output. Saat membuat filter, Anda menggunakan pengidentifikasi
untuk mempersempit hasil kueri Anda. Pada contoh output berikut, semua pengidentifikasi
sepertiVolumes,AvailabilityZone, danAttachTimedisorot.

$ aws ec2 describe-volumes


{
"Volumes": [
{
"AvailabilityZone": "us-west-2a",
"Attachments": [
{
"AttachTime": "2013-09-17T00:55:03.000Z",
"InstanceId": "i-a071c394",
"VolumeId": "vol-e11a5288",
"State": "attached",
"DeleteOnTermination": true,
"Device": "/dev/sda1"
}
],
"VolumeType": "standard",
"VolumeId": "vol-e11a5288",
"State": "in-use",
"SnapshotId": "snap-f23ec1c8",
"CreateTime": "2013-09-17T00:55:03.000Z",
"Size": 30
},
{
"AvailabilityZone": "us-west-2a",
"Attachments": [
{
"AttachTime": "2013-09-18T20:26:16.000Z",

100
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Penyaringan

"InstanceId": "i-4b41a37c",
"VolumeId": "vol-2e410a47",
"State": "attached",
"DeleteOnTermination": true,
"Device": "/dev/sda1"
}
],
"VolumeType": "standard",
"VolumeId": "vol-2e410a47",
"State": "in-use",
"SnapshotId": "snap-708e8348",
"CreateTime": "2013-09-18T20:26:15.000Z",
"Size": 8
},
{
"AvailabilityZone": "us-west-2a",
"Attachments": [
{
"AttachTime": "2020-11-20T19:54:06.000Z",
"InstanceId": "i-1jd73kv8",
"VolumeId": "vol-a1b3c7nd",
"State": "attached",
"DeleteOnTermination": true,
"Device": "/dev/sda1"
}
],
"VolumeType": "standard",
"VolumeId": "vol-a1b3c7nd",
"State": "in-use",
"SnapshotId": "snap-234087fb",
"CreateTime": "2020-11-20T19:54:05.000Z",
"Size": 15
}
]
}

Untuk informasi selengkapnya, lihatPengidentifikasipadaJMesPath.

Memilih dari daftar


Sebuah daftar atau array adalah identifier yang diikuti oleh braket
persegi”[“sepertiVolumesdanAttachmentsdithe section called “Sebelum Anda memulai” (p. 99).

Sintaks

<listName>[ ]

Untuk memfilter semua output dari array, Anda dapat menggunakan notasi wildcard. Wildcardekspresi
adalah ekspresi yang digunakan untuk mengembalikan elemen menggunakan*notasi.

Contoh berikut query semuaVolumeskonten.

$ aws ec2 describe-volumes \


--query 'Volumes[*]'
[
{
"AvailabilityZone": "us-west-2a",
"Attachments": [
{
"AttachTime": "2013-09-17T00:55:03.000Z",
"InstanceId": "i-a071c394",

101
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Penyaringan

"VolumeId": "vol-e11a5288",
"State": "attached",
"DeleteOnTermination": true,
"Device": "/dev/sda1"
}
],
"VolumeType": "standard",
"VolumeId": "vol-e11a5288",
"State": "in-use",
"SnapshotId": "snap-f23ec1c8",
"CreateTime": "2013-09-17T00:55:03.000Z",
"Size": 30
},
{
"AvailabilityZone": "us-west-2a",
"Attachments": [
{
"AttachTime": "2020-11-20T19:54:06.000Z",
"InstanceId": "i-1jd73kv8",
"VolumeId": "vol-a1b3c7nd",
"State": "attached",
"DeleteOnTermination": true,
"Device": "/dev/sda1"
}
],
"VolumeType": "standard",
"VolumeId": "vol-a1b3c7nd",
"State": "in-use",
"SnapshotId": "snap-234087fb",
"CreateTime": "2020-11-20T19:54:05.000Z",
"Size": 15
}
]

Untuk melihat volume tertentu dalam array dengan indeks, Anda memanggil indeks array. Misalnya, item
pertama diVolumesarray memiliki indeks 0, sehinggaVolumes[0]kueri. Untuk informasi selengkapnya
tentang indeks array, lihatekspresi indekspadaJMesPath.

$ aws ec2 describe-volumes \


--query 'Volumes[0]'
{
"AvailabilityZone": "us-west-2a",
"Attachments": [
{
"AttachTime": "2013-09-17T00:55:03.000Z",
"InstanceId": "i-a071c394",
"VolumeId": "vol-e11a5288",
"State": "attached",
"DeleteOnTermination": true,
"Device": "/dev/sda1"
}
],
"VolumeType": "standard",
"VolumeId": "vol-e11a5288",
"State": "in-use",
"SnapshotId": "snap-f23ec1c8",
"CreateTime": "2013-09-17T00:55:03.000Z",
"Size": 30
}

Untuk melihat rentang volume tertentu berdasarkan indeks, gunakanslicedengan sintaks berikut,
dimanamulaiadalah indeks array awal,berhentiadalah indeks dimana filter berhenti memproses, dananak
tanggaadalah interval lompatan.

102
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Penyaringan

Sintaks

<arrayName>[<start>:<stop>:<step>]

Jika salah satu dari ini dihilangkan dari ekspresi slice, mereka menggunakan nilai default berikut:

• Mulai - Indeks pertama dalam daftar, 0.


• Stop - Indeks terakhir dalam daftar.
• Langkah - Tidak ada langkah melompat-lompat, di mana nilai adalah 1.

Untuk mengembalikan hanya dua volume pertama, Anda menggunakan nilai awal 0, nilai stop 2, dan nilai
langkah 1 seperti yang ditunjukkan pada contoh berikut.

$ aws ec2 describe-volumes \


--query 'Volumes[0:2:1]'
[
{
"AvailabilityZone": "us-west-2a",
"Attachments": [
{
"AttachTime": "2013-09-17T00:55:03.000Z",
"InstanceId": "i-a071c394",
"VolumeId": "vol-e11a5288",
"State": "attached",
"DeleteOnTermination": true,
"Device": "/dev/sda1"
}
],
"VolumeType": "standard",
"VolumeId": "vol-e11a5288",
"State": "in-use",
"SnapshotId": "snap-f23ec1c8",
"CreateTime": "2013-09-17T00:55:03.000Z",
"Size": 30
},
{
"AvailabilityZone": "us-west-2a",
"Attachments": [
{
"AttachTime": "2013-09-18T20:26:16.000Z",
"InstanceId": "i-4b41a37c",
"VolumeId": "vol-2e410a47",
"State": "attached",
"DeleteOnTermination": true,
"Device": "/dev/sda1"
}
],
"VolumeType": "standard",
"VolumeId": "vol-2e410a47",
"State": "in-use",
"SnapshotId": "snap-708e8348",
"CreateTime": "2013-09-18T20:26:15.000Z",
"Size": 8
}
]

Karena contoh ini berisi nilai default, Anda dapat mempersingkat slice
dariVolumes[0:2:1]kepadaVolumes[:2].

Contoh berikut menghilangkan nilai default dan mengembalikan setiap dua volume di seluruh array.

103
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Penyaringan

$ aws ec2 describe-volumes \


--query 'Volumes[::2]'
[
{
"AvailabilityZone": "us-west-2a",
"Attachments": [
{
"AttachTime": "2013-09-17T00:55:03.000Z",
"InstanceId": "i-a071c394",
"VolumeId": "vol-e11a5288",
"State": "attached",
"DeleteOnTermination": true,
"Device": "/dev/sda1"
}
],
"VolumeType": "standard",
"VolumeId": "vol-e11a5288",
"State": "in-use",
"SnapshotId": "snap-f23ec1c8",
"CreateTime": "2013-09-17T00:55:03.000Z",
"Size": 30
},
{
"AvailabilityZone": "us-west-2a",
"Attachments": [
{
"AttachTime": "2020-11-20T19:54:06.000Z",
"InstanceId": "i-1jd73kv8",
"VolumeId": "vol-a1b3c7nd",
"State": "attached",
"DeleteOnTermination": true,
"Device": "/dev/sda1"
}
],
"VolumeType": "standard",
"VolumeId": "vol-a1b3c7nd",
"State": "in-use",
"SnapshotId": "snap-234087fb",
"CreateTime": "2020-11-20T19:54:05.000Z",
"Size": 15
}
]

Langkah-langkah juga dapat menggunakan angka negatif untuk menyaring dalam urutan terbalik array
seperti yang ditunjukkan dalam contoh berikut.

$ aws ec2 describe-volumes \


--query 'Volumes[::-2]'
[
{
"AvailabilityZone": "us-west-2a",
"Attachments": [
{
"AttachTime": "2020-11-20T19:54:06.000Z",
"InstanceId": "i-1jd73kv8",
"VolumeId": "vol-a1b3c7nd",
"State": "attached",
"DeleteOnTermination": true,
"Device": "/dev/sda1"
}
],
"VolumeType": "standard",
"VolumeId": "vol-a1b3c7nd",
"State": "in-use",

104
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Penyaringan

"SnapshotId": "snap-234087fb",
"CreateTime": "2020-11-20T19:54:05.000Z",
"Size": 15
},
{
"AvailabilityZone": "us-west-2a",
"Attachments": [
{
"AttachTime": "2013-09-17T00:55:03.000Z",
"InstanceId": "i-a071c394",
"VolumeId": "vol-e11a5288",
"State": "attached",
"DeleteOnTermination": true,
"Device": "/dev/sda1"
}
],
"VolumeType": "standard",
"VolumeId": "vol-e11a5288",
"State": "in-use",
"SnapshotId": "snap-f23ec1c8",
"CreateTime": "2013-09-17T00:55:03.000Z",
"Size": 30
}
]

Untuk informasi selengkapnya, lihatIrisanpadaJMesPath.

Memfilter data yang di-nestkan


Untuk mempersempit penyaringanVolumes[*]untuk nilai bersarang, Anda menggunakan subexpressions
dengan menambahkan periode dan kriteria filter Anda.

Sintaks

<expression>.<expression>

Contoh berikut menunjukkan semuaAttachmentsinformasi untuk semua volume.

$ aws ec2 describe-volumes \


--query 'Volumes[*].Attachments'
[
[
{
"AttachTime": "2013-09-17T00:55:03.000Z",
"InstanceId": "i-a071c394",
"VolumeId": "vol-e11a5288",
"State": "attached",
"DeleteOnTermination": true,
"Device": "/dev/sda1"
}
],
[
{
"AttachTime": "2013-09-18T20:26:16.000Z",
"InstanceId": "i-4b41a37c",
"VolumeId": "vol-2e410a47",
"State": "attached",
"DeleteOnTermination": true,
"Device": "/dev/sda1"
}
],
[
{

105
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Penyaringan

"AttachTime": "2020-11-20T19:54:06.000Z",
"InstanceId": "i-1jd73kv8",
"VolumeId": "vol-a1b3c7nd",
"State": "attached",
"DeleteOnTermination": true,
"Device": "/dev/sda1"
}
]
]

Untuk menyaring lebih jauh ke dalam nilai bersarang, tambahkan ekspresi untuk setiap indentifier
bersarang. Contoh berikut mencantumkanStateuntuk semuaVolumes.

$ aws ec2 describe-volumes \


--query 'Volumes[*].Attachments[*].State'
[
[
"attached"
],
[
"attached"
],
[
"attached"
]
]

Hasil perataan
Untuk informasi selengkapnya, lihatSubeXPressionspadaJMesPath.

Anda dapat meratakan hasil untukVolumes[*].Attachments[*].Statedengan menghapus notasi


wildcard yang menghasilkanVolumes[*].Attachments[].Statekueri. Meratakan sering berguna
untuk meningkatkan keterbacaan hasil.

$ aws ec2 describe-volumes \


--query 'Volumes[*].Attachments[].State'
[
"attached",
"attached",
"attached"
]

Untuk informasi selengkapnya, lihatRatakanpadaJMesPath.

Penyaringan untuk nilai tertentu


Untuk memfilter nilai tertentu dalam daftar, Anda menggunakan ekspresi filter seperti yang ditunjukkan
dalam sintaks berikut.

Sintaks

? <expression> <comparator> <expression>]

Komparator ekspresi meliputi==,!=,<,<=,>, dan>=. Contoh berikut filter untukVolumeIdsuntuk


semuaVolumesdalamAttachedState.

$ aws ec2 describe-volumes \


--query 'Volumes[*].Attachments[?State==`attached`].VolumeId'

106
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Penyaringan

[
[
"vol-e11a5288"
],
[
"vol-2e410a47"
],
[
"vol-a1b3c7nd"
]
]

Hal ini kemudian dapat diratakan sehingga contoh berikut.

$ aws ec2 describe-volumes \


--query 'Volumes[*].Attachments[?State==`attached`].VolumeId[]'
[
"vol-e11a5288",
"vol-2e410a47",
"vol-a1b3c7nd"
]

Contoh berikut filter untukVolumeIdssemuaVolumesyang memiliki ukuran kurang dari 20.

$ aws ec2 describe-volumes \


--query 'Volumes[?Size < `20`].VolumeId'
[
"vol-2e410a47",
"vol-a1b3c7nd"
]

Untuk informasi selengkapnya, lihatEkspresi FilterpadaJMesPath.

Ekspresi perpipaan
Anda dapat pipa hasil filter ke daftar baru, dan kemudian menyaring hasilnya dengan ekspresi lain
menggunakan sintaks berikut:

Sintaks

<expression> | <expression>]

Contoh berikut mengambil hasil filterVolumes[*].Attachments[].InstanceIdekspresi dan output


hasil pertama dalam array.

$ aws ec2 describe-volumes \


--query 'Volumes[*].Attachments[].InstanceId | [0]'
"i-a071c394"

Contoh ini melakukan ini dengan terlebih dahulu membuat array dari ekspresi berikut.

$ aws ec2 describe-volumes \


--query 'Volumes[*].Attachments[].InstanceId'
"i-a071c394",
"i-4b41a37c",
"i-1jd73kv8"

Dan kemudian mengembalikan elemen pertama dalam array itu.

107
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Penyaringan

"i-a071c394"

Untuk informasi selengkapnya, lihatEkspresi PipapadaJMesPath.

Penyaringan untuk beberapa nilai pengenal


Untuk memfilter beberapa pengidentifikasi, Anda menggunakan daftar multiselect dengan menggunakan
sintaks berikut:

Sintaks

<listName>[].[<expression>, <expression>]

Pada contoh berikut,VolumeIddanVolumeTypedisaring diVolumesmenghasilkan ekspresi berikut.

$ aws ec2 describe-volumes \


--query 'Volumes[].[VolumeId, VolumeType]'
[
[
"vol-e11a5288",
"standard"
],
[
"vol-2e410a47",
"standard"
],
[
"vol-a1b3c7nd",
"standard"
]
]

Untuk menambahkan data bersarang ke daftar, Anda menambahkan daftar multiselect lainnya. Contoh
berikut mengembang pada contoh sebelumnya dengan juga memfilterInstanceIddanStatedi
sarangAttachmentsdaftar. Hal ini menyebabkan ekspresi berikut.

$ aws ec2 describe-volumes \


--query 'Volumes[].[VolumeId, VolumeType, Attachments[].[InstanceId, State]]'
[
[
"vol-e11a5288",
"standard",
[
[
"i-a071c394",
"attached"
]
]
],
[
"vol-2e410a47",
"standard",
[
[
"i-4b41a37c",
"attached"
]
]
],
[
"vol-a1b3c7nd",

108
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Penyaringan

"standard",
[
[
"i-1jd73kv8",
"attached"
]
]
]
]

Agar lebih mudah dibaca, ratakan ekspresi seperti yang ditunjukkan dalam contoh berikut.

$ aws ec2 describe-volumes \


--query 'Volumes[].[VolumeId, VolumeType, Attachments[].[InstanceId, State][]][]'
[
"vol-e11a5288",
"standard",
[
"i-a071c394",
"attached"
],
"vol-2e410a47",
"standard",
[
"i-4b41a37c",
"attached"
],
"vol-a1b3c7nd",
"standard",
[
"i-1jd73kv8",
"attached"
]
]

Untuk informasi selengkapnya, lihatDaftar multiselectpadaJMesPath.

Menambahkan label ke nilai pengenal


Untuk membuat output ini lebih mudah dibaca, gunakan hash multiselect dengan sintaks berikut.

Sintaks

<listName>[].{<label>: <expression>, <label>: <expression>}

Label pengenal Anda tidak harus sama dengan nama pengenal. Contoh berikut menggunakan
labelTypeuntukVolumeTypenilai-nilai.

$ aws ec2 describe-volumes \


--query 'Volumes[].{VolumeType: VolumeType}'
[
{
"VolumeType": "standard",
},
{
"VolumeType": "standard",
},
{
"VolumeType": "standard",
}
]

109
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Penyaringan

Untuk kesederhanaan, contoh berikut menyimpan nama identifier untuk setiap label dan
menampilkanVolumeId,VolumeType,InstanceId, danStateuntuk semua volume:

$ aws ec2 describe-volumes \


--query 'Volumes[].{VolumeId: VolumeId, VolumeType: VolumeType, InstanceId:
Attachments[0].InstanceId, State: Attachments[0].State}'
[
{
"VolumeId": "vol-e11a5288",
"VolumeType": "standard",
"InstanceId": "i-a071c394",
"State": "attached"
},
{
"VolumeId": "vol-2e410a47",
"VolumeType": "standard",
"InstanceId": "i-4b41a37c",
"State": "attached"
},
{
"VolumeId": "vol-a1b3c7nd",
"VolumeType": "standard",
"InstanceId": "i-1jd73kv8",
"State": "attached"
}
]

Untuk informasi selengkapnya, lihatHash multiselectpadaJMesPath.

Fungsi
Sintaks JMesPath berisi banyak fungsi yang dapat Anda gunakan untuk query Anda. Untuk informasi
tentang fungsi JMesPath, lihatFungsi BawaanpadaJMesPath.

Untuk menunjukkan bagaimana Anda dapat memasukkan fungsi ke dalam kueri Anda, contoh berikut
menggunakansort_byfungsi. Parametersort_byfungsi macam array menggunakan ekspresi sebagai
kunci sort menggunakan sintaks berikut:

Sintaks

sort_by(<listName>, <sort expression>)[].<expression>

Contoh berikut menggunakan sebelumnyaContoh hash multiselect (p. 109)dan mengurutkan output
denganVolumeId.

$ aws ec2 describe-volumes \


--query 'sort_by(Volumes, &VolumeId)[].{VolumeId: VolumeId, VolumeType: VolumeType,
InstanceId: Attachments[0].InstanceId, State: Attachments[0].State}'
[
{
"VolumeId": "vol-2e410a47",
"VolumeType": "standard",
"InstanceId": "i-4b41a37c",
"State": "attached"
},
{
"VolumeId": "vol-a1b3c7nd",
"VolumeType": "standard",
"InstanceId": "i-1jd73kv8",
"State": "attached"
},

110
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Penyaringan

{
"VolumeId": "vol-e11a5288",
"VolumeType": "standard",
"InstanceId": "i-a071c394",
"State": "attached"
}
]

Untuk informasi selengkapnya, lihatsort_bypadaJMesPath.

Lanjutan--querycontoh
Untuk mengekstrak informasi dari item tertentu

Contoh berikut menggunakan--queryparameter untuk menemukan item tertentu dalam daftar dan
kemudian ekstrak informasi dari item tersebut. Contoh mencantumkan semuaAvailabilityZonesterkait
dengan titik akhir layanan yang ditentukan. Ini ekstrak item dariServiceDetailsdaftar yang telah
ditentukanServiceName, kemudian outputAvailabilityZonesbidang dari item yang dipilih.

$ aws --region us-east-1 ec2 describe-vpc-endpoint-services \


--query 'ServiceDetails[?ServiceName==`com.amazonaws.us-east-1.ecs`].AvailabilityZones'
[
[
"us-east-1a",
"us-east-1b",
"us-east-1c",
"us-east-1d",
"us-east-1e",
"us-east-1f"
]
]

Untuk menampilkan snapshot setelah tanggal pembuatan yang ditentukan

Contoh berikut menunjukkan cara mencantumkan semua snapshot yang dibuat setelah tanggal yang
ditentukan, termasuk hanya beberapa bidang yang tersedia dalam output.

$ aws ec2 describe-snapshots --owner self \


--output json \
--query 'Snapshots[?StartTime>=`2018-02-07`].
{Id:SnapshotId,VId:VolumeId,Size:VolumeSize}'
[
{
"id": "snap-0effb42b7a1b2c3d4",
"vid": "vol-0be9bb0bf12345678",
"Size": 8
}
]

Untuk menampilkan AMI terbaru

Contoh berikut mencantumkan lima Amazon Machine Images (AMI) terbaru yang Anda buat, diurutkan dari
yang terbaru hingga tertua.

$ aws ec2 describe-images \


--owners self \
--query 'reverse(sort_by(Images,&CreationDate))[:5].{id:ImageId,date:CreationDate}'
[
{
"id": "ami-0a1b2c3d4e5f60001",
"date": "2018-11-28T17:16:38.000Z"

111
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Penyaringan

},
{
"id": "ami-0a1b2c3d4e5f60002",
"date": "2018-09-15T13:51:22.000Z"
},
{
"id": "ami-0a1b2c3d4e5f60003",
"date": "2018-08-19T10:22:45.000Z"
},
{
"id": "ami-0a1b2c3d4e5f60004",
"date": "2018-05-03T12:04:02.000Z"
},
{
"id": "ami-0a1b2c3d4e5f60005",
"date": "2017-12-13T17:16:38.000Z"
}
]

Menampilkan instance Auto Scaling yang tidak sehat

Contoh berikut menunjukkan hanyaInstanceIduntuk instance yang tidak sehat dalam grup Auto Scaling
yang ditentukan.

$ aws autoscaling describe-auto-scaling-groups \


--auto-scaling-group-name My-AutoScaling-Group-Name \
--output text \
--query 'AutoScalingGroups[*].Instances[?HealthStatus==`Unhealthy`].InstanceId'

Untuk mengecualikan volume dengan tag yang ditentukan

Contoh berikut menjelaskan semua instance tanpatesttag. Menggunakan sederhana?Value !=


`test`ekspresi tidak bekerja untuk mengecualikan volume volume dapat memiliki beberapa tag. Selama
ada tag lain di sampingtestmelekat pada volume, volume masih dikembalikan dalam hasil.

Untuk mengecualikan semua volume dengantesttag, mulai dengan ekspresi di bawah ini untuk
mengembalikan semua tag dengantesttag dalam array. Setiap tag yang bukantesttag berisinullnilai.

$ aws ec2 describe-volumes \


--query 'Volumes.Tags[?Value == `test`]'

Kemudian saring semua yang positiftesthasil menggunakannot_nullfungsi.

$ aws ec2 describe-volumes \


--query 'Volumes[?not_null(Tags[?Value == `test`].Value)]'

Pipa hasil untuk meratakan hasil yang mengakibatkan query berikut.

$ aws ec2 describe-volumes \


--query 'Volumes[?not_null(Tags[?Value == `test`].Value)] | []'

Menggabungkan sisi server dan penyaringan sisi klien


Anda dapat menggunakan server-side dan client-side filtering bersama-sama. Penyaringan sisi server
selesai pertama, yang mengirimkan data ke klien bahwa--queryparameter kemudian filter. Jika Anda
menggunakan kumpulan data besar, menggunakan penyaringan sisi server terlebih dahulu dapat
menurunkan jumlah data yang dikirim ke klien untuk masing-masingAWS CLIpanggilan, sambil tetap
menjaga kustomisasi kuat yang menyediakan penyaringan sisi klien.

112
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Penyaringan

Contoh berikut mencantumkan volume Amazon EC2 menggunakan penyaringan sisi server dan sisi klien.
Layanan ini menyaring daftar semua volume terlampir dius-west-2aAvailability Zone. Parameter--
queryparameter lebih lanjut membatasi output untuk hanya volume tersebut denganSizenilai yang lebih
besar dari 50, dan hanya menampilkan bidang yang ditentukan dengan nama yang ditetapkan pengguna.

$ aws ec2 describe-volumes \


--filters "Name=availability-zone,Values=us-west-2a" "Name=status,Values=attached" \
--query 'Volumes[?Size > `50`].{Id:VolumeId,Size:Size,Type:VolumeType}'
[
{
"Id": "vol-0be9bb0bf12345678",
"Size": 80,
"VolumeType": "gp2"
}
]

Contoh berikut mengambil daftar gambar yang memenuhi beberapa kriteria. Kemudian menggunakan--
queryparameter untuk mengurutkan output denganCreationDate, memilih hanya yang terbaru.
Akhirnya, ini menampilkanImageIddari satu gambar itu.

$ aws ec2 describe-images \


--owners amazon \
--filters "Name=name,Values=amzn*gp2" "Name=virtualization-type,Values=hvm" "Name=root-
device-type,Values=ebs" \
--query "sort_by(Images, &CreationDate)[-1].ImageId" \
--output text
ami-00ced3122871a4921

Contoh berikut menampilkan jumlah volume yang tersedia yang lebih dari 1000 IOPS dengan
menggunakanlengthuntuk menghitung berapa banyak yang dalam daftar.

$ aws ec2 describe-volumes \


--filters "Name=status,Values=available" \
--query 'length(Volumes[?Iops > `1000`])'
3

Sumber daya tambahan


Terminal JMESPath

JMesPath Terminal adalah perintah terminal interaktif untuk bereksperimen dengan ekspresi JMesPath
yang digunakan untuk penyaringan sisi klien. Menggunakanjptermperintah, terminal menunjukkan
hasil kueri langsung saat Anda mengetik. Anda bisa langsung pipaAWS CLIoutput ke terminal,
memungkinkan eksperimen query lanjutan.

Contoh berikut pipaaws ec2 describe-volumesoutput langsung ke JMesPath Terminal.

$ aws ec2 describe-volumes | jpterm

Untuk informasi lebih lanjut tentang JMesPath Terminal dan petunjuk instalasi, lihatTerminal
JMESPathdi atasGitHub.
utilitas jq

Parameterjqutilitas menyediakan Anda cara untuk mengubah output Anda pada sisi klien ke format
output yang Anda inginkan. Untuk informasi lebih lanjut tentangjqdan instruksi instalasi, lihatjqdi
atasGitHub.

113
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Kode Kembali

Memahami kode kembali dariAWS CLI


Kode kembali biasanya kode tersembunyi dikirim setelah menjalankanAWS Command Line Interface(AWS
CLI) perintah yang menggambarkan status perintah. Anda dapat menggunakanechoperintah untuk
menampilkan kode yang dikirim dari yang terakhirAWS CLIperintah dan menggunakan kode ini untuk
menentukan apakah perintah berhasil atau jika gagal, dan mengapa perintah mungkin memiliki kesalahan.
Selain kode pengembalian, Anda dapat melihat rincian lebih lanjut tentang kegagalan dengan menjalankan
perintah Anda dengan--debugswitch. Saklar ini menghasilkan laporan rinci tentang langkah-langkahAWS
CLImenggunakan untuk memproses perintah, dan apa hasil dari setiap langkah itu.

Untuk menentukan kode pengembalianAWS CLIperintah, jalankan salah satu perintah berikut segera
setelah menjalankan perintah CLI.

Linux and macOS

$ echo $?
0

Windows PowerShell

PS> echo $lastexitcode


0

Windows Command Prompt

C:\> echo %errorlevel%


0

Berikut ini adalah nilai kode kembali yang dapat dikembalikan pada akhir menjalankanAWS Command Line
Interface(AWS CLI) perintah.

Code Arti

0 Layanan ini merespon dengan kode status respons HTTP 200 yang menunjukkan bahwa tidak
ada kesalahan yang dihasilkan olehAWS CLIdanAWSlayanan permintaan dikirim ke.

1 Satu atau lebih operasi transfer Amazon S3 gagal. Terbatas pada perintah S3.

2 Arti dari kode pengembalian ini tergantung pada perintah:

• Berlaku untuk semuaAWS CLIperintahPerintah yang dimasukkan tidak bisa diurai. Kegagalan
parsing dapat disebabkan oleh, tetapi tidak terbatas pada, hilang subperintah atau argumen
yang diperlukan, atau menggunakan perintah atau argumen yang tidak diketahui.
• Terbatas pada perintah S3— Satu atau lebih file yang ditandai untuk transfer dilewati selama
proses transfer. Namun, semua file lain yang ditandai untuk transfer berhasil ditransfer.
File yang dilewati selama proses transfer meliputi: file yang tidak ada; file yang merupakan
perangkat khusus karakter, memblokir perangkat khusus, antrian FIFO, atau soket; dan file
yang pengguna tidak memiliki izin baca.

130 Perintah itu terganggu oleh SIGINT. Ini adalah sinyal yang dikirim oleh Anda untuk membatalkan
perintah denganCtrl+C.

252 Sintaks perintah tidak valid, parameter yang tidak diketahui disediakan, atau nilai parameter tidak
benar dan mencegah perintah berjalan.

114
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Alias

Code Arti

253 Lingkungan sistem atau konfigurasi tidak valid. Sementara perintah yang diberikan mungkin valid
secara sintaksis, konfigurasi atau kredensi yang hilang mencegah perintah berjalan.

254 Perintah berhasil diurai dan permintaan yang dibuat untuk layanan tertentu tetapi layanan
mengembalikan kesalahan. Ini umumnya akan menunjukkan penggunaan API yang salah atau
masalah khusus layanan lainnya.

255 Perintah gagal. Ada kesalahan yang dihasilkan olehAWS CLIatau olehAWSlayanan yang
permintaan dikirim.

Membuat dan menggunakanAWS CLIalias


Alias adalah cara pintas yang dapat Anda buat diAWS Command Line Interface(AWS CLI) untuk
mempersingkat perintah atau skrip yang sering Anda gunakan. Anda membuat alias dialiasfile yang
terletak di folder konfigurasi Anda.

Topik
• Prasyarat (p. 115)
• Langkah 1: Membuat file alias (p. 115)
• Langkah 2: Membuat alias (p. 116)
• Langkah 3: Memanggil alias (p. 118)
• Contoh repositori alias (p. 119)
• Sumber daya (p. 120)

Prasyarat
Untuk menggunakan perintah alias, Anda harus menyelesaikan yang berikut ini:

• Instal dan konfigurasikan AWS CLI. Untuk informasi selengkapnya, lihat Menginstal AWS CLI (p. 5) dan
Dasar-dasar konfigurasi (p. 28).
• Gunakan minimumAWS CLIversi 1.11.24 atau 2.0.0.
• (Opsional) Untuk menggunakanAWS CLIalias bash script, Anda harus menggunakan terminal bash-
kompatibel.

Langkah 1: Membuat file alias


Membuataliasfile, Anda dapat menggunakan navigasi file dan editor teks, atau menggunakan terminal
pilihan Anda dengan menggunakanstep-by-stepProsedur. Untuk membuat file alias Anda dengan cepat,
gunakan blok perintah berikut.

Linux and macOS

$ mkdir -p ~/.aws/cli
$ echo '[toplevel]' > ~/.aws/cli/alias

Windows

C:\> md %USERPROFILE%\.aws\cli

115
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Langkah 2: Membuat alias

C:\> echo [toplevel] > %USERPROFILE%/.aws/cli/alias

Untuk membuat file alias

1. Membuat folder bernamaclidiAWS CLIfolder konfigurasi. Secara default folder konfigurasi


adalah~/.aws/pada Linux atau macOS dan%USERPROFILE%\.aws\pada Windows. Anda dapat
membuat ini melalui navigasi file atau dengan menggunakan perintah berikut.

Linux and macOS

$ mkdir -p ~/.aws/cli

Windows

C:\> md %USERPROFILE%\.aws\cli

Yang dihasilkanclipath default folder adalah~/.aws/cli/pada Linux atau macOS


dan%USERPROFILE%\.aws\clipada Windows.
2. Diclifolder, membuat file teks bernamaaliastanpa ekstensi dan menambahkan[toplevel]ke
baris pertama. Anda dapat membuat file ini melalui editor teks pilihan Anda atau menggunakan
perintah berikut.

Linux and macOS

$ echo '[toplevel]' > ~/.aws/cli/alias

Windows

$ echo [toplevel] > %USERPROFILE%/.aws/cli/alias

Langkah 2: Membuat alias


Anda dapat membuat alias menggunakan perintah dasar atau skrip bash.

Membuat alias perintah dasar


Anda dapat membuat alias Anda dengan menambahkan perintah menggunakan sintaks berikut dialiasfile
yang Anda buat pada langkah sebelumnya.

Sintaks

aliasname = command [--options]

Parameteraliasnameadalah apa yang Anda sebut alias Anda. Parameterkomandoadalah perintah yang
ingin Anda panggil, yang dapat mencakup alias lainnya. Anda dapat menyertakan opsi atau parameter
dalam alias Anda, atau menambahkannya saat memanggil alias Anda.

Contoh berikut membuat alias bernamaaws whoamimenggunakanaws sts get-caller-


identityperintah. Karena alias ini memanggil yang sudah adaAWS CLIperintah, Anda dapat menulis
perintah tanpaawsprefiks.

116
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Langkah 2: Membuat alias

whoami = sts get-caller-identity

Contoh berikut mengambil sebelumnyawhoamicontoh dan menambahkanAccountfilter dan


teksoutputPilihan.

whoami2 = sts get-caller-identity --query AccountName --output text

Membuat bash scripting alias


Warning

Untuk menggunakanAWS CLIalias bash script, Anda harus menggunakan terminal bash-
kompatibel

Anda dapat membuat alias menggunakan skrip bash untuk proses yang lebih maju menggunakan sintaks
berikut.

Sintaks

aliasname =
!f() {
script content
}; f

Parameteraliasnameadalah apa yang Anda sebut alias Anda dankonten skripadalah script yang ingin
Anda jalankan ketika Anda memanggil alias.

Contoh berikut menggunakanopendnsuntuk menampilkan alamat IP Anda saat ini. Karena Anda dapat
menggunakan alias di alias lain, berikutmyipalias berguna untuk mengizinkan atau mencabut akses untuk
alamat IP Anda dari dalam alias lainnya.

myip =
!f() {
dig +short myip.opendns.com @resolver1.opendns.com
}; f

Contoh skrip berikut memanggil sebelumnyaaws myipalias untuk mengotorisasi alamat IP Anda untuk
masuknya grup keamanan Amazon EC2.

authorize-my-ip =
!f() {
ip=$(aws myip)
aws ec2 authorize-security-group-ingress --group-id ${1} --cidr $ip/32 --protocol tcp
--port 22
}; f

Ketika Anda memanggil alias yang menggunakan bash scripting, variabel selalu diteruskan dalam urutan
yang Anda masukkan mereka. Dalam bash scripting, nama variabel tidak dipertimbangkan, hanya urutan
mereka muncul. Berikut initextalertalias contoh, variabel untuk--messageadalah yang pertama dan--
phone-numberpilihan kedua.

textalert =
!f() {
aws sns publish --message "${1}" --phone-number ${2}
}; f

117
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Langkah 3: Memanggil alias

Langkah 3: Memanggil alias


Untuk menjalankan alias yang Anda buat dialiasgunakan sintaks berikut. Anda dapat menambahkan opsi
tambahan saat memanggil alias Anda.

Sintaks

$ aws aliasname

Contoh berikut menggunakanaws whoamialias.

$ aws
whoami
{
"UserId": "A12BCD34E5FGHI6JKLM",
"Account": "1234567890987",
"Arn": "arn:aws:iam::1234567890987:user/userName"
}

Contoh berikut menggunakanaws whoamialias dengan opsi tambahan untuk hanya


mengembalikanAccountnomor ditextoutput.

$ aws whoami --query Account --output


text
1234567890987

Memanggil alias menggunakan variabel bash scripting


Ketika Anda memanggil alias yang menggunakan bash scripting, variabel dilewatkan dalam urutan mereka
dimasukkan. Dalam bash scripting, nama variabel tidak dipertimbangkan, hanya urutan mereka muncul.
Misalnya, pada langkah berikuttextalertalias, variabel untuk opsi--messageadalah yang pertama
dan--phone-numberadalah yang kedua.

textalert =
!f() {
aws sns publish --message "${1}" --phone-number ${2}
}; f

Ketika Anda memanggiltextalertSebagai contoh, Anda harus lulus variabel dalam urutan
yang sama seperti mereka dijalankan di alias. Pada contoh berikut kita menggunakan
variabel$messagedan$phone. Parameter$messagevariabel dilewatkan sebagai${1}untuk--
messageopsi dan$phonevariabel dilewatkan sebagai${2}untuk--phone-numberopsi. Hal ini
menyebabkan berhasil memanggiltextalertalias untuk mengirim pesan.

$ aws textalert $message


$phone
{
"MessageId": "1ab2cd3e4-fg56-7h89-i01j-2klmn34567"
}

Pada contoh berikut, pesanan diaktifkan saat memanggil alias ke$phonedan$message.


Parameter$phonevariabel dilewatkan sebagai${1}untuk--messageopsi dan$messagevariabel
dilewatkan sebagai${2}untuk--phone-numberopsi. Karena variabel rusak, alias melewati variabel
secara tidak benar. Hal ini menyebabkan kesalahan karena isi$messagetidak cocok dengan persyaratan
pemformatan nomor telepon untuk--phone-numberopsi.

118
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Contoh repositori alias

$ aws textalert $phone


$message
usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters]
To see help text, you can run:

aws help
aws <command> help
aws <command> <subcommand> help

Unknown options: text

Contoh repositori alias


ParameterAWS CLIrepositori aliasdi atasGitHubmengandungAWS CLIalias contoh yang dibuat olehAWS
CLItim pengembang dan komunitas. Anda dapat menggunakan seluruhaliasmengajukan contoh atau
mengambil alias individu untuk penggunaan Anda sendiri.
Warning

Menjalankan perintah di bagian ini menghapus yang sudah adaaliasberkas. Untuk menghindari
Timpa file alias yang ada, ubah lokasi unduhan Anda.

Menggunakan alias dari repositori

1. Instal Git. Untuk instruksi instalasi, lihatMemulai - Memasang Gitdi dalamDokumentasi Git.
2. Instaljpperintah. Parameterjpperintah yang digunakan dalamtostringalias. Untuk instruksi
instalasi, lihatJMesPath (jp) ReadMe.mddi atasGitHub.
3. Instaljqperintah. Parameterjqperintah yang digunakan dalamtostring-with-jqalias. Untuk
instruksi instalasi, lihatProsesor JSON (jq)di atasGitHub.
4. Mengunduhaliasfile dengan melakukan salah satu hal berikut:

• Jalankan perintah berikut yang mendownload dari repositori dan menyalinaliasfile ke folder
konfigurasi Anda.
Linux and macOS

$ git clone https://github.com/awslabs/awscli-aliases.git


$ mkdir -p ~/.aws/cli
$ cp awscli-aliases/alias ~/.aws/cli/alias

Windows

C:\> git clone https://github.com/awslabs/awscli-aliases.git


C:\> md %USERPROFILE%\.aws\cli
C:\> copy awscli-aliases\alias %USERPROFILE%\.aws\cli

• Download langsung dari repositori dan simpan keclifolder diAWS CLIfolder konfigurasi. Secara
default folder konfigurasi adalah~/.aws/pada Linux atau macOS dan%USERPROFILE%\.aws
\pada Windows.
5. Untuk memverifikasi alias berikut.

$ aws whoami

Ini menampilkan respon yang sama denganaws sts get-caller-identityperintah:

{
"Account": "012345678901",

119
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Sumber daya

"UserId": "AIUAINBADX2VEG2TC6HD6",
"Arn": "arn:aws:iam::012345678901:user/myuser"
}

Sumber daya
• ParameterAWS CLIrepositori aliasdi atasGitHubmengandungAWS CLIalias contoh yang dibuat olehAWS
CLItim pengembang dan kontribusi dariAWS CLIkomunitas.
• Pengumuman fitur alias dariAWSRe: Invent 2016: EfektifAWS CLIPenggunadi atasYouTube.
• aws sts get-caller-identity
• aws ec2 describe-instances
• aws sns publish

120
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
DynamoDB

MenggunakanAWS CLIuntuk bekerja


denganAWSLayanan
Bagian ini memberikan contoh yang menunjukkan cara menggunakanAWS Command Line Interface(AWS
CLI) untuk mengakses berbagaiAWSlayanan.
Note

Untuk referensi lengkap dari semua perintah yang tersedia untuk setiap layanan, lihatAWS
CLIpanduan referensi, atau gunakan bantuan baris perintah bawaan. Untuk informasi
selengkapnya, lihat Mendapatkan bantuan denganAWS CLI (p. 70).

Layanan
• Menggunakan Amazon DynamoDB denganAWS CLI (p. 121)
• Menggunakan Amazon EC2 denganAWS CLI (p. 124)
• Menggunakan Amazon S3 Glacier denganAWS CLI (p. 140)
• MenggunakanAWS Identity and Access ManagementdariAWS CLI (p. 144)
• Menggunakan Amazon S3 denganAWS CLI (p. 148)
• Menggunakan Amazon SNS denganAWS CLI (p. 160)
• Menggunakan Amazon Simple Workflow Service denganAWS CLI (p. 162)

Menggunakan Amazon DynamoDB denganAWS


CLI
Pengantar Amazon DynamoDB

Apa itu Amazon DynamoDB?

ParameterAWS Command Line Interface(AWS CLI) menyediakan dukungan untuk semuaAWSlayanan


database, termasuk Amazon DynamoDB. Anda dapat menggunakanAWS CLIuntuk operasi dadakan,
seperti membuat tabel. Anda juga dapat menggunakannya untuk menanamkan operasi DynamoDB dalam
skrip utilitas.

Untuk informasi lebih lanjut tentang penggunaanAWS CLIdengan DynamoDB, lihatdynamodbdiAWS


CLIReferensi Perintah.

Untuk membuat daftarAWS CLIperintah untuk DynamoDB, gunakan perintah berikut.

$ aws dynamodb help

Topik
• Prasyarat (p. 122)

121
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Prasyarat

• Membuat dan menggunakan tabel DynamoDB (p. 122)


• Menggunakan DynamoDB Lokal (p. 123)
• Sumber daya (p. 123)

Prasyarat
Untuk menjalankandynamodbperintah, Anda perlu:

• AWS CLIdiinstal, lihatMenginstal AWS CLI (p. 5)untuk informasi lebih lanjut.
• AWS CLIdikonfigurasi, lihatDasar-dasar konfigurasi (p. 28)untuk informasi lebih lanjut. Profil yang Anda
gunakan harus memiliki izin yang memungkinkanAWSoperasi yang dilakukan oleh contoh-contoh.

Membuat dan menggunakan tabel DynamoDB


Format baris perintah terdiri dari nama perintah DynamoDB, diikuti oleh parameter untuk perintah tersebut.
ParameterAWS CLImendukung CLIsintaksis singkatan (p. 89)untuk nilai parameter, dan JSON penuh.

Contoh berikut membuat tabel bernamaMusicCollection.

$ aws dynamodb create-table \


--table-name MusicCollection \
--attribute-definitions AttributeName=Artist,AttributeType=S
AttributeName=SongTitle,AttributeType=S \
--key-schema AttributeName=Artist,KeyType=HASH AttributeName=SongTitle,KeyType=RANGE \
--provisioned-throughput ReadCapacityUnits=1,WriteCapacityUnits=1

Anda dapat menambahkan baris baru ke tabel dengan perintah yang mirip dengan yang ditampilkan dalam
contoh berikut. Contoh-contoh ini menggunakan kombinasi sintaks singkatan dan JSON.

$ aws dynamodb put-item \


--table-name MusicCollection \
--item '{
"Artist": {"S": "No One You Know"},
"SongTitle": {"S": "Call Me Today"} ,
"AlbumTitle": {"S": "Somewhat Famous"}
}' \
--return-consumed-capacity TOTAL
{
"ConsumedCapacity": {
"CapacityUnits": 1.0,
"TableName": "MusicCollection"
}
}

$ aws dynamodb put-item \


--table-name MusicCollection \
--item '{
"Artist": {"S": "Acme Band"},
"SongTitle": {"S": "Happy Day"} ,
"AlbumTitle": {"S": "Songs About Life"}
}' \
--return-consumed-capacity TOTAL

{
"ConsumedCapacity": {
"CapacityUnits": 1.0,
"TableName": "MusicCollection"

122
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Menggunakan DynamoDB Lokal

}
}

Hal ini dapat sulit untuk menulis JSON yang valid dalam perintah single-line. Untuk membuat ini lebih
mudah,AWS CLIdapat membaca file JSON. Misalnya, perhatikan potongan JSON berikut, yang disimpan
dalam sebuah file bernamaexpression-attributes.json.

{
":v1": {"S": "No One You Know"},
":v2": {"S": "Call Me Today"}
}

Anda dapat menggunakan file tersebut untuk mengeluarkanquerymeminta menggunakanAWS CLI.


Pada contoh berikut, isi dariexpression-attributes.jsonfile digunakan sebagai nilai untuk--
expression-attribute-valuesparameter.

$ aws dynamodb query --table-name MusicCollection \


--key-condition-expression "Artist = :v1 AND SongTitle = :v2" \
--expression-attribute-values file://expression-attributes.json
{
"Count": 1,
"Items": [
{
"AlbumTitle": {
"S": "Somewhat Famous"
},
"SongTitle": {
"S": "Call Me Today"
},
"Artist": {
"S": "No One You Know"
}
}
],
"ScannedCount": 1,
"ConsumedCapacity": null
}

Menggunakan DynamoDB Lokal


Selain DynamoDB, Anda dapat menggunakanAWS CLIdengan DynamoDB Lokal. DynamoDB lokal adalah
database sisi klien kecil dan server yang meniru layanan DynamoDB. DynamoDB Local memungkinkan
Anda untuk menulis aplikasi yang menggunakan API DynamoDB, tanpa memanipulasi tabel atau data
apa pun di layanan web DynamoDB. Sebaliknya, semua tindakan API dialihkan ke database lokal. Hal ini
memungkinkan Anda menghemat biaya throughput, penyimpanan data, dan transfer data yang tersedia.

Untuk informasi selengkapnya tentang DynamoDB Local dan cara menggunakannya denganAWS CLI, lihat
bagian berikut dariPanduan Developer Amazon DynamoDB:

• Lokal DynamoDB
• MenggunakanAWS CLIdengan DynamoDB Lokal

Sumber daya
AWS CLIreferensi:

• aws dynamodb

123
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Amazon EC2

• aws dynamodb create-table


• aws dynamodb put-item
• aws dynamodb query

Referensi layanan:

• Lokal DynamoDBdalam Panduan Developer Amazon DynamoDB


• MenggunakanAWS CLIdengan DynamoDB Lokaldalam Panduan Developer Amazon DynamoDB

Menggunakan Amazon EC2 denganAWS CLI


Pengantar Amazon Elastic Compute Cloud

Pengantar Amazon EC2 - Elastic Cloud Server dan Hosting denganAWS

Anda dapat mengakses fitur Amazon Elastic Compute Cloud (Amazon EC2) menggunakanAWS Command
Line Interface(AWS CLI). Untuk membuat daftarAWS CLIperintah untuk Amazon EC2, gunakan perintah
berikut.

aws ec2 help

Sebelum menjalankan perintah apa pun, atur kredensi default Anda. Untuk informasi selengkapnya, lihat
Mengonfigurasi AWS CLI (p. 28).

Topik ini menunjukkan contoh bentuk pendekAWS CLIperintah yang melakukan tugas umum untuk
Amazon EC2.

Untuk contoh bentuk panjangAWS CLIperintah, lihatAWS CLIrepositori kodedi atasGitHub.

Topik
• Membuat, menampilkan, dan menghapus pasangan kunci Amazon EC2 (p. 124)
• Membuat, mengkonfigurasi, dan menghapus grup keamanan untuk Amazon EC2 (p. 127)
• Meluncurkan, mendaftarkan, dan mengakhiri instans Amazon EC2 (p. 131)
• Mengubah tipe instans Amazon EC2 menggunakan skrip bash (p. 138)

Membuat, menampilkan, dan menghapus pasangan


kunci Amazon EC2
Anda dapat menggunakanAWS Command Line Interface(AWS CLI) untuk membuat, menampilkan,
dan menghapus pasangan kunci Anda untuk Amazon Elastic Compute Cloud (Amazon EC2). Anda
menggunakan pasangan kunci untuk terhubung ke instans Amazon EC2.

Anda harus memberikan key pair ke Amazon EC2 saat membuat instans, dan kemudian menggunakan key
pair tersebut untuk mengautentikasi saat Anda terhubung ke instans.
Note

Untuk contoh perintah tambahan, lihatAWS CLIpanduan referensi.

124
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Pasangan Kunci Amazon EC2

Topik
• Prasyarat (p. 125)
• Membuat key pair (p. 125)
• Tampilkan key pair Anda (p. 126)
• Menghapus pasangan kunci Anda (p. 126)
• References (p. 126)

Prasyarat
Untuk menjalankanec2perintah, Anda perlu:

• Instal dan konfigurasikan AWS CLI. Untuk informasi selengkapnya, lihat Menginstal AWS CLI (p. 5) dan
Dasar-dasar konfigurasi (p. 28).
• Setel izin IAM Anda untuk memungkinkan akses Amazon EC2. Untuk informasi selengkapnya tentang
izin IAM untuk Amazon EC2, lihatKebijakan IAM untuk Amazon EC2diPanduan Pengguna Amazon EC2
untuk Instans Linux.

Membuat key pair


Untuk membuat sebuah key pair, gunakanaws ec2 create-key-pairperintah dengan--querypilihan,
dan--output textpilihan untuk pipa kunci pribadi Anda langsung ke file.

$ aws ec2 create-key-pair --key-name MyKeyPair --query 'KeyMaterial' --output text


> MyKeyPair.pem

UntukPowerShell, yang> filepengalihan default ke UTF-8 encoding, yang tidak dapat digunakan dengan
beberapa klien SSH. Jadi, Anda harus mengkonversi output dengan pipa keout-fileperintah dan secara
eksplisit mengatur encoding keascii.

PS C:\>aws ec2 create-key-pair --key-name MyKeyPair --query 'KeyMaterial' --output text |


out-file -encoding ascii -filepath MyKeyPair.pem

Yang dihasilkanMyKeyPair.pemFile terlihat mirip dengan yang berikut ini.

-----BEGIN RSA PRIVATE KEY-----


EXAMPLEKEYKCAQEAy7WZhaDsrA1W3mRlQtvhwyORRX8gnxgDAfRt/gx42kWXsT4rXE/b5CpSgie/
vBoU7jLxx92pNHoFnByP+Dc21eyyz6CvjTmWA0JwfWiW5/akH7iO5dSrvC7dQkW2duV5QuUdE0QW
Z/aNxMniGQE6XAgfwlnXVBwrerrQo+ZWQeqiUwwMkuEbLeJFLhMCvYURpUMSC1oehm449ilx9X1F
G50TCFeOzfl8dqqCP6GzbPaIjiU19xX/azOR9V+tpUOzEL+wmXnZt3/nHPQ5xvD2OJH67km6SuPW
oPzev/D8V+x4+bHthfSjR9Y7DvQFjfBVwHXigBdtZcU2/wei8D/HYwIDAQABAoIBAGZ1kaEvnrqu
/uler7vgIn5m7lN5LKw4hJLAIW6tUT/fzvtcHK0SkbQCQXuriHmQ2MQyJX/0kn2NfjLV/ufGxbL1
mb5qwMGUnEpJaZD6QSSs3kICLwWUYUiGfc0uiSbmJoap/GTLU0W5Mfcv36PaBUNy5p53V6G7hXb2
bahyWyJNfjLe4M86yd2YK3V2CmK+X/BOsShnJ36+hjrXPPWmV3N9zEmCdJjA+K15DYmhm/tJWSD9
81oGk9TopEp7CkIfatEATyyZiVqoRq6k64iuM9JkA3OzdXzMQexXVJ1TLZVEH0E7bhlY9d8O1ozR
oQs/FiZNAx2iijCWyv0lpjE73+kCgYEA9mZtyhkHkFDpwrSM1APaL8oNAbbjwEy7Z5Mqfql+lIp1
YkriL0DbLXlvRAH+yHPRit2hHOjtUNZh4Axv+cpg09qbUI3+43eEy24B7G/Uh+GTfbjsXsOxQx/x
p9otyVwc7hsQ5TA5PZb+mvkJ5OBEKzet9XcKwONBYELGhnEPe7cCgYEA06Vgov6YHleHui9kHuws
ayav0elc5zkxjF9nfHFJRry21R1trw2Vdpn+9g481URrpzWVOEihvm+xTtmaZlSp//lkq75XDwnU
WA8gkn6O3QE3fq2yN98BURsAKdJfJ5RL1HvGQvTe10HLYYXpJnEkHv+Unl2ajLivWUt5pbBrKbUC
gYBjbO+OZk0sCcpZ29sbzjYjpIddErySIyRX5gV2uNQwAjLdp9PfN295yQ+BxMBXiIycWVQiw0bH
oMo7yykABY7Ozd5wQewBQ4AdSlWSX4nGDtsiFxWiI5sKuAAeOCbTosy1s8w8fxoJ5Tz1sdoxNeGs
Arq6Wv/G16zQuAE9zK9vvwKBgF+09VI/1wJBirsDGz9whVWfFPrTkJNvJZzYt69qezxlsjgFKshy
WBhd4xHZtmCqpBPlAymEjr/TOlbxyARmXMnIOWIAnNXMGB4KGSyl1mzSVAoQ+fqR+cJ3d0dyPl1j
jjb0Ed/NY8frlNDxAVHE8BSkdsx2f6ELEyBKJSRr9snRAoGAMrTwYneXzvTskF/S5Fyu0iOegLDa
NWUH38v/nDCgEpIXD5Hn3qAEcju1IjmbwlvtW+nY2jVhv7UGd8MjwUTNGItdb6nsYqM2asrnF3qS

125
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Pasangan Kunci Amazon EC2

VRkAKKKYeGjkpUfVTrW0YFjXkfcrR/V+QFL5OndHAKJXjW7a4ejJLncTzmZSpYzwApc=
-----END RSA PRIVATE KEY-----

Kunci pribadi Anda tidak disimpanAWSdan dapat diambilcumaketika itu dibuat. Anda tidak dapat
memulihkannya nanti. Sebaliknya, jika Anda kehilangan kunci privat, Anda harus membuat key pair baru.

Jika Anda terhubung ke instans Anda dari komputer Linux, sebaiknya gunakan perintah berikut ini untuk
mengatur izin file kunci pribadi Anda sehingga hanya Anda yang dapat membacanya.

$ chmod 400 MyKeyPair.pem

Tampilkan key pair Anda


Sebuah “sidik jari” dihasilkan dari key pair Anda, dan Anda dapat menggunakannya untuk memverifikasi
kunci pribadi yang Anda miliki di mesin lokal Anda cocok dengan kunci publik yang disimpan dalamAWS.

Sidik jari adalah hash SHA1 yang diambil dari salinan kunci pribadi yang dikodekan DER-dikodekan. Nilai
ini ditangkap ketika key pair dibuat, dan disimpan dalamAWSdengan kunci publik. Anda dapat melihat sidik
jari di konsol Amazon EC2 atau dengan menjalankanAWS CLIkomandoaws ec2 describe-key-pairs.

Contoh berikut menampilkan sidik jari untukMyKeyPair.

$ aws ec2 describe-key-pairs --key-name MyKeyPair


{
"KeyPairs": [
{
"KeyName": "MyKeyPair",
"KeyFingerprint": "1f:51:ae:28:bf:89:e9:d8:1f:25:5d:37:2d:7d:b8:ca:9f:f5:f1:6f"
}
]
}

Untuk informasi selengkapnya tentang kunci dan sidik jari, lihatPasangan Kunci Amazon EC2diPanduan
Pengguna Amazon EC2 untuk Instans Linux.

Menghapus pasangan kunci Anda


Untuk menghapus sebuah key pair, jalankanaws ec2 delete-key-pairperintah,
menggantikanMyKeyPairdengan nama pasangan untuk dihapus.

$ aws ec2 delete-key-pair --key-name MyKeyPair

References
AWS CLIreferensi:

• aws ec2
• aws ec2 create-key-pair
• aws ec2 delete-key-pair
• aws ec2 describe-key-pairs

Referensi lainnya:

• Dokumentasi Amazon Elastic Compute Cloud

126
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Grup Keamanan Amazon EC2

• Untuk melihat dan berkontribusiAWSSDK danAWS CLIcontoh kode, lihatAWSContoh kodedi atasGitHub.

Membuat, mengkonfigurasi, dan menghapus grup


keamanan untuk Amazon EC2
Warning

Topik ini mencakup beberapa contoh bagaimana menggunakan EC2-Classic.AWSpensiun EC2-


klasik pada tanggal 15 Agustus 2022. Jika Anda belum melakukannya, sebaiknya Anda bermigrasi
dari EC2-Classic ke VPC. Untuk informasi selengkapnya, lihatMemindahkan dari EC2-Classic ke
VPCdiPanduan Pengguna Amazon EC2dan blogJaringan EC2-Classic adalah Pensiun - Inilah
Cara Mempersiapkan.

Anda dapat membuat grup keamanan untuk instans Amazon Elastic Compute Cloud (Amazon EC2) yang
pada dasarnya beroperasi sebagai firewall, dengan aturan yang menentukan lalu lintas jaringan apa yang
dapat masuk dan keluar.

Anda dapat membuat grup keamanan untuk digunakan di Virtual Private Cloud (VPC), atau di jaringan
datar bersama EC2-Classic. Untuk informasi selengkapnya tentang perbedaan antara EC2-Classic dan
EC2-VPC, lihatPlatform yang DidukungdiPanduan Pengguna Amazon EC2 untuk Instans Linux.

GunakanAWS Command Line Interface(AWS CLI) untuk membuat grup keamanan, menambahkan aturan
ke grup keamanan yang ada, dan menghapus grup keamanan.
Note

Untuk contoh perintah tambahan, lihatAWS CLIpanduan referensi.

Topik
• Prasyarat (p. 127)
• Membuat grup keamanan (p. 127)
• Tambahkan aturan ke grup keamanan Anda (p. 129)
• Menghapus grup keamanan Anda (p. 131)
• References (p. 131)

Prasyarat
Untuk menjalankanec2perintah, Anda perlu:

• Instal dan konfigurasikan AWS CLI. Untuk informasi selengkapnya, lihat Menginstal AWS CLI (p. 5) dan
Dasar-dasar konfigurasi (p. 28).
• Setel izin IAM Anda untuk memungkinkan akses Amazon EC2. Untuk informasi selengkapnya tentang
izin IAM untuk Amazon EC2, lihatKebijakan IAM untuk Amazon EC2diPanduan Pengguna Amazon EC2
untuk Instans Linux.

Membuat grup keamanan


Anda dapat membuat grup keamanan yang terkait dengan VPC atau EC2-Classic.

EC2-VPC
Berikutaws ec2 create-security-groupcontoh menunjukkan cara membuat grup keamanan untuk
VPC yang ditentukan.

127
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Grup Keamanan Amazon EC2

$ aws ec2 create-security-group --group-name my-sg --description "My security group" --vpc-
id vpc-1a2b3c4d
{
"GroupId": "sg-903004f8"
}

Untuk melihat informasi awal grup keamanan, jalankanaws ec2 describe-security-groupsperintah.


Anda dapat mereferensikan grup keamanan EC2-VPC hanya denganvpc-id, bukan namanya.

$ aws ec2 describe-security-groups --group-ids sg-903004f8


{
"SecurityGroups": [
{
"IpPermissionsEgress": [
{
"IpProtocol": "-1",
"IpRanges": [
{
"CidrIp": "0.0.0.0/0"
}
],
"UserIdGroupPairs": []
}
],
"Description": "My security group"
"IpPermissions": [],
"GroupName": "my-sg",
"VpcId": "vpc-1a2b3c4d",
"OwnerId": "123456789012",
"GroupId": "sg-903004f8"
}
]
}

EC2-Classic
Berikutaws ec2 create-security-groupcontoh menunjukkan cara membuat grup keamanan untuk
EC2-Classic.

$ aws ec2 create-security-group --group-name my-sg --description "My security group"


{
"GroupId": "sg-903004f8"
}

Untuk melihat informasi awalmy-sg,aws ec2 describe-security-groupsperintah. Untuk grup


keamanan EC2-Classic, Anda dapat mereferensinya dengan namanya.

$ aws ec2 describe-security-groups --group-names my-sg


{
"SecurityGroups": [
{
"IpPermissionsEgress": [],
"Description": "My security group"
"IpPermissions": [],
"GroupName": "my-sg",
"OwnerId": "123456789012",
"GroupId": "sg-903004f8"
}
]
}

128
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Grup Keamanan Amazon EC2

Tambahkan aturan ke grup keamanan Anda


Saat menjalankan instans Amazon EC2, Anda harus mengaktifkan aturan dalam grup keamanan untuk
mengizinkan lalu lintas jaringan masuk untuk cara Anda menyambung ke gambar.

Misalnya, jika Anda meluncurkan instance Windows, Anda biasanya menambahkan aturan untuk
mengizinkan lalu lintas masuk pada port TCP 3389 untuk mendukung Remote Desktop Protocol (RDP).
Jika Anda meluncurkan instance Linux, Anda biasanya menambahkan aturan untuk mengizinkan lalu lintas
masuk pada port TCP 22 untuk mendukung koneksi SSH.

Gunakanaws ec2 authorize-security-group-ingressperintah untuk menambahkan aturan ke


grup keamanan Anda. Parameter yang diperlukan dari perintah ini adalah alamat IP publik komputer Anda,
atau jaringan (dalam bentuk rentang alamat) yang dilampirkan komputer Anda, diCIDRnotasi.
Note

Kami menyediakan layanan berikut,https://checkip.amazonaws.com/, untuk memungkinkan Anda


menentukan alamat IP publik Anda. Untuk menemukan layanan lain yang dapat membantu Anda
mengidentifikasi alamat IP Anda, gunakan browser Anda untuk mencari”apa alamat IP saya“. Jika
Anda terhubung melalui ISP atau dari belakang firewall menggunakan alamat IP dinamis (melalui
gateway NAT dari jaringan pribadi), alamat Anda dapat berubah secara berkala. Dalam hal ini,
Anda harus mengetahui rentang alamat IP yang digunakan oleh komputer klien.

EC2-VPC
Contoh berikut menunjukkan cara menambahkan aturan untuk RDP (port TCP 3389) ke grup keamanan
EC2-VPC dengan IDsg-903004f8menggunakan alamat IP Anda.

Untuk memulai, temukan alamat IP Anda.

$ curl https://checkip.amazonaws.com
x.x.x.x

Anda kemudian dapat menambahkan alamat IP ke grup keamanan Anda dengan menjalankanaws ec2
authorize-security-group-ingressperintah.

$ aws ec2 authorize-security-group-ingress --group-id sg-903004f8 --protocol tcp --port


3389 --cidr x.x.x.x

Perintah berikut menambahkan aturan lain untuk mengaktifkan SSH ke instance dalam grup keamanan
yang sama.

$ aws ec2 authorize-security-group-ingress --group-id sg-903004f8 --protocol tcp --port 22


--cidr x.x.x.x

Untuk melihat perubahan pada grup keamanan, jalankanaws ec2 describe-security-


groupsperintah.

$ aws ec2 describe-security-groups --group-ids sg-903004f8


{
"SecurityGroups": [
{
"IpPermissionsEgress": [
{
"IpProtocol": "-1",
"IpRanges": [

129
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Grup Keamanan Amazon EC2

{
"CidrIp": "0.0.0.0/0"
}
],
"UserIdGroupPairs": []
}
],
"Description": "My security group"
"IpPermissions": [
{
"ToPort": 22,
"IpProtocol": "tcp",
"IpRanges": [
{
"CidrIp": "x.x.x.x"
}
]
"UserIdGroupPairs": [],
"FromPort": 22
}
],
"GroupName": "my-sg",
"OwnerId": "123456789012",
"GroupId": "sg-903004f8"
}
]
}

EC2-Classic
Berikutaws ec2 authorize-security-group-ingressperintah menambahkan aturan untuk RDP ke
grup keamanan EC2-Classic bernamamy-sg.

$ aws ec2 authorize-security-group-ingress --group-name my-sg --protocol tcp --port 3389 --


cidr x.x.x.x

Perintah berikut menambahkan aturan lain untuk SSH ke grup keamanan yang sama.

$ aws ec2 authorize-security-group-ingress --group-name my-sg --protocol tcp --port 22 --


cidr x.x.x.x

Untuk melihat perubahan pada grup keamanan Anda, jalankanaws ec2 describe-security-
groupsperintah.

$ aws ec2 describe-security-groups --group-names my-sg


{
"SecurityGroups": [
{
"IpPermissionsEgress": [],
"Description": "My security group"
"IpPermissions": [
{
"ToPort": 22,
"IpProtocol": "tcp",
"IpRanges": [
{
"CidrIp": "x.x.x.x"
}
]
"UserIdGroupPairs": [],
"FromPort": 22

130
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Instans EC2

}
],
"GroupName": "my-sg",
"OwnerId": "123456789012",
"GroupId": "sg-903004f8"
}
]
}

Menghapus grup keamanan Anda


Untuk menghapus sebuah grup keamanan, jalankanaws ec2 delete-security-groupperintah.
Note

Anda tidak dapat menghapus grup keamanan saat ini terpasang ke lingkungan.

EC2-VPC
Contoh perintah berikut menghapus grup keamanan EC2-VPC.

$ aws ec2 delete-security-group --group-id sg-903004f8

EC2-Classic
Contoh perintah berikut menghapus grup keamanan EC2-Classic bernamamy-sg.

$ aws ec2 delete-security-group --group-name my-sg

References
AWS CLIreferensi:

• aws ec2
• aws ec2 authorize-security-group-ingress
• aws ec2 create-security-group
• aws ec2 delete-security-group
• aws ec2 describe-security-groups

Referensi lainnya:

• Dokumentasi Amazon Elastic Compute Cloud


• Untuk melihat dan berkontribusiAWSSDK danAWS CLIcontoh kode, lihatAWSContoh kodedi atasGitHub.

Meluncurkan, mendaftarkan, dan mengakhiri instans


Amazon EC2
Warning

Topik ini mencakup beberapa contoh bagaimana menggunakan EC2-Classic.AWSpensiun EC2-


klasik pada tanggal 15 Agustus 2022. Jika Anda belum melakukannya, sebaiknya Anda bermigrasi

131
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Instans EC2

dari EC2-Classic ke VPC. Untuk informasi selengkapnya, lihatMemindahkan dari EC2-Classic ke


VPCdiPanduan Pengguna Amazon EC2dan blogJaringan EC2-Classic adalah Pensiun - Inilah
Cara Mempersiapkan.

Anda dapat menggunakanAWS Command Line Interface(AWS CLI) untuk meluncurkan, mencantumkan,
dan mengakhiri instans Amazon Elastic Compute Cloud (Amazon EC2). Jika Anda meluncurkan sebuah
instance yang tidak ada dalamAWSTingkat Gratis, Anda akan ditagih setelah Anda meluncurkan instans
dan dikenai biaya selama instans tersebut berjalan, meskipun instans tetap menganggur.
Note

Untuk contoh perintah tambahan, lihatAWS CLIpanduan referensi.

Topik
• Prasyarat (p. 132)
• Luncurkan instance Anda (p. 132)
• Menambahkan perangkat blok ke instans Anda (p. 135)
• Menambahkan tag ke instans Anda (p. 136)
• Connect ke instans Anda (p. 136)
• Buat daftar contoh Anda (p. 136)
• Akhiri permintaan Anda (p. 137)
• References (p. 137)

Prasyarat
Untuk menjalankanec2perintah dalam topik ini, Anda perlu:

• Instal dan konfigurasikan AWS CLI. Untuk informasi selengkapnya, lihat Menginstal AWS CLI (p. 5) dan
Dasar-dasar konfigurasi (p. 28).
• Setel izin IAM Anda untuk memungkinkan akses Amazon EC2. Untuk informasi selengkapnya tentang
izin IAM untuk Amazon EC2, lihatKebijakan IAM untuk Amazon EC2diPanduan Pengguna Amazon EC2
untuk Instans Linux.
• Buatpasangan kunci (p. 124)dangrup keamanan (p. 127).
• Pilih Amazon Machine Image (AMI) dan catat AMI ID. Untuk informasi selengkapnya, lihatMenemukan
AMI yang CocokdiPanduan Pengguna Amazon EC2 untuk Instans Linux.

Luncurkan instance Anda


Untuk meluncurkan instans Amazon EC2 menggunakan AMI yang Anda pilih, gunakanaws ec2 run-
instancesperintah. Anda dapat meluncurkan instance ke virtual private cloud (VPC), atau jika akun Anda
mendukungnya, ke EC2-Classic.

Awalnya, instans Anda muncul dipendingnegara, tapi perubahan padarunningsetelah beberapa menit.

EC2-VPC
Contoh berikut menunjukkan cara meluncurkant2.micromisalnya di subnet yang ditentukan dari VPC.
Gantimiringnilai parameter dengan nilai Anda sendiri.

$ aws ec2 run-instances --image-id ami-xxxxxxxx --count 1 --instance-type t2.micro --key-


name MyKeyPair --security-group-ids sg-903004f8 --subnet-id subnet-6e7f829e
{

132
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Instans EC2

"OwnerId": "123456789012",
"ReservationId": "r-5875ca20",
"Groups": [
{
"GroupName": "my-sg",
"GroupId": "sg-903004f8"
}
],
"Instances": [
{
"Monitoring": {
"State": "disabled"
},
"PublicDnsName": null,
"Platform": "windows",
"State": {
"Code": 0,
"Name": "pending"
},
"EbsOptimized": false,
"LaunchTime": "2013-07-19T02:42:39.000Z",
"PrivateIpAddress": "10.0.1.114",
"ProductCodes": [],
"VpcId": "vpc-1a2b3c4d",
"InstanceId": "i-5203422c",
"ImageId": "ami-173d747e",
"PrivateDnsName": ip-10-0-1-114.ec2.internal,
"KeyName": "MyKeyPair",
"SecurityGroups": [
{
"GroupName": "my-sg",
"GroupId": "sg-903004f8"
}
],
"ClientToken": null,
"SubnetId": "subnet-6e7f829e",
"InstanceType": "t2.micro",
"NetworkInterfaces": [
{
"Status": "in-use",
"SourceDestCheck": true,
"VpcId": "vpc-1a2b3c4d",
"Description": "Primary network interface",
"NetworkInterfaceId": "eni-a7edb1c9",
"PrivateIpAddresses": [
{
"PrivateDnsName": "ip-10-0-1-114.ec2.internal",
"Primary": true,
"PrivateIpAddress": "10.0.1.114"
}
],
"PrivateDnsName": "ip-10-0-1-114.ec2.internal",
"Attachment": {
"Status": "attached",
"DeviceIndex": 0,
"DeleteOnTermination": true,
"AttachmentId": "eni-attach-52193138",
"AttachTime": "2013-07-19T02:42:39.000Z"
},
"Groups": [
{
"GroupName": "my-sg",
"GroupId": "sg-903004f8"
}
],
"SubnetId": "subnet-6e7f829e",

133
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Instans EC2

"OwnerId": "123456789012",
"PrivateIpAddress": "10.0.1.114"
}
],
"SourceDestCheck": true,
"Placement": {
"Tenancy": "default",
"GroupName": null,
"AvailabilityZone": "us-west-2b"
},
"Hypervisor": "xen",
"BlockDeviceMappings": [
{
"DeviceName": "/dev/sda1",
"Ebs": {
"Status": "attached",
"DeleteOnTermination": true,
"VolumeId": "vol-877166c8",
"AttachTime": "2013-07-19T02:42:39.000Z"
}
}
],
"Architecture": "x86_64",
"StateReason": {
"Message": "pending",
"Code": "pending"
},
"RootDeviceName": "/dev/sda1",
"VirtualizationType": "hvm",
"RootDeviceType": "ebs",
"Tags": [
{
"Value": "MyInstance",
"Key": "Name"
}
],
"AmiLaunchIndex": 0
}
]
}

EC2-Classic
Jika akun Anda mendukungnya, Anda dapat menggunakan perintah berikut ini untuk
meluncurkant1.micromisalnya di EC2-Classic. Gantimiringnilai parameter dengan nilai Anda sendiri.

$ aws ec2 run-instances --image-id ami-173d747e --count 1 --instance-type t1.micro --key-


name MyKeyPair --security-groups my-sg
{
"OwnerId": "123456789012",
"ReservationId": "r-5875ca20",
"Groups": [
{
"GroupName": "my-sg",
"GroupId": "sg-903004f8"
}
],
"Instances": [
{
"Monitoring": {
"State": "disabled"
},
"PublicDnsName": null,
"Platform": "windows",

134
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Instans EC2

"State": {
"Code": 0,
"Name": "pending"
},
"EbsOptimized": false,
"LaunchTime": "2013-07-19T02:42:39.000Z",
"ProductCodes": [],
"InstanceId": "i-5203422c",
"ImageId": "ami-173d747e",
"PrivateDnsName": null,
"KeyName": "MyKeyPair",
"SecurityGroups": [
{
"GroupName": "my-sg",
"GroupId": "sg-903004f8"
}
],
"ClientToken": null,
"InstanceType": "t1.micro",
"NetworkInterfaces": [],
"Placement": {
"Tenancy": "default",
"GroupName": null,
"AvailabilityZone": "us-west-2b"
},
"Hypervisor": "xen",
"BlockDeviceMappings": [
{
"DeviceName": "/dev/sda1",
"Ebs": {
"Status": "attached",
"DeleteOnTermination": true,
"VolumeId": "vol-877166c8",
"AttachTime": "2013-07-19T02:42:39.000Z"
}
}
],
"Architecture": "x86_64",
"StateReason": {
"Message": "pending",
"Code": "pending"
},
"RootDeviceName": "/dev/sda1",
"VirtualizationType": "hvm",
"RootDeviceType": "ebs",
"Tags": [
{
"Value": "MyInstance",
"Key": "Name"
}
],
"AmiLaunchIndex": 0
}
]
}

Menambahkan perangkat blok ke instans Anda


Setiap instans yang Anda luncurkan memiliki volume perangkat root terkait. Anda dapat menggunakan
pemetaan perangkat blok untuk menentukan volume Amazon Elastic Block Store (Amazon EBS) atau
volume penyimpanan instans untuk dilampirkan ke instans saat diluncurkan.

Untuk menambahkan perangkat blok ke instans Anda, tentukan--block-device-mappingspilihan saat


Anda menggunakanrun-instances.

135
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Instans EC2

Parameter contoh berikut menyediakan volume Amazon EBS standar berukuran 20 GB, dan
memetakannya ke instans Anda menggunakan pengenal/dev/sdf.

--block-device-mappings "[{\"DeviceName\":\"/dev/sdf\",\"Ebs\":{\"VolumeSize\":20,
\"DeleteOnTermination\":false}}]"

Contoh berikut menambahkan volume Amazon EBS, dipetakan ke/dev/sdf, berdasarkan snapshot yang
ada. Snapshot mewakili gambar yang dimuat ke volume untuk Anda. Ketika Anda menentukan snapshot,
Anda tidak perlu menentukan ukuran volume; itu akan cukup besar untuk menahan gambar Anda. Namun,
jika Anda menentukan ukuran, maka harus lebih besar atau sama dengan ukuran snapshot.

--block-device-mappings "[{\"DeviceName\":\"/dev/sdf\",\"Ebs\":{\"SnapshotId\":\"snap-
a1b2c3d4\"}}]"

Contoh berikut menambahkan dua volume ke instance Anda. Jumlah volume yang tersedia untuk instans
Anda bergantung pada jenis instans-nya.

--block-device-mappings "[{\"DeviceName\":\"/dev/sdf\",\"VirtualName\":\"ephemeral0\"},
{\"DeviceName\":\"/dev/sdg\",\"VirtualName\":\"ephemeral1\"}]"

Contoh berikut membuat pemetaan (/dev/sdj), tetapi tidak menyediakan volume untuk instance.

--block-device-mappings "[{\"DeviceName\":\"/dev/sdj\",\"NoDevice\":\"\"}]"

Untuk informasi lebih lanjut, lihat Pemetaan Perangkat Blok di Panduan Pengguna Amazon EC2 untuk
Instans Linux.

Menambahkan tag ke instans Anda


Tanda merupakan sebuah label yang Anda tetapkan ke sebuah sumber daya AWS. Hal ini memungkinkan
Anda untuk menambahkan metadata ke sumber daya Anda yang dapat Anda gunakan untuk berbagai
tujuan. Untuk informasi selengkapnya, lihatMenandai Sumber Daya AndadiPanduan Pengguna Amazon
EC2 untuk Instans Linux.

Contoh berikut menunjukkan cara menambahkan tag dengan nama kunci”Name“dan


nilainya”MyInstance“ke contoh yang ditentukan, dengan menggunakanaws ec2 create-tagsperintah.

$ aws ec2 create-tags --resources i-5203422c --tags Key=Name,Value=MyInstance

Connect ke instans Anda


Saat instans Anda berjalan, Anda dapat terhubung ke instans tersebut dan menggunakannya seperti Anda
menggunakan komputer yang ada di depan Anda. Untuk informasi selengkapnya, lihatConnect ke Instans
Amazon EC2diPanduan Pengguna Amazon EC2 untuk Instans Linux.

Buat daftar contoh Anda


Anda dapat menggunakanAWS CLIuntuk daftar contoh Anda dan melihat informasi tentang mereka. Anda
dapat mencantumkan semua instans Anda, atau memfilter hasil berdasarkan contoh yang Anda minati.

Contoh berikut menunjukkan cara menggunakanaws ec2 describe-instancesperintah.

Perintah berikut memfilter daftar ket2.microcontoh dan output hanyaInstanceIdnilai untuk setiap
pertandingan.

136
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Instans EC2

$ aws ec2 describe-instances --filters "Name=instance-type,Values=t2.micro" --query


"Reservations[].Instances[].InstanceId"
[
"i-05e998023d9c69f9a"
]

Perintah berikut mencantumkan salah satu contoh Anda yang memiliki tagName=MyInstance.

$ aws ec2 describe-instances --filters "Name=tag:Name,Values=MyInstance"

Perintah berikut mencantumkan instans Anda yang diluncurkan menggunakan salah satu AMI berikut:ami-
x0123456,ami-y0123456, danami-z0123456.

$ aws ec2 describe-instances --filters "Name=image-id,Values=ami-x0123456,ami-y0123456,ami-


z0123456"

Akhiri permintaan Anda


Menghentikan sebuah instans akan menghapusnya. Anda tidak dapat terhubung kembali ke instans
setelah Anda menghentikannya.

Segera setelah status instans berubah menjadishutting-downatauterminated, Anda berhenti


menimbulkan biaya untuk instans itu. Jika Anda ingin menyambung kembali ke instance nanti,
gunakanstop-instansbukanterminate-instances. Untuk informasi lebih lanjut, lihat Akhiri Instans Anda
di Panduan Pengguna Amazon EC2 untuk Instans Linux.

Untuk menghapus instance, Anda menggunakan perintahaws ec2 terminate-instancesuntuk


menghapusnya.

$ aws ec2 terminate-instances --instance-ids i-5203422c


{
"TerminatingInstances": [
{
"InstanceId": "i-5203422c",
"CurrentState": {
"Code": 32,
"Name": "shutting-down"
},
"PreviousState": {
"Code": 16,
"Name": "running"
}
}
]
}

References
AWS CLIreferensi:

• aws ec2
• aws ec2 create-tags
• aws ec2 describe-instances
• aws ec2 run-instances
• aws ec2 terminate-instances

137
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Ubah tipe EC2 menggunakan skrip bash

Referensi lainnya:

• Dokumentasi Amazon Elastic Compute Cloud


• Untuk melihat dan berkontribusiAWSSDK danAWS CLIcontoh kode, lihatAWSContoh kodedi atasGitHub.

Mengubah tipe instans Amazon EC2 menggunakan


skrip bash
Contoh skrip bash untuk Amazon EC2 ini mengubah jenis instans untuk instans Amazon EC2
menggunakanAWS Command Line Interface(AWS CLI). Ini menghentikan instance jika berjalan,
mengubah jenis instance, dan kemudian, jika diminta, memulai ulang instance. Skrip shell adalah program
yang dirancang untuk berjalan dalam antarmuka baris perintah.
Note

Untuk contoh perintah tambahan, lihatAWS CLIpanduan referensi.

Topik
• Sebelum Anda memulai (p. 138)
• Tentang contoh ini (p. 138)
• Parameter (p. 139)
• Berkas (p. 139)
• References (p. 140)

Sebelum Anda memulai


Sebelum Anda dapat menjalankan salah satu contoh di bawah ini, hal-hal berikut perlu diselesaikan.

• AWS CLIdiinstal, lihatMenginstal AWS CLI (p. 5)untuk informasi lebih lanjut.
• AWS CLIdikonfigurasi, lihatDasar-dasar konfigurasi (p. 28)untuk informasi lebih lanjut. Profil yang Anda
gunakan harus memiliki izin yang memungkinkanAWSoperasi yang dilakukan oleh contoh-contoh.
• Instans Amazon EC2 yang berjalan di akun tempat Anda memiliki izin untuk menghentikan dan
memodifikasi. Jika Anda menjalankan script pengujian, itu meluncurkan instance untuk Anda, tes
mengubah jenis, dan kemudian mengakhiri instance.
• SebagaiAWSpraktik terbaik, berikan kode ini setidaknya hak istimewa, atau hanya izin yang
diperlukan untuk melakukan tugas. Untuk informasi selengkapnya, lihatMemberikan Hak Istimewa
TerkecildiAWSPanduan Pengguna Identity and Access Management (IAM).
• Kode ini belum diuji di semuaAWSWilayah. BeberapaAWSlayanan hanya tersedia di Wilayah tertentu.
Untuk informasi selengkapnya, lihatTitik Akhir Layanan dan KuotadiAWSPanduan Referensi Umum.
• Menjalankan kode ini dapat menghasilkan tagihan biaya untukAWSakun. Ini adalah tanggung jawab
Anda untuk memastikan bahwa setiap sumber daya yang dibuat oleh skrip ini dihapus ketika Anda
selesai dengan mereka.

Tentang contoh ini


Contoh ini ditulis sebagai fungsi dalam file shell scriptchange_ec2_instance_type.shbahwa Anda
dapatsourcedari skrip lain atau dari baris perintah. Setiap file script berisi komentar yang menggambarkan
masing-masing fungsi. Setelah fungsi dalam memori, Anda dapat memanggilnya dari baris perintah.
Sebagai contoh, perintah berikut mengubah jenis contoh yang ditentukan untukt2.nano:

$ source ./change_ec2_instance_type.sh

138
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Ubah tipe EC2 menggunakan skrip bash

$ ./change_ec2_instance_type -i *instance-id* -t new-type

Untuk contoh lengkap dan file skrip yang dapat diunduh, lihatGanti Jenis Instans Amazon
EC2diAWSContoh kodedi atasGitHub.

Parameter
-i-(string)Menentukan contoh ID untuk memodifikasi.

-t-(string)Menentukan tipe instans Amazon EC2 yang akan beralih ke.

-r-(Tombol)Secara default, ini tidak diatur. Jika-rdiatur, restart contoh setelah saklar jenis.

-f-(Tombol)Secara default, skrip meminta pengguna untuk mengkonfirmasi mematikan instance sebelum
membuat sakelar. Jika-fdiatur, fungsi tidak meminta pengguna sebelum mematikan instance untuk
membuat jenis switch

-V-(Tombol)Secara default, script beroperasi diam-diam dan menampilkan output hanya jika terjadi
kesalahan. Jika-vdiatur, fungsi menampilkan status seluruh operasinya.

Berkas
change_ec2_instance_type.sh

File script utama berisichange_ec2_instance_type()fungsi yang melakukan tugas-tugas berikut:


• Memverifikasi bahwa instans Amazon EC2 yang ditentukan ada.
• Kecuali-fdipilih, memperingatkan pengguna sebelum menghentikan instance.
• Mengubah tipe instans
• Jika Anda menetapkan-r, memulai ulang instance dan menegaskan bahwa instance sedang
berjalan

Lihat kode untukchange_ec2_instance_type.shdi atasGitHub.

test_change_ec2_instance_type.sh

Berkaschange_ec2_instance_type_test.shscript menguji berbagai jalur kode


untukchange_ec2_instance_typeFungsi. Jika semua langkah dalam skrip uji bekerja dengan
benar, skrip uji akan menghapus semua sumber daya yang dibuat.

Anda dapat menjalankan script tes dengan parameter berikut:


• -V-(Tombol)Setiap tes menunjukkan status lulus/kegagalan saat mereka berjalan. Secara default,
tes berjalan diam-diam dan output hanya mencakup status lulus/kegagalan keseluruhan akhir.
• -i-(Tombol)Script berhenti setelah setiap tes untuk memungkinkan Anda untuk menelusuri
hasil antara setiap langkah. Memungkinkan Anda untuk memeriksa status instans saat ini
menggunakan konsol Amazon EC2. Script dilanjutkan ke langkah berikutnya setelah Anda
menekanMEMASUKKANpada prompt.

Lihat kode untuktest_change_ec2_instance_type.shdi atasGitHub.

awsdocs_general.sh

Berkas scriptawsdocs_general.shmemegang fungsi tujuan umum yang digunakan di seluruh


contoh lanjutan untukAWS CLI.

Lihat kode untukawsdocs_general.shdi atasGitHub.

139
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
S3 Glacier

References
AWS CLIreferensi:

• aws ec2
• aws ec2 describe-instances
• aws ec2 modify-instance-attribute
• aws ec2 start-instances
• aws ec2 stop-instances
• aws ec2 wait instance-running
• aws ec2 wait instance-stopped

Referensi lainnya:

• Dokumentasi Amazon Elastic Compute Cloud


• Untuk melihat dan berkontribusiAWSSDK danAWS CLIcontoh kode, lihatAWSContoh kodedi atasGitHub.

Menggunakan Amazon S3 Glacier denganAWS CLI


Pengantar Amazon S3 Glacier

Pengantar Amazon S3 Glacier

Topik ini menunjukkan contohAWS CLIperintah yang melakukan tugas-tugas umum untuk S3 Glacier.
Contoh-contoh menunjukkan bagaimana menggunakanAWS CLIuntuk mengunggah file besar ke S3
Glacier dengan membelahnya menjadi bagian-bagian yang lebih kecil dan mengunggahnya dari baris
perintah.

Anda dapat mengakses fitur Amazon S3 Glacier menggunakanAWS Command Line Interface(AWS CLI).
Untuk membuat daftarAWS CLIperintah untuk S3 Glacier, gunakan perintah berikut.

aws glacier help

Note

Untuk referensi perintah dan contoh tambahan, lihataws glacierdiAWS CLIReferensi Perintah.

Topik
• Prasyarat (p. 140)
• Membuat vault Amazon S3 Glacier (p. 141)
• Siapkan file untuk diunggah (p. 141)
• Inisiasi unggahan multipart dan unggahan file (p. 142)
• Selesaikan unggahan (p. 143)
• Sumber daya (p. 144)

Prasyarat
Untuk menjalankanglacierperintah, Anda perlu:

140
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Membuat vault Amazon S3 Glacier

• AWS CLIdiinstal, lihatMenginstal AWS CLI (p. 5)untuk informasi lebih lanjut.
• AWS CLIdikonfigurasi, lihatDasar-dasar konfigurasi (p. 28)untuk informasi lebih lanjut. Profil yang Anda
gunakan harus memiliki izin yang memungkinkanAWSoperasi yang dilakukan oleh contoh-contoh.
• Tutorial ini menggunakan beberapa alat baris perintah yang biasanya sudah terinstal pada sistem
operasi seperti UNIX, termasuk Linux dan macOS. Pengguna Windows dapat menggunakan alat yang
sama dengan menginstalCygwindan menjalankan perintah dari terminal Cygwin. Kami mencatat perintah
dan utilitas asli Windows yang melakukan fungsi yang sama jika tersedia.

Membuat vault Amazon S3 Glacier


Membuat lemari besi dengancreate-vaultperintah.

$ aws glacier create-vault --account-id - --vault-name myvault


{
"location": "/123456789012/vaults/myvault"
}

Note

Semua perintah S3 Glacier memerlukan parameter ID akun. Gunakan karakter tanda hubung (--
account-id -) untuk menggunakan akun giro.

Siapkan file untuk diunggah


Buat file untuk upload tes. Perintah berikut membuat file bernamafile besaryang berisi persis 3 MiB
data acak.

Linux atau macOS

$ dd if=/dev/urandom of=largefile bs=3145728 count=1


1+0 records in
1+0 records out
3145728 bytes (3.1 MB) copied, 0.205813 s, 15.3 MB/s

ddadalah utilitas yang menyalin sejumlah byte dari file input ke file output. Contoh sebelumnya
menggunakan file perangkat sistem/dev/urandomsebagai sumber data acak.fsutilmelakukan fungsi
serupa di Windows.

Windows

C:\> fsutil file createnew largefile 3145728


File C:\temp\largefile is created

Selanjutnya, pisahkan file menjadi potongan 1 MiB (1,048.576 byte).

$ split -b 1048576 --verbose largefile chunk


creating file `chunkaa'
creating file `chunkab'
creating file `chunkac'

Note

HJ-terpisahadalah file splitter gratis untuk Windows dan banyak platform lainnya.

141
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Inisiasi unggahan multipart dan unggahan file

Inisiasi unggahan multipart dan unggahan file


Membuat unggah multipart di Amazon S3 Glacier dengan menggunakaninitiate-multipart-
uploadperintah.

$ aws glacier initiate-multipart-upload --account-id - --archive-description "multipart


upload test" --part-size 1048576 --vault-name myvault
{
"uploadId": "19gaRezEXAMPLES6Ry5YYdqthHOC_kGRCT03L9yetr220UmPtBYKk-
OssZtLqyFu7sY1_lR7vgFuJV6NtcV5zpsJ",
"location": "/123456789012/vaults/myvault/multipart-
uploads/19gaRezEXAMPLES6Ry5YYdqthHOC_kGRCT03L9yetr220UmPtBYKk-
OssZtLqyFu7sY1_lR7vgFuJV6NtcV5zpsJ"
}

S3 Glacier memerlukan ukuran setiap bagian dalam byte (1 MiB dalam contoh ini), nama vault Anda, dan
ID akun untuk mengonfigurasi upload multipart. ParameterAWS CLIoutput ID upload ketika operasi selesai.
Simpan ID upload ke variabel shell untuk digunakan nanti.

Linux atau macOS

$ UPLOADID="19gaRezEXAMPLES6Ry5YYdqthHOC_kGRCT03L9yetr220UmPtBYKk-
OssZtLqyFu7sY1_lR7vgFuJV6NtcV5zpsJ"

Windows

C:\> set UPLOADID="19gaRezEXAMPLES6Ry5YYdqthHOC_kGRCT03L9yetr220UmPtBYKk-


OssZtLqyFu7sY1_lR7vgFuJV6NtcV5zpsJ"

Selanjutnya, gunakanupload-multipart-partperintah untuk meng-upload masing-masing dari tiga


bagian.

$ aws glacier upload-multipart-part --upload-id $UPLOADID --body chunkaa --range 'bytes


0-1048575/*' --account-id - --vault-name myvault
{
"checksum": "e1f2a7cd6e047fa606fe2f0280350f69b9f8cfa602097a9a026360a7edc1f553"
}
$ aws glacier upload-multipart-part --upload-id $UPLOADID --body chunkab --range 'bytes
1048576-2097151/*' --account-id - --vault-name myvault
{
"checksum": "e1f2a7cd6e047fa606fe2f0280350f69b9f8cfa602097a9a026360a7edc1f553"
}
$ aws glacier upload-multipart-part --upload-id $UPLOADID --body chunkac --range 'bytes
2097152-3145727/*' --account-id - --vault-name myvault
{
"checksum": "e1f2a7cd6e047fa606fe2f0280350f69b9f8cfa602097a9a026360a7edc1f553"
}

Note

Contoh sebelumnya menggunakan tanda dolar ($) untuk mereferensikan isiUPLOADIDvariabel


shell pada Linux. Pada baris perintah Windows, gunakan tanda persen (%) di kedua sisi nama
variabel (misalnya,%UPLOADID%).

Anda harus menentukan rentang byte dari setiap bagian ketika Anda mengunggahnya sehingga S3
Glacier dapat memasang kembali dalam urutan yang benar. Setiap bagian adalah 1.048.576 byte,
sehingga potongan pertama menempati byte 0-1048575, yang kedua 1048576-2097151, dan ketiga
2097152-3145727.

142
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Selesaikan unggahan

Selesaikan unggahan
Amazon S3 Glacier memerlukan hash pohon dari file asli untuk mengonfirmasi bahwa semua potongan
yang diunggah tercapaiAWSutuh.

Untuk menghitung hash pohon, Anda harus membagi file menjadi 1 bagian MiB dan menghitung
hash SHA-256 biner dari setiap bagian. Kemudian Anda membagi daftar hash menjadi pasangan,
menggabungkan dua hash biner di setiap pasangan, dan mengambil hash hasil. Ulangi proses ini sampai
hanya ada satu hash yang tersisa. Jika ada ganjil hash pada tingkat mana pun, promosikan ke tingkat
berikutnya tanpa memodifikasinya.

Kunci untuk menghitung hash pohon dengan benar ketika menggunakan utilitas baris perintah adalah
untuk menyimpan setiap hash dalam format biner dan mengkonversi ke heksadesimal hanya pada langkah
terakhir. Menggabungkan atau hashing versi heksadesimal dari setiap hash di pohon akan menyebabkan
hasil yang salah.
Note

Pengguna Windows dapat menggunakantypeperintah di tempatcat. OpenSSL tersedia untuk


Windows diOpenSSL.org.

Untuk menghitung hash pohon

1. Jika Anda belum melakukannya, pisahkan file asli menjadi 1 bagian MiB.

$ split --bytes=1048576 --verbose largefile chunk


creating file `chunkaa'
creating file `chunkab'
creating file `chunkac'

2. Hitung dan simpan hash SHA-256 dari setiap potongan.

$ openssl dgst -sha256 -binary chunkaa > hash1


$ openssl dgst -sha256 -binary chunkab > hash2
$ openssl dgst -sha256 -binary chunkac > hash3

3. Gabungkan dua hash pertama dan ambil hash biner hasilnya.

$ cat hash1 hash2 > hash12


$ openssl dgst -sha256 -binary hash12 > hash12hash

4. Gabungkan hash induk potonganaadanabdengan hash potonganacdan hash hasilnya, kali ini
keluaran heksadesimal. Simpan hasilnya dalam variabel shell.

$ cat hash12hash hash3 > hash123


$ openssl dgst -sha256 hash123
SHA256(hash123)= 9628195fcdbcbbe76cdde932d4646fa7de5f219fb39823836d81f0cc0e18aa67
$ TREEHASH=9628195fcdbcbbe76cdde932d4646fa7de5f219fb39823836d81f0cc0e18aa67

Akhirnya, selesaikan upload dengancomplete-multipart-uploadperintah. Perintah ini mengambil


ukuran file asli dalam byte, nilai hash pohon akhir dalam heksadesimal, dan ID akun Anda dan nama vault.

$ aws glacier complete-multipart-upload --checksum $TREEHASH --archive-size 3145728 --


upload-id $UPLOADID --account-id - --vault-name myvault
{
"archiveId": "d3AbWhE0YE1m6f_fI1jPG82F8xzbMEEZmrAlLGAAONJAzo5QdP-
N83MKqd96Unspoa5H5lItWX-sK8-QS0ZhwsyGiu9-R-kwWUyS1dSBlmgPPWkEbeFfqDSav053rU7FvVLHfRc6hg",
"checksum": "9628195fcdbcbbe76cdde932d4646fa7de5f219fb39823836d81f0cc0e18aa67",

143
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Sumber daya

"location": "/123456789012/vaults/myvault/archives/
d3AbWhE0YE1m6f_fI1jPG82F8xzbMEEZmrAlLGAAONJAzo5QdP-N83MKqd96Unspoa5H5lItWX-sK8-
QS0ZhwsyGiu9-R-kwWUyS1dSBlmgPPWkEbeFfqDSav053rU7FvVLHfRc6hg"
}

Anda juga dapat memeriksa status kubah menggunakandescribe-vaultperintah.

$ aws glacier describe-vault --account-id - --vault-name myvault


{
"SizeInBytes": 3178496,
"VaultARN": "arn:aws:glacier:us-west-2:123456789012:vaults/myvault",
"LastInventoryDate": "2018-12-07T00:26:19.028Z",
"NumberOfArchives": 1,
"CreationDate": "2018-12-06T21:23:45.708Z",
"VaultName": "myvault"
}

Note
Status Vault diperbarui sekitar sekali per hari. LihatBekerja dengan Vaultuntuk informasi lebih
lanjut.

Sekarang aman untuk menghapus file potongan dan hash yang Anda buat.

$ rm chunk* hash*

Untuk informasi lebih lanjut tentang unggahan multipart, lihatMengunggah Arsip Besar dalam Beberapa
BagiandanChecksum KomputasidiPanduan Developer Amazon S3 Glacier.

Sumber daya
AWS CLIreferensi:

• aws glacier
• aws glacier complete-multipart-upload
• aws glacier create-vault
• aws glacier describe-vault
• aws glacier initiate-multipart-upload

Referensi layanan:

• Panduan Developer Amazon S3 Glacier


• Mengunggah Arsip Besar dalam Beberapa BagiandiPanduan Developer Amazon S3 Glacier
• Checksum KomputasidiPanduan Developer Amazon S3 Glacier
• Bekerja dengan VaultdiPanduan Developer Amazon S3 Glacier

MenggunakanAWS Identity and Access


ManagementdariAWS CLI
PengantarAWS Identity and Access Management

PengantarAWS Identity and Access Management

144
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Membuat pengguna dan grup IAM

Anda dapat mengakses fiturAWS Identity and Access Management(IAM) menggunakanAWS Command
Line Interface(AWS CLI). Untuk membuat daftarAWS CLIperintah untuk IAM, gunakan perintah berikut.

aws iam help

Topik ini menunjukkan contohAWS CLIperintah yang melakukan tugas-tugas umum untuk IAM.

Sebelum menjalankan perintah apa pun, atur kredensi default Anda. Untuk informasi selengkapnya, lihat
Mengonfigurasi AWS CLI (p. 28).

Untuk informasi lebih lanjut tentang layanan IAM, lihatAWS Identity and Access ManagementPanduan
Pengguna.

Topik
• Membuat pengguna dan grup IAM (p. 145)
• Melampirkan kebijakan terkelola IAM ke pengguna IAM (p. 146)
• Mengatur kata sandi awal bagi pengguna IAM (p. 147)
• Membuat access key untuk pengguna IAM (p. 147)

Membuat pengguna dan grup IAM


Topik ini menjelaskan cara menggunakanAWS Command Line Interface(AWS CLI) perintah untuk
membuatAWS Identity and Access Management(IAM) grup dan pengguna IAM baru, lalu tambahkan
pengguna ke grup. Untuk informasi lebih lanjut tentang layanan IAM, lihatAWS Identity and Access
ManagementPanduan Pengguna.

Sebelum menjalankan perintah apa pun, atur kredensi default Anda. Untuk informasi selengkapnya, lihat
Mengonfigurasi AWS CLI (p. 28).

Untuk membuat grup IAM dan menambahkan pengguna IAM baru ke dalamnya

1. Gunakancreate-groupperintah untuk membuat grup.

$ aws iam create-group --group-name MyIamGroup


{
"Group": {
"GroupName": "MyIamGroup",
"CreateDate": "2018-12-14T03:03:52.834Z",
"GroupId": "AGPAJNUJ2W4IJVEXAMPLE",
"Arn": "arn:aws:iam::123456789012:group/MyIamGroup",
"Path": "/"
}
}

2. Gunakancreate-userperintah untuk membuat pengguna.

$ aws iam create-user --user-name MyUser


{
"User": {
"UserName": "MyUser",
"Path": "/",
"CreateDate": "2018-12-14T03:13:02.581Z",
"UserId": "AIDAJY2PE5XUZ4EXAMPLE",
"Arn": "arn:aws:iam::123456789012:user/MyUser"
}
}

3. Gunakanadd-user-to-groupuntuk menambahkan pengguna ke grup.

145
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Melampirkan kebijakan terkelola IAM ke pengguna IAM

$ aws iam add-user-to-group --user-name MyUser --group-name MyIamGroup

4. Untuk memverifikasi bahwaMyIamGroupkelompok berisiMyUser, menggunakanget-groupperintah.

$ aws iam get-group --group-name MyIamGroup


{
"Group": {
"GroupName": "MyIamGroup",
"CreateDate": "2018-12-14T03:03:52Z",
"GroupId": "AGPAJNUJ2W4IJVEXAMPLE",
"Arn": "arn:aws:iam::123456789012:group/MyIamGroup",
"Path": "/"
},
"Users": [
{
"UserName": "MyUser",
"Path": "/",
"CreateDate": "2018-12-14T03:13:02Z",
"UserId": "AIDAJY2PE5XUZ4EXAMPLE",
"Arn": "arn:aws:iam::123456789012:user/MyUser"
}
],
"IsTruncated": "false"
}

Melampirkan kebijakan terkelola IAM ke pengguna


IAM
Topik ini menjelaskan cara menggunakanAWS Command Line Interface(AWS CLI) perintah untuk
melampirkanAWS Identity and Access ManagementKebijakan (IAM) untuk pengguna IAM. Kebijakan dalam
contoh ini memberi pengguna “Power User Access”. Untuk informasi lebih lanjut tentang layanan IAM,
lihatAWS Identity and Access ManagementPanduan Pengguna.

Sebelum menjalankan perintah apa pun, atur kredensi default Anda. Untuk informasi selengkapnya, lihat
Mengonfigurasi AWS CLI (p. 28).

Untuk melampirkan kebijakan terkelola IAM ke pengguna IAM

1. Tentukan Amazon Resource Name (ARN) kebijakan yang akan dilampirkan. Perintah berikut
menggunakanlist-policiesuntuk menemukan kebijakan ARN dengan namaPowerUserAccess.
Kemudian menyimpan ARN yang dalam variabel lingkungan.

$ export POLICYARN=$(aws iam list-policies --query 'Policies[?


PolicyName==`PowerUserAccess`].{ARN:Arn}' --output text) ~
$ echo $POLICYARN
arn:aws:iam::aws:policy/PowerUserAccess

2. Untuk melampirkan kebijakan, gunakanattach-user-policyattach-user-policyperintah, dan


referensi variabel lingkungan yang memegang kebijakan ARN.

$ aws iam attach-user-policy --user-name MyUser --policy-arn $POLICYARN

3. Verifikasi bahwa kebijakan dilampirkan ke pengguna dengan menjalankanlist-attached-user-


policiesperintah.

$ aws iam list-attached-user-policies --user-name MyUser

146
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Mengatur kata sandi awal bagi pengguna IAM

{
"AttachedPolicies": [
{
"PolicyName": "PowerUserAccess",
"PolicyArn": "arn:aws:iam::aws:policy/PowerUserAccess"
}
]
}

Untuk informasi selengkapnya, lihatSumber Daya Manajemen Akses. Topik ini menyediakan tautan ke
ikhtisar izin dan kebijakan, serta tautan ke contoh kebijakan untuk mengakses Amazon S3, Amazon EC2,
dan layanan lainnya.

Mengatur kata sandi awal bagi pengguna IAM


Topik ini menjelaskan cara menggunakanAWS Command Line Interface(AWS CLI) perintah untuk
mengatur password awal untukAWS Identity and Access Management(IAM) pengguna. Untuk informasi
lebih lanjut tentang layanan IAM, lihatAWS Identity and Access ManagementPanduan Pengguna.

Sebelum menjalankan perintah apa pun, atur kredensi default Anda. Untuk informasi selengkapnya, lihat
Mengonfigurasi AWS CLI (p. 28).

Perintah berikut menggunakancreate-login-profileuntuk mengatur password awal pada pengguna


tertentu. Saat pengguna masuk untuk pertama kalinya, pengguna diharuskan mengubah kata sandi
menjadi sesuatu yang hanya diketahui pengguna.

$ aws iam create-login-profile --user-name MyUser --password My!User1Login8P@ssword --


password-reset-required
{
"LoginProfile": {
"UserName": "MyUser",
"CreateDate": "2018-12-14T17:27:18Z",
"PasswordResetRequired": true
}
}

Anda dapat menggunakanupdate-login-profileperintah untukperubahankata sandi untuk pengguna


IAM.

$ aws iam update-login-profile --user-name MyUser --password My!User1ADifferentP@ssword

Membuat access key untuk pengguna IAM


Topik ini menjelaskan cara menggunakanAWS Command Line Interface(AWS CLI) perintah untuk
membuat satu set kunci akses untukAWS Identity and Access Management(IAM) pengguna. Untuk
informasi lebih lanjut tentang layanan IAM, lihatAWS Identity and Access ManagementPanduan Pengguna.

Sebelum menjalankan perintah apa pun, atur kredensi default Anda. Untuk informasi selengkapnya, lihat
Mengonfigurasi AWS CLI (p. 28).

Anda dapat menggunakancreate-access-keyperintah untuk membuat access key bagi pengguna IAM.
Kunci akses adalah serangkaian kredenal keamanan yang terdiri dari ID kunci akses dan kunci rahasia.

Pengguna IAM hanya dapat membuat dua tombol akses sekaligus. Jika Anda mencoba untuk membuat
yang ketiga, perintah akan mengembalikanLimitExceededkesalahan.

$ aws iam create-access-key --user-name MyUser

147
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Amazon S3

{
"AccessKey": {
"UserName": "MyUser",
"AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
"Status": "Active",
"SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
"CreateDate": "2018-12-14T17:34:16Z"
}
}

Gunakandelete-access-keyperintah untuk menghapus access key bagi pengguna IAM. Tentukan kunci
akses mana yang akan dihapus dengan menggunakan ID kunci akses.

$ aws iam delete-access-key --user-name MyUser --access-key-id AKIAIOSFODNN7EXAMPLE

Menggunakan Amazon S3 denganAWS CLI


Pengantar Amazon Simple Storage Service (Amazon S3)

Pengantar Amazon Simple Storage Service (Amazon S3 - Cloud StorageAWS

Anda dapat mengakses fitur Amazon Simple Storage Service (Amazon S3) menggunakanAWS Command
Line Interface(AWS CLI). ParameterAWS CLImenyediakan dua tingkatan perintah untuk mengakses
Amazon S3:

• s3— Perintah tingkat tinggi yang menyederhanakan melakukan tugas-tugas umum, seperti membuat,
memanipulasi, dan menghapus objek dan ember.
• s3api— Mengekspos akses langsung ke semua operasi API Amazon S3 yang memungkinkan Anda
melakukan operasi lanjutan.

Topik dalam panduan ini:


• Menggunakan perintah tingkat tinggi (s3) denganAWS CLI (p. 148)
• Menggunakan perintah API-level (s3api) denganAWS CLI (p. 156)
• Contoh scripting operasi bucket Amazon S3 (p. 158)

Menggunakan perintah tingkat tinggi (s3) denganAWS


CLI
Topik ini menjelaskan beberapa perintah yang dapat Anda gunakan untuk mengelola bucket Amazon S3
dan objek menggunakanaws s3perintah dalamAWS CLI. Untuk perintah yang tidak tercakup dalam topik
ini dan contoh perintah tambahan, lihataws s3perintah dalamAWS CLIReferensi.

Tingkat tinggiaws s3perintah menyederhanakan mengelola objek Amazon S3. Perintah ini memungkinkan
Anda mengelola konten Amazon S3 dalam dirinya sendiri dan dengan direktori lokal.
Note

Saat Anda menggunakanaws s3perintah untuk mengunggah objek besar ke bucket Amazon
S3,AWS CLIsecara otomatis melakukan unggahan multipart. Anda tidak dapat melanjutkan
unggahan yang gagal saat menggunakannyaaws s3perintah.

148
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Tingkat tinggi (s3) perintah

Jika upload multipart gagal karena batas waktu habis, atau jika Anda membatalkan secara
manualAWS CLI, yangAWS CLImenghentikan upload dan membersihkan file yang dibuat. Proses
ini dapat memakan waktu beberapa menit.
Jika proses upload atau pembersihan multipart dibatalkan oleh perintah kill atau kegagalan
sistem, file yang dibuat tetap berada di bucket Amazon S3. Untuk membersihkan upload multipart,
gunakans3apiabort-multipart-uploadperintah.
Untuk informasi selengkapnya, lihatIkhtisar unggahan multipartdiPanduan Pengguna Amazon
Simple Storage.

Topik
• Prasyarat (p. 149)
• Buat bucket (p. 149)
• Daftar ember dan objek (p. 150)
• Menghapus bucket (p. 150)
• Menghapus objek (p. 151)
• Memindahkan objek (p. 151)
• Salin objek (p. 152)
• Sinkronisasi objek (p. 153)
• Pilihan yang sering digunakan untuk perintah s3 (p. 154)
• Sumber daya (p. 156)

Prasyarat
Untuk menjalankans3perintah, Anda perlu:

• AWS CLIdiinstal, lihatMenginstal AWS CLI (p. 5)untuk informasi lebih lanjut.
• AWS CLIdikonfigurasi, lihatDasar-dasar konfigurasi (p. 28)untuk informasi lebih lanjut. Profil yang Anda
gunakan harus memiliki izin yang memungkinkanAWSoperasi yang dilakukan oleh contoh-contoh.
• Pahami persyaratan Amazon S3 ini:
• Bucket- Folder Amazon S3 tingkat atas.
• Awalan— Folder Amazon S3 dalam bucket.
• Objek- Setiap item yang di-host di bucket Amazon S3.

Buat bucket
Gunakans3 mbperintah untuk membuat ember. Nama bucket harussecara globalunik (unik di seluruh
Amazon S3) dan harus sesuai dengan DNS.

Nama bucket dapat berisi huruf kecil, angka, dan periode. Nama bucket dapat memulai dan berakhir hanya
dengan huruf atau angka, dan tidak dapat berisi periode di samping tanda hubung atau periode lain.

Sintaks

$ aws s3 mb <target> [--options]

s3 mb contoh

Contoh berikut membuats3://bucket-namebucket.

$ aws s3 mb s3://bucket-name

149
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Tingkat tinggi (s3) perintah

Daftar ember dan objek


Untuk mencantumkan ember, folder, atau objek Anda, gunakans3 lsperintah. Menggunakan perintah
tanpa target atau pilihan daftar semua ember.

Sintaks

$ aws s3 ls <target> [--options]

Untuk beberapa opsi umum untuk digunakan dengan perintah ini, dan contoh, lihatPilihan yang sering
digunakan untuk perintah s3 (p. 154). Untuk daftar lengkap opsi yang tersedia, lihats3 lsdiAWS
CLIReferensi Perintah.

s3 ls contoh

Contoh berikut mencantumkan semua bucket Amazon S3.

$ aws s3 ls
2018-12-11 17:08:50 my-bucket
2018-12-14 14:55:44 my-bucket2

Perintah berikut mencantumkan semua objek dan awalan dalam ember. Dalam contoh output ini,
awalanexample/memiliki satu berkas bernamaMyFile1.txt.

$ aws s3 ls s3://bucket-name
PRE example/
2018-12-04 19:05:48 3 MyFile1.txt

Anda dapat memfilter output ke awalan tertentu dengan memasukkannya ke dalam perintah. Perintah
berikut mencantumkan objek dibucket-nama/contoh/(yaitu, benda-benda dinama bucketdisaring oleh
awalancontoh/).

$ aws s3 ls s3://bucket-name/example/
2018-12-06 18:59:32 3 MyFile1.txt

Menghapus bucket
Untuk menghapus bucket, gunakans3 rbperintah.

Sintaks

$ aws s3 rb <target> [--options]

s3 rb contoh

Contoh berikut menghapuss3://bucket-namebucket.

$ aws s3 rb s3://bucket-name

Secara default, ember harus kosong agar operasi berhasil. Untuk menghapus ember yang tidak kosong,
Anda perlu menyertakan--forcePilihan. Jika Anda menggunakan bucket berversi yang berisi sebelumnya
dihapus—tetapi disimpan — objek, perintah ini tidaktidakmemungkinkan Anda untuk menghapus ember.
Anda harus terlebih dahulu menghapus semua konten.

Contoh berikut menghapus semua objek dan awalan di bucket, lalu menghapus bucket.

150
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Tingkat tinggi (s3) perintah

$ aws s3 rb s3://bucket-name --force

Menghapus objek
Untuk menghapus objek dalam bucket atau direktori lokal Anda, gunakans3 rmperintah.

Sintaks

$ aws s3 rm <target> [--options]

Untuk beberapa opsi umum untuk digunakan dengan perintah ini, dan contoh, lihatPilihan yang sering
digunakan untuk perintah s3 (p. 154). Untuk daftar lengkap opsi, lihats3 rmdiAWS CLIReferensi
Perintah.

s3 rm contoh
Contoh berikut menghapusfilename.txtdaris3://bucket-name/example.

$ aws s3 rm s3://bucket-name/example/filename.txt --recursive

Contoh berikut menghapus semua objek daris3://bucket-name/examplemenggunakan--


recursivePilihan.

$ aws s3 rm s3://bucket-name/example --recursive

Memindahkan objek
Gunakans3 mvperintah untuk memindahkan objek dari ember atau direktori lokal.

Sintaks

$ aws s3 mv <source> <target> [--options]

Untuk beberapa opsi umum untuk digunakan dengan perintah ini, dan contoh, lihatPilihan yang sering
digunakan untuk perintah s3 (p. 154). Untuk daftar lengkap opsi yang tersedia, lihats3 mvdiAWS
CLIReferensi Perintah.

s3 mv contoh
Contoh berikut memindahkan semua objek daris3://bucket-name/examplekepadas3://my-
bucket/.

$ aws s3 mv s3://bucket-name/example s3://my-bucket/

Contoh berikut memindahkan file lokal dari direktori kerja Anda saat ini ke bucket Amazon S3 dengans3
cpperintah.

$ aws s3 mv filename.txt s3://bucket-name

Contoh berikut memindahkan file dari bucket Amazon S3 ke direktori kerja Anda saat ini, di
mana./menentukan direktori kerja saat ini.

$ aws s3 mv s3://bucket-name/filename.txt ./

151
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Tingkat tinggi (s3) perintah

Salin objek
Gunakans3 cpperintah untuk menyalin objek dari ember atau direktori lokal.

Sintaks

$ aws s3 cp <source> <target> [--options]

Anda dapat menggunakan parameter dasbor untuk streaming file ke input standar (stdin) atau output
standar (stdout).
Warning

Jika Anda menggunakanPowerShell, shell mungkin mengubah encoding CRLF atau


menambahkan CRLF ke piped input atau output, atau dialihkan output.

Parameters3 cpperintah menggunakan sintaks berikut untuk meng-upload stream file daristdinke ember
tertentu.

Sintaks

$ aws s3 cp - <target> [--options]

Parameters3 cpperintah menggunakan sintaks berikut untuk men-download stream file Amazon S3
untukstdout.

Sintaks

$ aws s3 cp <target> [--options] -

Untuk beberapa opsi umum untuk digunakan dengan perintah ini, dan contoh, lihatPilihan yang sering
digunakan untuk perintah s3 (p. 154). Untuk daftar lengkap opsi, lihats3 cpdiAWS CLIReferensi
Perintah.

Contoh s3 cp

Contoh berikut menyalin semua objek daris3://bucket-name/examplekepadas3://my-bucket/.

$ aws s3 cp s3://bucket-name/example s3://my-bucket/

Contoh berikut menyalin file lokal dari direktori kerja Anda saat ini ke bucket Amazon S3 dengans3
cpperintah.

$ aws s3 cp filename.txt s3://bucket-name

Contoh berikut menyalin file dari bucket Amazon S3 ke direktori kerja Anda saat ini, di mana./menentukan
direktori kerja saat ini.

$ aws s3 cp s3://bucket-name/filename.txt ./

Contoh berikut menggunakan echo untuk streaming teks “hello world” kes3://bucket-name/
filename.txtBerkas.

$ echo "hello world" | aws s3 cp - s3://bucket-name/filename.txt

152
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Tingkat tinggi (s3) perintah

Contoh berikut mengalirkans3://bucket-name/filename.txtBerkasstdoutdan mencetak konten ke


konsol.

$ aws s3 cp s3://bucket-name/filename.txt -
hello world

Contoh berikut mengalirkan isis3://bucket-name/prekepadastdout, menggunakanbzip2perintah


untuk kompres file, dan upload file terkompresi baru bernamakey.bz2kepadas3://bucket-name.

$ aws s3 cp s3://bucket-name/pre - | bzip2 --best | aws s3 cp - s3://bucket-name/key.bz2

Sinkronisasi objek
Parameters3 syncperintah menyinkronkan isi ember dan direktori, atau isi dari dua ember. Biasanya,s3
syncsalinan file atau objek yang hilang atau usang antara sumber dan target. Namun, Anda juga dapat
menyediakan--deletepilihan untuk menghapus file atau objek dari target yang tidak hadir dalam sumber.

Sintaks

$ aws s3 sync <source> <target> [--options]

Untuk beberapa opsi umum untuk digunakan dengan perintah ini, dan contoh, lihatPilihan yang sering
digunakan untuk perintah s3 (p. 154). Untuk daftar lengkap opsi, lihats3 syncdiAWS CLIReferensi
Perintah.

s3 contoh sinkronisasi

Contoh berikut menyinkronkan isi awalan Amazon S3 bernamajalandalam ember bernamamy-


bucketdengan direktori kerja saat ini.

s3 syncmemperbarui file apa pun yang memiliki ukuran atau waktu modifikasi yang berbeda dari file
dengan nama yang sama di tempat tujuan. Output menampilkan operasi tertentu yang dilakukan selama
sinkronisasi. Perhatikan bahwa operasi secara rekursif menyinkronkan subdirektoriMySubdirectorydan
isinya dengans3://my-bucket/path/MySubdirectory.

$ aws s3 sync . s3://my-bucket/path


upload: MySubdirectory\MyFile3.txt to s3://my-bucket/path/MySubdirectory/MyFile3.txt
upload: MyFile2.txt to s3://my-bucket/path/MyFile2.txt
upload: MyFile1.txt to s3://my-bucket/path/MyFile1.txt

Contoh berikut, yang meluas sebelumnya, menunjukkan cara menggunakan--deletePilihan.

// Delete local file


$ rm ./MyFile1.txt

// Attempt sync without --delete option - nothing happens


$ aws s3 sync . s3://my-bucket/path

// Sync with deletion - object is deleted from bucket


$ aws s3 sync . s3://my-bucket/path --delete
delete: s3://my-bucket/path/MyFile1.txt

// Delete object from bucket


$ aws s3 rm s3://my-bucket/path/MySubdirectory/MyFile3.txt
delete: s3://my-bucket/path/MySubdirectory/MyFile3.txt

// Sync with deletion - local file is deleted

153
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Tingkat tinggi (s3) perintah

$ aws s3 sync s3://my-bucket/path . --delete


delete: MySubdirectory\MyFile3.txt

// Sync with Infrequent Access storage class


$ aws s3 sync . s3://my-bucket/path --storage-class STANDARD_IA

Saat menggunakan--deleteopsi,--excludedan--includepilihan dapat memfilter file atau objek


untuk menghapus selamas3 syncoperasi. Dalam hal ini, parameter string harus menentukan file untuk
mengecualikan dari, atau termasuk untuk, penghapusan dalam konteks direktori target atau bucket. Bagian
berikut ini menunjukkan sebuah contoh.

Assume local directory and s3://my-bucket/path currently in sync and each contains 3 files:
MyFile1.txt
MyFile2.rtf
MyFile88.txt
'''

// Sync with delete, excluding files that match a pattern. MyFile88.txt is deleted, while
remote MyFile1.txt is not.
$ aws s3 sync . s3://my-bucket/path --delete --exclude "path/MyFile?.txt"
delete: s3://my-bucket/path/MyFile88.txt
'''

// Sync with delete, excluding MyFile2.rtf - local file is NOT deleted


$ aws s3 sync s3://my-bucket/path . --delete --exclude "./MyFile2.rtf"
download: s3://my-bucket/path/MyFile1.txt to MyFile1.txt
'''

// Sync with delete, local copy of MyFile2.rtf is deleted


$ aws s3 sync s3://my-bucket/path . --delete
delete: MyFile2.rtf

Pilihan yang sering digunakan untuk perintah s3


Opsi berikut sering digunakan untuk perintah yang dijelaskan dalam topik ini. Untuk daftar lengkap opsi
yang dapat Anda gunakan pada perintah, lihat perintah spesifik diAWS CLIpanduan referensi.

acl

s3 syncdans3 cpdapat menggunakan--aclPilihan. Hal ini memungkinkan Anda untuk mengatur


izin akses untuk file yang disalin ke Amazon S3. Parameter--aclopsi menerimaprivate,public-
read, danpublic-read-writenilai-nilai. Untuk informasi selengkapnya, lihatACL
TerekamdiPanduan Pengguna Amazon Simple Storage.

$ aws s3 sync . s3://my-bucket/path --acl public-read

mengecualikan

Saat Anda menggunakans3 cp,s3 mv,s3 sync, ataus3 rmperintah, Anda dapat memfilter hasilnya
dengan menggunakan--excludeatau--includePilihan. Parameter--excludepilihan menetapkan
aturan untuk hanya mengecualikan objek dari perintah, dan pilihan berlaku dalam urutan yang
ditentukan. Seperti yang ditunjukkan dalam contoh berikut.

Local directory contains 3 files:


MyFile1.txt
MyFile2.rtf
MyFile88.txt

// Exclude all .txt files, resulting in only MyFile2.rtf being copied

154
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Tingkat tinggi (s3) perintah

$ aws s3 cp . s3://my-bucket/path --exclude "*.txt"

// Exclude all .txt files but include all files with the "MyFile*.txt" format,
resulting in, MyFile1.txt, MyFile2.rtf, MyFile88.txt being copied
$ aws s3 cp . s3://my-bucket/path --exclude "*.txt" --include "MyFile*.txt"

// Exclude all .txt files, but include all files with the "MyFile*.txt" format,
but exclude all files with the "MyFile?.txt" format resulting in, MyFile2.rtf and
MyFile88.txt being copied
$ aws s3 cp . s3://my-bucket/path --exclude "*.txt" --include "MyFile*.txt" --exclude
"MyFile?.txt"

memasukkan

Saat Anda menggunakans3 cp,s3 mv,s3 sync, ataus3 rmperintah, Anda dapat menyaring hasil
menggunakan--excludeatau--includePilihan. Parameter--includepilihan menetapkan aturan
untuk hanya menyertakan objek yang ditentukan untuk perintah, dan pilihan berlaku dalam urutan yang
ditentukan. Seperti yang ditunjukkan dalam contoh berikut.

Local directory contains 3 files:


MyFile1.txt
MyFile2.rtf
MyFile88.txt

// Include all .txt files, resulting in MyFile1.txt and MyFile88.txt being copied
$ aws s3 cp . s3://my-bucket/path --include "*.txt"

// Include all .txt files but exclude all files with the "MyFile*.txt" format,
resulting in no files being copied
$ aws s3 cp . s3://my-bucket/path --include "*.txt" --exclude "MyFile*.txt"

// Include all .txt files, but exclude all files with the "MyFile*.txt" format, but
include all files with the "MyFile?.txt" format resulting in MyFile1.txt being copied

$ aws s3 cp . s3://my-bucket/path --include "*.txt" --exclude "MyFile*.txt" --include


"MyFile?.txt"

pemberian izin

Parameters3 cp,s3 mv, dans3 syncperintah termasuk--grantspilihan yang dapat Anda


gunakan untuk memberikan izin pada objek untuk pengguna atau grup tertentu. Mengatur--
grantspilihan untuk daftar izin menggunakan sintaks berikut. GantiPermission,Grantee_Type,
danGrantee_IDdengan nilai-nilai Anda sendiri.

Sintaks

--grants Permission=Grantee_Type=Grantee_ID
[Permission=Grantee_Type=Grantee_ID ...]

Setiap nilai berisi elemen berikut:


• Izin— Menentukan izin yang diberikan. Dapat diatur keread,readacl,writeacl, ataufull.
• Grantee_Type— Menentukan bagaimana mengidentifikasi penerima hibah. Dapat diatur
keuri,emailaddress, atauid.
• Grantee_ID— Menentukan penerima hibah berdasarkanGrantee_Type.
• uri— URI grup. Untuk informasi selengkapnya, lihatSiapa itu penerima?
• emailaddress— Alamat email akun.
• id— ID kanonik akun.

Untuk informasi selengkapnya tentang kontrol akses Amazon S3, lihatKontrol akses.

155
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Perintah tingkat API (s3 api)

Contoh berikut menyalin obyek ke bucket. Hibahreadizin pada objek untuk semua orang, danfullizin
(read,readacl, danwriteacl) ke akun yang terkait denganuser@example.com.

$ aws s3 cp file.txt s3://my-bucket/ --grants read=uri=http://acs.amazonaws.com/groups/


global/AllUsers full=emailaddress=user@example.com

Anda juga dapat menentukan kelas penyimpanan nondefault


(REDUCED_REDUNDANCYatauSTANDARD_IA) untuk objek yang Anda unggah ke Amazon S3. Untuk
melakukannya, gunakan--storage-classPilihan.

$ aws s3 cp file.txt s3://my-bucket/ --storage-class REDUCED_REDUNDANCY

rekursi

Ketika Anda menggunakan opsi ini, perintah tersebut dilakukan pada semua file atau objek di bawah
direktori atau awalan yang ditentukan. Contoh berikut menghapuss3://my-bucket/pathdan semua
isinya.

$ aws s3 rm s3://my-bucket/path --recursive

Sumber daya
AWS CLIreferensi:

• aws s3
• aws s3 cp
• aws s3 mb
• aws s3 mv
• aws s3 ls
• aws s3 rb
• aws s3 rm
• aws s3 sync

Referensi layanan:

• Bekerja dengan bucket Amazon S3diPanduan Pengguna Amazon Simple Storage Service
• Cara menggunakan objek Amazon S3diPanduan Pengguna Amazon Simple Storage Service
• Listing kunci hirarkis menggunakan awalan dan pembatasdiPanduan Pengguna Amazon Simple Storage
Service
• Batalkan unggahan multipart ke bucket S3 menggunakanAWS SDK for .NET(tingkat rendah)diPanduan
Pengguna Amazon Simple Storage Service

Menggunakan perintah API-level (s3api) denganAWS


CLI
Perintah API-level (terkandung dalams3apiset perintah) menyediakan akses langsung ke API Amazon
Simple Storage Service (Amazon S3), dan mengaktifkan beberapa operasi yang tidak terpapar di tingkat
tinggis3perintah. Perintah ini setara dengan yang lainAWSlayanan yang menyediakan akses tingkat API ke
fungsionalitas layanan. Untuk informasi lebih lanjut tentangs3perintah, lihatMenggunakan perintah tingkat
tinggi (s3) denganAWS CLI (p. 148)

156
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Perintah tingkat API (s3 api)

Topik ini memberikan contoh yang menunjukkan cara menggunakan perintah tingkat bawah yang
memetakan ke API Amazon S3. Selain itu, Anda dapat menemukan contoh untuk setiap perintah S3 API
dis3apibagianAWS CLIpanduan referensi.

Topik
• Prasyarat (p. 157)
• Terapkan ACL kustom (p. 157)
• Mengkonfigurasi kebijakan pencatatan (p. 157)
• Sumber daya (p. 158)

Prasyarat
Untuk menjalankans3apiperintah, Anda perlu:

• AWS CLIdiinstal, lihatMenginstal AWS CLI (p. 5)untuk informasi lebih lanjut.
• AWS CLIdikonfigurasi, lihatDasar-dasar konfigurasi (p. 28)untuk informasi lebih lanjut. Profil yang Anda
gunakan harus memiliki izin yang memungkinkanAWSoperasi yang dilakukan oleh contoh-contoh.
• Pahami persyaratan Amazon S3 ini:
• Bucket- Folder Amazon S3 tingkat atas.
• Awalan— Folder Amazon S3 dalam bucket.
• Objek- Setiap item yang di-host di bucket Amazon S3.

Terapkan ACL kustom


Dengan perintah tingkat tinggi, Anda dapat menggunakan--aclpilihan untuk menerapkan daftar kontrol
akses (ACL) yang telah ditentukan ke objek Amazon S3. Tetapi Anda tidak dapat menggunakan perintah
itu untuk mengatur ACL di seluruh ember. Namun, Anda dapat melakukan ini dengan menggunakanput-
bucket-aclPerintah tingkat API.

Contoh berikut menunjukkan cara memberikan kontrol penuh ke duaAWSpengguna


(user1@example.comdanuser2@example.com) dan baca izin untuk semua orang. Pengenal untuk “semua
orang” berasal dari URI khusus yang Anda lewati sebagai parameter.

$ aws s3api put-bucket-acl --bucket MyBucket --grant-full-control


'emailaddress="user1@example.com",emailaddress="user2@example.com"' --grant-read
'uri="http://acs.amazonaws.com/groups/global/AllUsers"'

Untuk detail tentang cara membuat ACL, lihatacl LETAKKAN emberdiReferensi API Amazon Simple
Storage Service. Parameters3apiPerintah ACL di CLI, sepertiput-bucket-acl, gunakan yang
samanotasi argumen singkat.

Mengkonfigurasi kebijakan pencatatan


Perintah APIput-bucket-loggingmengkonfigurasi kebijakan bucket logging.

Pada contoh berikut,AWSpenggunapengguna@contoh.comdiberikan kontrol penuh atas file log, dan


semua pengguna telah membaca akses kepada mereka. Perhatikan bahwaput-bucket-aclPerintah
juga diperlukan untuk memberikan sistem pengiriman log Amazon S3 (ditentukan oleh URI) izin yang
diperlukan untuk membaca dan menulis log ke bucket.

$ aws s3api put-bucket-acl --bucket MyBucket --grant-read-acp 'URI="http://


acs.amazonaws.com/groups/s3/LogDelivery"' --grant-write 'URI="http://acs.amazonaws.com/
groups/s3/LogDelivery"'

157
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Contoh scripting siklus hidup ember (s3api)

$ aws s3api put-bucket-logging --bucket MyBucket --bucket-logging-status file://


logging.json

Parameterlogging.jsonfile dalam perintah sebelumnya memiliki konten berikut.

{
"LoggingEnabled": {
"TargetBucket": "MyBucket",
"TargetPrefix": "MyBucketLogs/",
"TargetGrants": [
{
"Grantee": {
"Type": "AmazonCustomerByEmail",
"EmailAddress": "user@example.com"
},
"Permission": "FULL_CONTROL"
},
{
"Grantee": {
"Type": "Group",
"URI": "http://acs.amazonaws.com/groups/global/AllUsers"
},
"Permission": "READ"
}
]
}
}

Sumber daya
AWS CLIreferensi:

• aws s3api
• aws s3api put-bucket-acl
• aws s3api put-bucket-logging

Referensi layanan:

• Bekerja dengan bucket Amazon S3diPanduan Pengguna Amazon Simple Storage Service
• Cara menggunakan objek Amazon S3diPanduan Pengguna Amazon Simple Storage Service
• Listing kunci hirarkis menggunakan awalan dan pembatasdiPanduan Pengguna Amazon Simple Storage
Service
• Batalkan unggahan multipart ke bucket S3 menggunakanAWS SDK for .NET(tingkat rendah)diPanduan
Pengguna Amazon Simple Storage Service

Contoh scripting operasi bucket Amazon S3


Topik ini menggunakan contoh skrip bash untuk operasi siklus hidup bucket Amazon S3
menggunakanAWS Command Line Interface(AWS CLI). Contoh scripting ini menggunakanaws s3apiset
perintah. Skrip shell adalah program yang dirancang untuk berjalan dalam antarmuka baris perintah.

Topik
• Sebelum Anda memulai (p. 159)
• Tentang contoh ini (p. 159)
• Berkas (p. 159)

158
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Contoh scripting siklus hidup ember (s3api)

• References (p. 160)

Sebelum Anda memulai


Sebelum Anda dapat menjalankan salah satu contoh di bawah ini, hal-hal berikut perlu diselesaikan.

• AWS CLIdiinstal, lihatMenginstal AWS CLI (p. 5)untuk informasi lebih lanjut.
• AWS CLIdikonfigurasi, lihatDasar-dasar konfigurasi (p. 28)untuk informasi lebih lanjut. Profil yang Anda
gunakan harus memiliki izin yang memungkinkanAWSoperasi yang dilakukan oleh contoh-contoh.

• SebagaiAWSpraktik terbaik, berikan kode ini setidaknya hak istimewa, atau hanya izin yang diperlukan
untuk melakukan tugas. Untuk informasi lebih lanjut, lihat Berikan hak istimewa terkecil dalam Panduan
Pengguna IAM.
• Kode ini belum diuji di semuaAWSWilayah. BeberapaAWSlayanan hanya tersedia di Wilayah tertentu.
Untuk informasi selengkapnya, lihatTitik Akhir Layanan dan KuotadiAWSPanduan Referensi Umum.
• Menjalankan kode ini dapat menghasilkan tagihan biaya untukAWSakun. Ini adalah tanggung jawab
Anda untuk memastikan bahwa setiap sumber daya yang dibuat oleh skrip ini dihapus ketika Anda
selesai dengan mereka.

Amazon S3 Service menggunakan persyaratan berikut:

• Bucket — Folder Amazon S3 tingkat atas.


• Awalan — Folder Amazon S3 dalam bucket.
• Objek - Setiap item yang di-host di bucket Amazon S3.

Tentang contoh ini


Contoh ini menunjukkan bagaimana berinteraksi dengan beberapa operasi Amazon S3 dasar
menggunakan seperangkat fungsi dalam file skrip shell. Fungsi terletak di file shell script bernamabucket-
operations.sh. Anda dapat memanggil fungsi-fungsi ini di file lain. Setiap file script berisi komentar yang
menggambarkan masing-masing fungsi.

Untuk melihat hasil antara setiap langkah, jalankan script dengan-iparameter. Anda dapat melihat
status bucket saat ini atau isinya menggunakan konsol Amazon S3. Script hanya dilanjutkan ke langkah
berikutnya saat Anda menekanmemasukkanpada prompt.

Untuk contoh lengkap dan file skrip yang dapat diunduh, lihatOperasi Siklus Hidup Amazon S3
BucketdiAWSContoh kodedi atasGitHub.

Berkas
Contoh berisi file-file berikut:

bucket-operations.sh

File script utama ini dapat bersumber dari file lain. Ini mencakup fungsi yang melakukan tugas berikut:
• Membuat ember dan memverifikasi bahwa itu ada
• Menyalin file dari komputer lokal ke bucket
• Menyalin file dari satu lokasi bucket ke lokasi bucket yang berbeda
• Mendaftarkan konten bucket
• Menghapus file dari bucket

159
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Amazon SNS

• Menghapus bucket

Lihat kode untukbucket-operations.shdi atasGitHub.

test-bucket-operations.sh

File skrip shelltest-bucket-operations.shmenunjukkan bagaimana memanggil fungsi dengan


sumberbucket-operations.shfile dan memanggil masing-masing fungsi. Setelah memanggil
fungsi, skrip uji menghapus semua sumber daya yang dibuat.

Lihat kode untuktest-bucket-operations.shdi atasGitHub.

awsdocs-general.sh

Berkas scriptawsdocs-general.shmemegang fungsi tujuan umum yang digunakan di contoh kode


lanjutan untukAWS CLI.

Lihat kode untukawsdocs-general.shdi atasGitHub.

References
AWS CLIreferensi:

• aws s3api
• aws s3api create-bucket
• aws s3api copy-object
• aws s3api delete-bucket
• aws s3api delete-object
• aws s3api head-bucket
• aws s3api list-objects
• aws s3api put-object

Referensi lainnya:

• Bekerja dengan bucket Amazon S3diPanduan Pengguna Amazon Simple Storage Service
• Cara menggunakan objek Amazon S3diPanduan Pengguna Amazon Simple Storage Service
• Untuk melihat dan berkontribusiAWSSDK danAWS CLIcontoh kode, lihatAWSContoh kodedi atasGitHub.

Menggunakan Amazon SNS denganAWS CLI


Memulai dengan Amazon SNS - Layanan Pemberitahuan Push onAWS

Anda dapat mengakses fitur Amazon Simple Notification Service (Amazon SNS) menggunakanAWS
Command Line Interface(AWS CLI). Untuk membuat daftarAWS CLIperintah untuk Amazon SNS, gunakan
perintah berikut.

aws sns help

Sebelum menjalankan perintah apa pun, atur kredensi default Anda. Untuk informasi selengkapnya, lihat
Mengonfigurasi AWS CLI (p. 28).

160
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Membuat topik

Topik ini menunjukkan contohAWS CLIperintah yang melakukan tugas umum untuk Amazon SNS.

Topik
• Membuat topik (p. 161)
• Berlangganan topik (p. 161)
• Menerbitkan ke topik (p. 162)
• Berhenti berlangganan dari topik (p. 162)
• Menghapus topik (p. 162)

Membuat topik
Untuk membuat topik, gunakansns create-topicperintah dan tentukan nama yang akan ditetapkan ke
topik.

$ aws sns create-topic --name my-topic


{
"TopicArn": "arn:aws:sns:us-west-2:123456789012:my-topic"
}

Perhatikan responsTopicArn, yang Anda gunakan nanti untuk mempublikasikan pesan.

Berlangganan topik
Untuk berlangganan topik, gunakansns subscribeperintah.

Contoh berikut menentukanemailprotokol dan alamat email untuknotification-endpoint.

$ aws sns subscribe --topic-arn arn:aws:sns:us-west-2:123456789012:my-topic --


protocol email --notification-endpoint saanvi@example.com
{
"SubscriptionArn": "pending confirmation"
}

AWSsegera mengirimkan pesan konfirmasi melalui email ke alamat yang Anda tentukan
disubscribeperintah. Pesan email memiliki teks berikut.

You have chosen to subscribe to the topic:


arn:aws:sns:us-west-2:123456789012:my-topic
To confirm this subscription, click or visit the following link (If this was in error no
action is necessary):
Confirm subscription

Setelah penerima mengklikKonfirmasi langgananlink, browser penerima menampilkan pesan notifikasi


dengan informasi yang mirip dengan berikut ini.

Subscription confirmed!

You have subscribed saanvi@example.com to the topic:my-topic.

Your subscription's id is:


arn:aws:sns:us-west-2:123456789012:my-topic:1328f057-de93-4c15-512e-8bb22EXAMPLE

If it was not your intention to subscribe, click here to unsubscribe.

161
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Menerbitkan ke topik

Menerbitkan ke topik
Untuk mengirim pesan ke semua pelanggan dari suatu topik, gunakansns publishperintah.

Contoh berikut mengirimkan pesan “Hello World!” untuk semua pelanggan dari topik yang ditentukan.

$ aws sns publish --topic-arn arn:aws:sns:us-west-2:123456789012:my-topic --message "Hello


World!"
{
"MessageId": "4e41661d-5eec-5ddf-8dab-2c867EXAMPLE"
}

Dalam contoh ini,AWSmengirimkan pesan email dengan teks “Hello World!”


kepadasaanvi@example.com.

Berhenti berlangganan dari topik


Untuk berhenti berlangganan dari suatu topik dan berhenti menerima pesan yang diterbitkan ke topik
tersebut, gunakansns unsubscribeperintah dan menentukan ARN dari topik yang ingin Anda berhenti
berlangganan dari.

$ aws sns unsubscribe --subscription-arn arn:aws:sns:us-west-2:123456789012:my-


topic:1328f057-de93-4c15-512e-8bb22EXAMPLE

Untuk memverifikasi bahwa Anda berhasil berhenti berlangganan, gunakansns list-


subscriptionsperintah untuk mengonfirmasi bahwa ARN tidak lagi muncul dalam daftar.

$ aws sns list-subscriptions

Menghapus topik
Untuk menghapus topik, jalankansns delete-topicperintah.

$ aws sns delete-topic --topic-arn arn:aws:sns:us-west-2:123456789012:my-topic

Untuk memverifikasi bahwaAWSberhasil menghapus topik, menggunakansns list-topicsperintah


untuk mengonfirmasi bahwa topik tidak lagi muncul dalam daftar.

$ aws sns list-topics

Menggunakan Amazon Simple Workflow Service


denganAWS CLI
Pengantar Amazon Simple Workflow Service

Layanan Alur Kerja Sederhana Amazon

Anda dapat mengakses fitur Amazon Simple Workflow Service (Amazon SWF) menggunakanAWS
Command Line Interface(AWS CLI).

162
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Daftar Amazon SWF Commands

Untuk membuat daftarAWS CLIperintah untuk Amazon SWF, gunakan perintah berikut.

aws swf help

Sebelum menjalankan perintah apa pun, atur kredensi default Anda. Untuk informasi selengkapnya, lihat
Mengonfigurasi AWS CLI (p. 28).

Topik berikut menunjukkan contohAWS CLIperintah yang melakukan tugas umum untuk Amazon SWF.

Topik
• Daftar Amazon SWF berdasarkan kategori (p. 163)
• Bekerja dengan domain Amazon SWF menggunakanAWS CLI (p. 165)

Daftar Amazon SWF berdasarkan kategori


Anda dapat menggunakanAWS Command Line Interface(AWS CLI) untuk membuat, menampilkan, dan
mengelola alur kerja di Amazon Simple Workflow Service (Amazon SWF).

Bagian ini berisi daftar topik referensi untuk perintah Amazon SWF diAWS CLI, dikelompokkan
berdasarkankategori fungsional.

Untukabjaddaftar perintah, lihatBagian Amazon SWFdariAWS CLIReferensi Perintah, atau gunakan


perintah berikut.

$ aws swf help

Anda juga bisa mendapatkan bantuan untuk perintah individual, dengan menempatkanhelpdirektif setelah
nama perintah. Bagian berikut ini menunjukkan sebuah contoh.

$ aws swf register-domain help

Topik
• Perintah yang terkait dengan kegiatan (p. 163)
• Perintah yang terkait dengan deciders (p. 164)
• Perintah yang terkait dengan eksekusi alur kerja (p. 164)
• Perintah yang terkait dengan administrasi (p. 164)
• Perintah visibilitas (p. 165)

Perintah yang terkait dengan kegiatan


Aktivitas pekerja menggunakan poll-for-activity-task untuk mendapatkan tugas aktivitas baru.
Setelah menerima tugas aktivitas dari Amazon SWF, pekerja melakukan tugas dan merespons dengan
respond-activity-task-completed jika berhasil atau respond-activity-task-failed jika tidak
berhasil.

Berikut ini adalah perintah yang dilakukan oleh pekerja aktivitas:

• poll-for-activity-task
• respond-activity-task-completed
• respond-activity-task-failed
• respond-activity-task-canceled

163
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Daftar Amazon SWF Commands

• record-activity-task-heartbeat

Perintah yang terkait dengan deciders


Pengambil keputusan menggunakan poll-for-decision-task untuk mendapatkan tugas keputusan.
Setelah menerima tugas keputusan dari Amazon SWF, pengambil keputusan memeriksa riwayat eksekusi
alur kerja dan memutuskan apa yang harus dilakukan selanjutnya. respond-decision-task-
completed digunakan untuk menyelesaikan tugas keputusan dan memberikan nilai nol atau lebih untuk
keputusan berikutnya.

Berikut ini adalah perintah yang dilakukan oleh para pengambil keputusan:

• poll-for-decision-task
• respond-decision-task-completed

Perintah yang terkait dengan eksekusi alur kerja


Perintah berikut beroperasi pada eksekusi alur kerja:

• request-cancel-workflow-execution
• start-workflow-execution
• signal-workflow-execution
• terminate-workflow-execution

Perintah yang terkait dengan administrasi


Meskipun Anda dapat melakukan tugas administratif dari konsol Amazon SWF, Anda dapat menggunakan
perintah di bagian ini untuk mengotomatiskan fungsi atau membuat alat administratif Anda sendiri.

Manajemen Aktivitas
• register-activity-type
• deprecate-activity-type

Manajemen Alur Kerja


• register-workflow-type
• deprecate-workflow-type

Manajemen domain
• register-domain
• deprecate-domain

Untuk informasi lebih lanjut dan contoh perintah manajemen domain ini, lihatBekerja dengan domain
Amazon SWF menggunakanAWS CLI (p. 165).

Manajemen eksekusi alur kerja


• request-cancel-workflow-execution

164
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Bekerja dengan Domain Amazon SWF

• terminate-workflow-execution

Perintah visibilitas
Meskipun Anda dapat melakukan tindakan visibilitas dari konsol Amazon SWF, Anda dapat menggunakan
perintah di bagian ini untuk membuat konsol atau alat administratif Anda sendiri.

Visibilitas Aktivitas
• list-activity-types
• describe-activity-type

Visibilitas alur Kerja


• list-workflow-types
• describe-workflow-type

Visibilitas eksekusi alur kerja


• describe-workflow-execution
• list-open-workflow-executions
• list-closed-workflow-executions
• count-open-workflow-executions
• count-closed-workflow-executions
• get-workflow-execution-history

Visibilitas domain
• list-domains
• describe-domain

Untuk informasi lebih lanjut dan contoh perintah visibilitas domain ini, lihatBekerja dengan domain Amazon
SWF menggunakanAWS CLI (p. 165).

Visibilitas daftar tugas


• count-pending-activity-tasks
• count-pending-decision-tasks

Bekerja dengan domain Amazon SWF


menggunakanAWS CLI
Anda dapat menggunakanAWS Command Line Interface(AWS CLI) untuk mengelola domain Amazon
Simple Workflow Service (Amazon SWF).

Topik
• Daftar domain Anda (p. 166)
• Mendapatkan informasi tentang domain (p. 166)

165
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Bekerja dengan Domain Amazon SWF

• Mendaftarkan domain (p. 166)


• Jangan lagi menggunakan domain (p. 167)

Daftar domain Anda


Untuk mencantumkan domain Amazon SWF yang telah Anda daftarkan untuk AndaAWSakun, Anda dapat
menggunakanswf list-domains. Anda harus menyertakan--registration-statusdan tentukan
baikREGISTEREDatauDEPRECATED.

Berikut adalah contoh minimal.

$ aws swf list-domains --registration-status REGISTERED


{
"domainInfos": [
{
"status": "REGISTERED",
"name": "ExampleDomain"
},
{
"status": "REGISTERED",
"name": "mytest"
}
]
}

Note

Untuk contoh penggunaan DEPRECATED, lihat Jangan lagi menggunakan domain (p. 167).

Untuk informasi selengkapnya, lihatswf list-domainsdiAWS CLIReferensi Perintah.

Mendapatkan informasi tentang domain


Untuk mendapatkan informasi mendetail tentang domain tertentu, gunakanswf describe-domain. Ada
satu parameter yang diperlukan,--name, yang mengambil nama domain yang Anda inginkan informasi
tentang, seperti yang ditunjukkan pada contoh berikut.

$ aws swf describe-domain --name ExampleDomain


{
"domainInfo": {
"status": "REGISTERED",
"name": "ExampleDomain"
},
"configuration": {
"workflowExecutionRetentionPeriodInDays": "1"
}
}

Untuk informasi selengkapnya, lihatswf describe-domaindiAWS CLIReferensi Perintah.

Mendaftarkan domain
Untuk mendaftarkan domain baru, gunakanswf register-domain.

Ada dua parameter yang diperlukan:--namedan--workflow-execution-retention-period-in-


days. Parameter--nameparameter mengambil nama domain untuk mendaftar. Parameter--workflow-
execution-retention-period-in-daysparameter mengambil integer untuk menentukan jumlah hari

166
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Bekerja dengan Domain Amazon SWF

untuk mempertahankan data eksekusi alur kerja pada domain ini, hingga jangka waktu maksimum 90 hari
(untuk informasi lebih lanjut, lihatFAQ Amazon SWF).

Jika Anda menetapkan nol (0) untuk nilai ini, periode retensi secara otomatis ditetapkan pada durasi
maksimum. Jika tidak, data eksekusi alur kerja tidak dipertahankan setelah jumlah hari yang ditentukan
telah berlalu. Contoh berikut menunjukkan cara mendaftarkan domain baru.

$ aws swf register-domain --name MyNeatNewDomain --workflow-execution-retention-period-in-


days 0

Perintah tidak mengembalikan output apa pun, tetapi Anda dapat menggunakannyaswf list-
domainsatauswf describe-domainuntuk melihat domain baru, seperti yang ditunjukkan dalam contoh
berikut.

$ aws swf describe-domain --name MyNeatNewDomain


{
"domainInfo": {
"status": "REGISTERED",
"name": "MyNeatNewDomain"
},
"configuration": {
"workflowExecutionRetentionPeriodInDays": "0"
}
}

Untuk informasi selengkapnya, lihatswf register-domaindiAWS CLIReferensi Perintah.

Jangan lagi menggunakan domain


Untuk membatalkan domain (Anda masih dapat melihatnya, tetapi tidak dapat membuat eksekusi alur
kerja baru atau jenis register di atasnya), gunakanswf deprecate-domain. Ini memiliki parameter yang
diperlukan tunggal,--name, yang mengambil nama domain untuk tidak digunakan lagi.

$ aws swf deprecate-domain --name MyNeatNewDomain

Seperti denganregister-domain, tidak ada output yang dihasilkan. Jika Anda menggunakanlist-
domainsuntuk melihat domain terdaftar, namun, Anda akan melihat bahwa domain tidak lagi muncul di
antara mereka. Anda juga dapat menggunakan--registration-status DEPRECATED.

$ aws swf list-domains --registration-status DEPRECATED


{
"domainInfos": [
{
"status": "DEPRECATED",
"name": "MyNeatNewDomain"
}
]
}

Untuk informasi selengkapnya, lihatdeprecate-domaindiAWS CLIReferensi Perintah.

167
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Perlindungan Data

Keamanan di AWS Command Line


Interface
Keamanan cloud di AWS merupakan prioritas tertinggi. Sebagai pelanggan AWS, Anda akan mendapatkan
manfaat dari pusat data dan arsitektur jaringan yang dibangun untuk memenuhi persyaratan organisasi
yang paling sensitif terhadap keamanan.

Keamanan adalah tanggung jawab bersama antara AWS dan Anda. Model tanggung jawab bersama
model menjelaskan hal ini sebagai keamanan dari cloud dan keamanan dalam cloud:

• Keamanan cloud – AWSbertanggung jawab untuk melindungi infrastruktur yang menjalankan layanan
AWS di AWSCloud. AWS juga menyediakan layanan yang dapat Anda gunakan dengan aman. Auditor
pihak ketiga menguji dan memverifikasi secara berkala efektivitas keamanan kami sebagai bagian dari
Program Kepatuhan AWS. Untuk mempelajari tentang program kepatuhan yang berlaku untukAWS
Command Line Interface, lihatAWSLayanan dalam Lingkup oleh Program Kepatuhan.
• Keamanan di cloud – Tanggung jawab Anda ditentukan oleh layanan AWS yang digunakan. Anda juga
bertanggung jawab atas faktor lain termasuk sensitivitas data Anda, persyaratan perusahaan Anda, serta
hukum dan peraturan yang berlaku.

Dokumentasi ini membantu Anda memahami cara menerapkan model tanggung jawab bersama saat
menggunakanAWS Command Line Interface(AWS CLI). Topik berikut menunjukkan kepada Anda cara
mengonfigurasi AWS CLI untuk memenuhi tujuan keamanan dan kepatuhan Anda. Anda juga mempelajari
cara menggunakan AWS CLI untuk membantu Anda memantau dan mengamankan sumber daya AWS
Anda.

Topik
• Perlindungan data di AWS CLI (p. 168)
• Identity and Access Management untuk AWS CLI (p. 169)
• Validasi kepatuhan untukAWS CLI (p. 170)
• Menegakkan versi minimum TLS 1.2 (p. 170)

Perlindungan data di AWS CLI


Model tanggung jawab bersama AWS diterapkan untuk perlindungan data AWS Command Line Interface.
Sebagaimana dijelaskan dalam model ini, AWS bertanggung jawab untuk melindungi infrastruktur global
yang menjalankan semua AWS Cloud. Anda bertanggung jawab untuk memelihara kendali terhadap
konten yang di-hosting pada infrastruktur ini. Konten ini meliputi konfigurasi keamanan dan tugas
pengelolaan untuk berbagai layanan Layanan AWS yang Anda gunakan. Untuk informasi lebih lanjut
tentang privasi data, lihat FAQ tentang Privasi Data. Untuk informasi tentang perlindungan data di Eropa,
lihat postingan blog Model Tanggung Jawab Bersama AWS dan GDPR di Blog Keamanan AWS.

Untuk tujuan perlindungan data, kami sarankan agar Anda melindungi kredensial Akun AWS dan
menyiapkan akun pengguna individu dengan AWS Identity and Access Management (IAM). Dengan cara
tersebut, setiap pengguna hanya diberi izin yang diperlukan untuk memenuhi tugas tugas mereka. Kami
juga menyarankan agar Anda mengamankan data dengan cara-cara berikut:

• Gunakan autentikasi multifaktor (MFA) pada setiap akun.


• Gunakan SSL/TLS untuk berkomunikasi dengan sumber daya AWS. Kami merekomendasikan TLS 1.2
atau versi yang lebih baru.

168
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Enkripsi data

• Siapkan API dan log aktivitas pengguna dengan AWS CloudTrail.


• Gunakan solusi enkripsi AWS, bersama semua kontrol keamanan default dalam layanan AWS.
• Gunakan layanan keamanan terkelola lanjutan seperti Amazon Macie, yang membantu menemukan dan
mengamankan data pribadi yang disimpan di Amazon S3.
• Jika Anda memerlukan modul kriptografi yang divalidasi FIPS 140-2 ketika mengakses AWS melalui
antarmuka baris perintah atau API, gunakan titik akhir FIPS. Untuk informasi lebih lanjut tentang titik
akhir FIPS yang tersedia, lihat Standar Pemrosesan Informasi Federal (FIPS) 140-2.

Kami sangat menyarankan agar Anda tidak memasukkan informasi rahasia atau sensitif , seperti alamat
email pelanggan Anda, ke dalam tanda atau kolom isian teks bebas seperti kolom Nama. Ini termasuk saat
Anda bekerja dengan AWS CLI atau layanan AWS lainnya dengan menggunakan konsol tersebut, API,
AWS CLI, atau SDK AWS. Data apa pun yang Anda masukkan ke dalam tanda atau kolom isian bebas
yang digunakan untuk nama dapat digunakan untuk penagihan atau log diagnostik. Saat Anda memberikan
URL ke server eksternal, sebaiknya jangan menyertakan informasi kredensial di URL untuk memvalidasi
permintaan Anda ke server tersebut.

Enkripsi data
Fitur utama dari setiap layanan aman adalah bahwa informasi dienkripsi ketika tidak aktif digunakan.

Enkripsi saat tidak aktif


AWS CLI sendiri tidak menyimpan data konsumen selain kredensialnya yang dibutuhkan untuk berinteraksi
dengan layanan AWS atas nama pengguna.

Jika Anda menggunakan AWS CLI untuk membuka sebuah layanan AWS yang mentransmisikan data
pelanggan ke komputer lokal Anda untuk penyimpanan, kemudian lihat bagian Keamanan & Kepatuhan
dalam Panduan Pengguna layanan tersebut untuk informasi tentang bagaimana data tersebut disimpan,
dilindungi, dan dienkripsi.

Enkripsi dalam transit


Secara default, semua data yang dikirim dari komputer klien yang menjalankanAWS CLIdanAWSendpoint
layanan dienkripsi dengan mengirimkan semuanya melalui koneksi HTTPS/TLS.

Anda tidak perlu melakukan apapun untuk mengaktifkan penggunaan HTTPS/TLS. Itu selalu diaktifkan
kecuali Anda secara eksplisit menonaktifkannya untuk perintah individual dengan menggunakan--no-
verify-sslopsi baris perintah.

Identity and Access Management untuk AWS CLI


ParameterAWS Command Line Interface(AWS CLI) menggunakan pengguna dan peran yang sama untuk
mengaksesAWSsumber daya dan layanan mereka. Kebijakan yang memberikan izin sama karenaAWS
CLImemanggil operasi API yang sama yang digunakan oleh konsol layanan. Untuk informasi lebih lanjut,
lihat bagian “Identity and Access Management” di Bab “Keamanan”AWSlayanan yang ingin Anda gunakan.

Satu-satunya perbedaan utama adalah bagaimana Anda mengotentikasi saat menggunakan pengguna
IAM standar dan kredensial jangka panjang. Meskipun pengguna IAM memerlukan kata sandi untuk
mengaksesAWSkonsol layanan, pengguna IAM yang sama memerlukan pasangan access key untuk
melakukan operasi yang sama menggunakanAWS CLI. Semua kredensial jangka pendek lainnya
digunakan dengan cara yang sama dengan yang digunakan bersama konsol.

Kredensi yang digunakan olehAWS CLIdisimpan dalam file plaintext dantidakdienkripsi.

169
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Validasi Kepatuhan

• File $HOME/.aws/credentials menyimpan kredensial jangka panjang yang diperlukan untuk


mengakses sumber daya AWS Anda. Ini termasuk access key ID dan secret access key Anda.
• Kredensyal jangka pendek, seperti untuk peran yang Anda anggap, atau yang untukAWS Single Sign-
Onlayanan, juga disimpan di$HOME/.aws/cli/cachedan $HOME/.aws/SSO/folder cache, masing-
masing.

Mitigasi Risiko

• Kami sangat merekomendasikan agar Anda mengkonfigurasi izin sistem file pada direktori $HOME/.aws
dan direktori dan file anaknya untuk membatasi akses hanya untuk pengguna yang berwenang.
• Gunakan peran dengan kredensial sementara sedapat mungkin untuk mengurangi peluang terjadinya
kerusakan jika kredensialnya dikurangi. Gunakan kredensial jangka panjang hanya untuk meminta dan
menyegarkan kredensial peran jangka pendek.

Validasi kepatuhan untukAWS CLI


Auditor pihak ketiga menilai keamanan dan kepatuhan AWS sebagai bagian dari beberapa program
kepatuhan AWS. MenggunakanAWS Command Line Interface(AWS CLI) untuk mengakses layanan tidak
akan mengubah kepatuhan layanan tersebut.

Untuk daftar layanan AWS dalam cakupan program kepatuhan tertentu, lihat Layanan AWS dalam
Cakupan berdasarkan Program Kepatuhan. Untuk informasi umum, lihat Program Kepatuhan AWS.

Anda bisa mengunduh laporan audit pihak ketiga menggunakan AWS Artifact. Untuk informasi lebih lanjut,
lihat Mengunduh Laporan di AWS Artifact.

Tanggung jawab kepatuhan Anda saat menggunakan AWS CLI ditentukan oleh sensitivitas data Anda,
tujuan kepatuhan perusahaan Anda, serta undang-undang dan peraturan yang berlaku. AWS menyediakan
sumber daya berikut untuk membantu dengan kepatuhan:

• Panduan Quick Start Keamanan dan Kepatuhan – Panduan penerapan ini membahas pertimbangan
arsitektur dan menyediakan langkah untuk deployment lingkungan dasar yang berfokus pada keamanan
dan kepatuhan di AWS.
• Merancang Laporan Resmi Keamanan dan Kepatuhan HIPAA – Laporan resmi ini menjelaskan cara
perusahaan dapat menggunakan AWS untuk membuat aplikasi yang patuh-HIPAA.
• Sumber Daya Kepatuhan AWS – Kumpulan buku kerja dan panduan ini mungkin berlaku untuk industri
dan lokasi Anda.
• Mengevaluasi Sumber Daya dengan Aturan di Panduan Developer AWS Config – Layanan AWS Config
menilai seberapa baik konfigurasi sumber daya Anda dalam mematuhi praktik internal, pedoman industri,
dan peraturan.
• AWS Security Hub – Layanan AWS ini memberikan pandangan komprehensif tentang status keamanan
Anda dalam AWS yang membantu Anda memeriksa kepatuhan Anda terhadap standar industri
keamanan dan praktik terbaik.

Menegakkan versi minimum TLS 1.2


Untuk menambahkan peningkatan keamanan saat berkomunikasi denganAWSlayanan, Anda harus
menggunakan TLS 1.2 atau versi yang lebih baru. Saat Anda menggunakanAWS CLI, Python digunakan
untuk mengatur versi TLS.

Untuk memastikanAWS CLIVersi 1 tidak menggunakan versi TLS lebih awal dari TLS 1.2, Anda mungkin
perlu mengkompilasi ulang OpenSSL untuk menegakkan minimum ini dan kemudian mengkompilasi ulang
Python untuk menggunakan OpenSSL yang baru dibangun.

170
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Menegakkan TLS 1.2

Topik
• Tentukan protokol yang saat ini didukung (p. 171)
• Kompilasi OpenSSL dan Python (p. 172)

Tentukan protokol yang saat ini didukung


Pertama, buat sertifikat yang ditandatangani sendiri untuk digunakan untuk server uji dan SDK Python
menggunakan OpenSSL.

$ openssl req -subj '/CN=localhost' -x509 -newkey rsa:4096 -nodes -keyout key.pem -out
cert.pem -days 365

Kemudian putar server uji menggunakan OpenSSL.

$ openssl s_server -key key.pem -cert cert.pem -www

Di jendela terminal baru, buat lingkungan virtual dan instal SDK untuk Python.

$ python3 -m venv test-env


source test-env/bin/activate
pip install botocore

Membuat script Python baru bernamacheck.pyyang menggunakan SDK mendasari HTTP library.

$ import urllib3
URL = 'https://localhost:4433/'

http = urllib3.PoolManager(
ca_certs='cert.pem',
cert_reqs='CERT_REQUIRED',
)
r = http.request('GET', URL)
print(r.data.decode('utf-8'))

Jalankan skrip baru Anda.

$ python check.py

Ini menampilkan rincian tentang koneksi yang dibuat. Cari “Protocol:” dalam outputnya. Jika output adalah
“TLSv1.2" atau yang lebih baru, SDK default ke TLS v1.2 atau yang lebih baru. Jika versi sebelumnya,
Anda perlu mengkompilasi ulang OpenSSL dan mengkompilasi ulang Python.

Namun, bahkan jika instalasi Python Anda default ke TLS v1.2 atau yang lebih baru, masih memungkinkan
Python untuk negosiasi ulang ke versi lebih awal dari TLS v1.2 jika server tidak mendukung TLS v1.2
atau yang lebih baru. Untuk memeriksa bahwa Python tidak secara otomatis negosiasi ulang ke versi
sebelumnya, restart server uji dengan berikut.

$ openssl s_server -key key.pem -cert cert.pem -no_tls1_3 -no_tls1_2 -www

Jika Anda menggunakan versi sebelumnya dari OpenSSL, Anda mungkin tidak memiliki-
no_tls_3bendera tersedia. Jika demikian, hapus bendera karena versi OpenSSL yang Anda gunakan
tidak mendukung TLS v1.3. Kemudian jalankan skrip Python.

$ python check.py

171
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Menegakkan TLS 1.2

Jika instalasi Python Anda benar tidak negosiasi ulang untuk versi lebih awal dari TLS 1.2, Anda harus
menerima kesalahan SSL.

$ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='localhost', port=4433): Max


retries exceeded with url: / (Caused by SSLError(SSLError(1, '[SSL: UNSUPPORTED_PROTOCOL]
unsupported protocol (_ssl.c:1108)')))

Jika Anda dapat membuat koneksi, Anda perlu mengkompilasi ulang OpenSSL dan Python untuk
menonaktifkan negosiasi protokol lebih awal dari TLS v1.2.

Kompilasi OpenSSL dan Python


Untuk memastikan SDK atauAWS CLItidak bernegosiasi untuk apa pun lebih awal dari TLS 1.2, Anda perlu
mengkompilasi ulang OpenSSL dan Python. Untuk melakukan ini, salin konten berikut untuk membuat skrip
dan menjalankannya.

#!/usr/bin/env bash
set -e

OPENSSL_VERSION="1.1.1d"
OPENSSL_PREFIX="/opt/openssl-with-min-tls1_2"
PYTHON_VERSION="3.8.1"
PYTHON_PREFIX="/opt/python-with-min-tls1_2"

curl -O "https://www.openssl.org/source/openssl-$OPENSSL_VERSION.tar.gz"
tar -xzf "openssl-$OPENSSL_VERSION.tar.gz"
cd openssl-$OPENSSL_VERSION
./config --prefix=$OPENSSL_PREFIX no-ssl3 no-tls1 no-tls1_1 no-shared
make > /dev/null
sudo make install_sw > /dev/null

cd /tmp
curl -O "https://www.python.org/ftp/python/$PYTHON_VERSION/Python-$PYTHON_VERSION.tgz"
tar -xzf "Python-$PYTHON_VERSION.tgz"
cd Python-$PYTHON_VERSION
./configure --prefix=$PYTHON_PREFIX --with-openssl=$OPENSSL_PREFIX --disable-shared > /dev/
null
make > /dev/null
sudo make install > /dev/null

Ini mengkompilasi versi Python yang memiliki OpenSSL terkait statis yang tidak secara otomatis
menegosiasikan apa pun lebih awal dari TLS 1.2. Ini juga menginstal OpenSSL di/opt/openssl-with-
min-tls1_2direktori dan menginstal Python di/opt/python-with-min-tls1_2direktori. Setelah Anda
menjalankan skrip ini, konfirmasikan pemasangan versi baru Python.

$ /opt/python-with-min-tls1_2/bin/python3 --version

Ini harus mencetak berikut ini.

$ Python 3.8.1

Untuk mengkonfirmasi versi baru Python ini tidak menegosiasikan versi lebih awal dari TLS 1.2, jalankan
kembali langkah-langkah dariTentukan protokol yang saat ini didukung (p. 171)menggunakan versi
Python yang baru diinstal (yaitu,/opt/python-with-min-tls1_2/bin/python3).

172
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Umum: Pastikan Anda menjalankan versi terbaruAWS CLI.

Pemecahan MasalahAWS
CLIkesalahan
Topik
• Umum: Pastikan Anda menjalankan versi terbaruAWS CLI. (p. 173)
• Umum: Menggunakan--debugpilihan. (p. 173)
• Saya mendapatkan kesalahan “perintah tidak ditemukan” ketika saya menjalankanaws. (p. 177)
• Saya mendapatkan kesalahan “akses ditolak”. (p. 178)
• Saya mendapatkan kesalahan “kredensi tidak valid”. (p. 178)
• Saya mendapatkan kesalahan “signature does not match” (SignatureDoesNotMatch). (p. 179)
• Saya mendapatkan “Tidak ada konsol Windows ditemukan. Apakah Anda menjalankan cmd.exe?”
kesalahan. (p. 180)
• Saya mendapatkan “[SSL: CERTIFICATE_ VERIFY_FAILED] sertifikat verifikasi gagal”
kesalahan. (p. 180)
• Sumber daya tambahan (p. 181)

Umum: Pastikan Anda menjalankan versi


terbaruAWS CLI.
Jika Anda menerima kesalahan yang menunjukkan bahwa perintah tidak ada, atau bahwa itu tidak
mengenali parameter yang dokumentasi mengatakan tersedia, kami sarankan bahwa hal pertama yang
Anda lakukan (setelah memeriksa perintah Anda untuk kesalahan ejaan!) adalah meng-upgrade ke versi
terbaruAWS CLI. Versi terbaru dariAWS CLIdilepaskan hampir setiap hari kerja. BaruAWSlayanan, fitur,
dan parameter diperkenalkan pada versi baruAWS CLI. Satu-satunya cara untuk mendapatkan akses ke
layanan, fitur, atau parameter baru adalah dengan meng-upgrade ke versi yang dirilis setelah elemen itu
pertama kali diperkenalkan.

Bagaimana Anda memperbarui versiAWS CLItergantung pada bagaimana Anda awalnya menginstalnya
seperti yang dijelaskan dalamMenginstal AWS CLI (p. 5).

Jika Anda menggunakan salah satu installer yang dibundel, Anda mungkin perlu menghapus instalasi yang
ada sebelum mengunduh dan menginstal versi terbaru dari installer yang dibundel untuk sistem operasi
Anda.

Umum: Menggunakan--debugpilihan.
Salah satu hal pertama yang harus Anda lakukan ketikaAWS CLImelaporkan kesalahan yang tidak
segera Anda pahami, atau menghasilkan hasil yang tidak Anda harapkan, adalah mendapatkan lebih
detail tentang kesalahan tersebut. Anda dapat melakukan hal tersebut dengan menjalankan perintah
lagi dan termasuk--debugopsi di akhir baris perintah. Hal ini menyebabkanAWS CLIuntuk melaporkan
rincian tentang setiap langkah yang diperlukan untuk memproses perintah Anda, mengirim permintaan

173
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Umum: Menggunakan--debugpilihan.

keAWSserver, menerima respon, dan memproses respon ke output yang Anda lihat. Rincian dalam output
dapat membantu Anda untuk menentukan di mana langkah kesalahan terjadi dan untuk mendapatkan
konteks yang dapat memberikan petunjuk tentang apa yang memicu itu.

Anda dapat mengirim output ke file teks untuk menangkapnya untuk ditinjau nanti atau
mengirimkannyaAWSdukungan ketika diminta untuk itu.

Berikut adalah contoh perintah yang dijalankan dengan dan tanpa--debugpilihan.

$ aws iam list-groups --profile MyTestProfile


{
"Groups": [
{
"Path": "/",
"GroupName": "MyTestGroup",
"GroupId": "AGPA0123456789EXAMPLE",
"Arn": "arn:aws:iam::123456789012:group/MyTestGroup",
"CreateDate": "2019-08-12T19:34:04Z"
}
]
}

Bila Anda menyertakan--debugpilihan, rincian termasuk (antara lain):

• Mencari kredensia
• Parsing parameter yang disediakan
• Membangun permintaan yang dikirim keAWSserver
• Isi permintaan yang dikirim keAWS
• Isi dari respon mentah
• Output diformat

$ aws iam list-groups --profile MyTestProfile --debug


2019-08-12 12:36:18,305 - MainThread - awscli.clidriver - DEBUG - CLI version: aws-
cli/1.16.215 Python/3.7.3 Linux/4.14.133-113.105.amzn2.x86_64 botocore/1.12.205
2019-08-12 12:36:18,305 - MainThread - awscli.clidriver - DEBUG - Arguments entered to CLI:
['iam', 'list-groups', '--debug']
2019-08-12 12:36:18,305 - MainThread - botocore.hooks - DEBUG - Event session-initialized:
calling handler <function add_scalar_parsers at 0x7fdf173161e0>
2019-08-12 12:36:18,305 - MainThread - botocore.hooks - DEBUG - Event session-initialized:
calling handler <function register_uri_param_handler at 0x7fdf17dec400>
2019-08-12 12:36:18,305 - MainThread - botocore.hooks - DEBUG - Event session-initialized:
calling handler <function inject_assume_role_provider_cache at 0x7fdf17da9378>
2019-08-12 12:36:18,307 - MainThread - botocore.credentials - DEBUG - Skipping environment
variable credential check because profile name was explicitly set.
2019-08-12 12:36:18,307 - MainThread - botocore.hooks - DEBUG - Event session-initialized:
calling handler <function attach_history_handler at 0x7fdf173ed9d8>
2019-08-12 12:36:18,308 - MainThread - botocore.loaders - DEBUG - Loading JSON file: /home/
ec2-user/venv/lib/python3.7/site-packages/botocore/data/iam/2010-05-08/service-2.json
2019-08-12 12:36:18,317 - MainThread - botocore.hooks - DEBUG - Event building-command-
table.iam: calling handler <function add_waiters at 0x7fdf1731a840>
2019-08-12 12:36:18,320 - MainThread - botocore.loaders - DEBUG - Loading JSON file: /home/
ec2-user/venv/lib/python3.7/site-packages/botocore/data/iam/2010-05-08/waiters-2.json
2019-08-12 12:36:18,321 - MainThread - awscli.clidriver - DEBUG - OrderedDict([('path-
prefix', <awscli.arguments.CLIArgument object at 0x7fdf171ac780>), ('marker',
<awscli.arguments.CLIArgument object at 0x7fdf171b09e8>), ('max-items',
<awscli.arguments.CLIArgument object at 0x7fdf171b09b0>)])
2019-08-12 12:36:18,322 - MainThread - botocore.hooks - DEBUG - Event building-
argument-table.iam.list-groups: calling handler <function add_streaming_output_arg at
0x7fdf17316510>

174
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Umum: Menggunakan--debugpilihan.

2019-08-12 12:36:18,322 - MainThread - botocore.hooks - DEBUG - Event building-argument-


table.iam.list-groups: calling handler <function add_cli_input_json at 0x7fdf17da9d90>
2019-08-12 12:36:18,322 - MainThread - botocore.hooks - DEBUG - Event building-argument-
table.iam.list-groups: calling handler <function unify_paging_params at 0x7fdf17328048>
2019-08-12 12:36:18,326 - MainThread - botocore.loaders - DEBUG - Loading JSON file: /home/
ec2-user/venv/lib/python3.7/site-packages/botocore/data/iam/2010-05-08/paginators-1.json
2019-08-12 12:36:18,326 - MainThread - awscli.customizations.paginate - DEBUG - Modifying
paging parameters for operation: ListGroups
2019-08-12 12:36:18,326 - MainThread - botocore.hooks - DEBUG - Event building-argument-
table.iam.list-groups: calling handler <function add_generate_skeleton at 0x7fdf1737eae8>
2019-08-12 12:36:18,326 - MainThread - botocore.hooks - DEBUG - Event
before-building-argument-table-parser.iam.list-groups: calling handler
<bound method OverrideRequiredArgsArgument.override_required_args of
<awscli.customizations.cliinputjson.CliInputJSONArgument object at 0x7fdf171b0a58>>
2019-08-12 12:36:18,327 - MainThread - botocore.hooks - DEBUG - Event
before-building-argument-table-parser.iam.list-groups: calling handler
<bound method GenerateCliSkeletonArgument.override_required_args of
<awscli.customizations.generatecliskeleton.GenerateCliSkeletonArgument object at
0x7fdf171c5978>>
2019-08-12 12:36:18,327 - MainThread - botocore.hooks - DEBUG - Event operation-
args-parsed.iam.list-groups: calling handler functools.partial(<function
check_should_enable_pagination at 0x7fdf17328158>, ['marker', 'max-items'], {'max-
items': <awscli.arguments.CLIArgument object at 0x7fdf171b09b0>}, OrderedDict([('path-
prefix', <awscli.arguments.CLIArgument object at 0x7fdf171ac780>), ('marker',
<awscli.arguments.CLIArgument object at 0x7fdf171b09e8>), ('max-items',
<awscli.customizations.paginate.PageArgument object at 0x7fdf171c58d0>), ('cli-
input-json', <awscli.customizations.cliinputjson.CliInputJSONArgument object at
0x7fdf171b0a58>), ('starting-token', <awscli.customizations.paginate.PageArgument
object at 0x7fdf171b0a20>), ('page-size', <awscli.customizations.paginate.PageArgument
object at 0x7fdf171c5828>), ('generate-cli-skeleton',
<awscli.customizations.generatecliskeleton.GenerateCliSkeletonArgument object at
0x7fdf171c5978>)]))
2019-08-12 12:36:18,328 - MainThread - botocore.hooks - DEBUG - Event load-cli-
arg.iam.list-groups.path-prefix: calling handler <awscli.paramfile.URIArgumentHandler
object at 0x7fdf1725c978>
2019-08-12 12:36:18,328 - MainThread - botocore.hooks - DEBUG - Event load-cli-
arg.iam.list-groups.marker: calling handler <awscli.paramfile.URIArgumentHandler object at
0x7fdf1725c978>
2019-08-12 12:36:18,328 - MainThread - botocore.hooks - DEBUG - Event load-cli-
arg.iam.list-groups.max-items: calling handler <awscli.paramfile.URIArgumentHandler object
at 0x7fdf1725c978>
2019-08-12 12:36:18,328 - MainThread - botocore.hooks - DEBUG - Event load-cli-
arg.iam.list-groups.cli-input-json: calling handler <awscli.paramfile.URIArgumentHandler
object at 0x7fdf1725c978>
2019-08-12 12:36:18,328 - MainThread - botocore.hooks - DEBUG - Event load-cli-
arg.iam.list-groups.starting-token: calling handler <awscli.paramfile.URIArgumentHandler
object at 0x7fdf1725c978>
2019-08-12 12:36:18,328 - MainThread - botocore.hooks - DEBUG - Event load-cli-
arg.iam.list-groups.page-size: calling handler <awscli.paramfile.URIArgumentHandler object
at 0x7fdf1725c978>
2019-08-12 12:36:18,328 - MainThread - botocore.hooks - DEBUG - Event
load-cli-arg.iam.list-groups.generate-cli-skeleton: calling handler
<awscli.paramfile.URIArgumentHandler object at 0x7fdf1725c978>
2019-08-12 12:36:18,329 - MainThread - botocore.hooks - DEBUG
- Event calling-command.iam.list-groups: calling handler
<bound method CliInputJSONArgument.add_to_call_parameters of
<awscli.customizations.cliinputjson.CliInputJSONArgument object at 0x7fdf171b0a58>>
2019-08-12 12:36:18,329 - MainThread - botocore.hooks - DEBUG -
Event calling-command.iam.list-groups: calling handler <bound
method GenerateCliSkeletonArgument.generate_json_skeleton of
<awscli.customizations.generatecliskeleton.GenerateCliSkeletonArgument object at
0x7fdf171c5978>>
2019-08-12 12:36:18,329 - MainThread - botocore.credentials - DEBUG - Looking for
credentials via: assume-role
2019-08-12 12:36:18,329 - MainThread - botocore.credentials - DEBUG - Looking for
credentials via: assume-role-with-web-identity

175
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Umum: Menggunakan--debugpilihan.

2019-08-12 12:36:18,329 - MainThread - botocore.credentials - DEBUG - Looking for


credentials via: shared-credentials-file
2019-08-12 12:36:18,329 - MainThread - botocore.credentials - INFO - Found credentials in
shared credentials file: ~/.aws/credentials
2019-08-12 12:36:18,330 - MainThread - botocore.loaders - DEBUG - Loading JSON file: /home/
ec2-user/venv/lib/python3.7/site-packages/botocore/data/endpoints.json
2019-08-12 12:36:18,334 - MainThread - botocore.hooks - DEBUG - Event choose-service-name:
calling handler <function handle_service_name_alias at 0x7fdf1898eb70>
2019-08-12 12:36:18,337 - MainThread - botocore.hooks - DEBUG - Event creating-client-
class.iam: calling handler <function add_generate_presigned_url at 0x7fdf18a028c8>
2019-08-12 12:36:18,337 - MainThread - botocore.regions - DEBUG - Using partition endpoint
for iam, us-west-2: aws-global
2019-08-12 12:36:18,337 - MainThread - botocore.args - DEBUG - The s3 config key is not a
dictionary type, ignoring its value of: None
2019-08-12 12:36:18,340 - MainThread - botocore.endpoint - DEBUG - Setting iam timeout as
(60, 60)
2019-08-12 12:36:18,341 - MainThread - botocore.loaders - DEBUG - Loading JSON file: /home/
ec2-user/venv/lib/python3.7/site-packages/botocore/data/_retry.json
2019-08-12 12:36:18,341 - MainThread - botocore.client - DEBUG - Registering retry handlers
for service: iam
2019-08-12 12:36:18,342 - MainThread - botocore.hooks - DEBUG - Event before-parameter-
build.iam.ListGroups: calling handler <function generate_idempotent_uuid at 0x7fdf189b10d0>
2019-08-12 12:36:18,342 - MainThread - botocore.hooks - DEBUG - Event before-
call.iam.ListGroups: calling handler <function inject_api_version_header_if_needed at
0x7fdf189b2a60>
2019-08-12 12:36:18,343 - MainThread - botocore.endpoint - DEBUG - Making
request for OperationModel(name=ListGroups) with params: {'url_path': '/',
'query_string': '', 'method': 'POST', 'headers': {'Content-Type': 'application/x-
www-form-urlencoded; charset=utf-8', 'User-Agent': 'aws-cli/1.16.215 Python/3.7.3
Linux/4.14.133-113.105.amzn2.x86_64 botocore/1.12.205'}, 'body': {'Action':
'ListGroups', 'Version': '2010-05-08'}, 'url': 'https://iam.amazonaws.com/', 'context':
{'client_region': 'aws-global', 'client_config': <botocore.config.Config object at
0x7fdf16e9a4a8>, 'has_streaming_input': False, 'auth_type': None}}
2019-08-12 12:36:18,343 - MainThread - botocore.hooks - DEBUG - Event request-
created.iam.ListGroups: calling handler <bound method RequestSigner.handler of
<botocore.signers.RequestSigner object at 0x7fdf16e9a470>>
2019-08-12 12:36:18,343 - MainThread - botocore.hooks - DEBUG - Event choose-
signer.iam.ListGroups: calling handler <function set_operation_specific_signer at
0x7fdf18996f28>
2019-08-12 12:36:18,343 - MainThread - botocore.auth - DEBUG - Calculating signature using
v4 auth.
2019-08-12 12:36:18,343 - MainThread - botocore.auth - DEBUG - CanonicalRequest:
POST
/

content-type:application/x-www-form-urlencoded; charset=utf-8
host:iam.amazonaws.com
x-amz-date:20190812T193618Z

content-type;host;x-amz-date
5f776d91EXAMPLE9b8cb5eb5d6d4a787a33ae41c8cd6eEXAMPLEca69080e1e1f
2019-08-12 12:36:18,344 - MainThread - botocore.auth - DEBUG - StringToSign:
AWS4-HMAC-SHA256
20190812T193618Z
20190812/us-east-1/iam/aws4_request
ab7e367eEXAMPLE2769f178ea509978cf8bfa054874b3EXAMPLE8d043fab6cc9
2019-08-12 12:36:18,344 - MainThread - botocore.auth - DEBUG - Signature:
d85a0EXAMPLEb40164f2f539cdc76d4f294fe822EXAMPLE18ad1ddf58a1a3ce7
2019-08-12 12:36:18,344 - MainThread - botocore.endpoint - DEBUG - Sending http request:
<AWSPreparedRequest stream_output=False, method=POST, url=https://iam.amazonaws.com/,
headers={'Content-Type': b'application/x-www-form-urlencoded; charset=utf-8',
'User-Agent': b'aws-cli/1.16.215 Python/3.7.3 Linux/4.14.133-113.105.amzn2.x86_64
botocore/1.12.205', 'X-Amz-Date': b'20190812T193618Z', 'Authorization': b'AWS4-HMAC-
SHA256 Credential=AKIA01234567890EXAMPLE-east-1/iam/aws4_request, SignedHeaders=content-
type;host;x-amz-date, Signature=d85a07692aceb401EXAMPLEa1b18ad1ddf58a1a3ce7EXAMPLE',
'Content-Length': '36'}>

176
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Saya mendapatkan kesalahan “perintah tidak
ditemukan” ketika saya menjalankanaws.
2019-08-12 12:36:18,344 - MainThread - urllib3.util.retry - DEBUG - Converted retries
value: False -> Retry(total=False, connect=None, read=None, redirect=0, status=None)
2019-08-12 12:36:18,344 - MainThread - urllib3.connectionpool - DEBUG - Starting new HTTPS
connection (1): iam.amazonaws.com:443
2019-08-12 12:36:18,664 - MainThread - urllib3.connectionpool - DEBUG - https://
iam.amazonaws.com:443 "POST / HTTP/1.1" 200 570
2019-08-12 12:36:18,664 - MainThread - botocore.parsers - DEBUG - Response headers: {'x-
amzn-RequestId': '74c11606-bd38-11e9-9c82-559da0adb349', 'Content-Type': 'text/xml',
'Content-Length': '570', 'Date': 'Mon, 12 Aug 2019 19:36:18 GMT'}
2019-08-12 12:36:18,664 - MainThread - botocore.parsers - DEBUG - Response body:
b'<ListGroupsResponse xmlns="https://iam.amazonaws.com/doc/2010-05-08/">\n
<ListGroupsResult>\n <IsTruncated>false</IsTruncated>\n <Groups>\n
<member>\n <Path>/</Path>\n <GroupName>MyTestGroup</GroupName>
\n <Arn>arn:aws:iam::123456789012:group/MyTestGroup</Arn>\n
<GroupId>AGPA1234567890EXAMPLE</GroupId>\n <CreateDate>2019-08-12T19:34:04Z</
CreateDate>\n </member>\n </Groups>\n </ListGroupsResult>\n <ResponseMetadata>\n
<RequestId>74c11606-bd38-11e9-9c82-559da0adb349</RequestId>\n </ResponseMetadata>\n</
ListGroupsResponse>\n'
2019-08-12 12:36:18,665 - MainThread - botocore.hooks - DEBUG - Event needs-
retry.iam.ListGroups: calling handler <botocore.retryhandler.RetryHandler object at
0x7fdf16e9a780>
2019-08-12 12:36:18,665 - MainThread - botocore.retryhandler - DEBUG - No retry needed.
2019-08-12 12:36:18,665 - MainThread - botocore.hooks - DEBUG - Event after-
call.iam.ListGroups: calling handler <function json_decode_policies at 0x7fdf189b1d90>
{
"Groups": [
{
"Path": "/",
"GroupName": "MyTestGroup",
"GroupId": "AGPA123456789012EXAMPLE",
"Arn": "arn:aws:iam::123456789012:group/MyTestGroup",
"CreateDate": "2019-08-12T19:34:04Z"
}
]
}

Saya mendapatkan kesalahan “perintah tidak


ditemukan” ketika saya menjalankanaws.
Kemungkinan penyebab : Sistem operasi “path” tidak
diperbarui selama instalasi.
Kesalahan ini berarti bahwa sistem operasi tidak dapat menemukanAWS CLIProgram. Instalasi mungkin
tidak lengkap.

Jika Anda menggunakanpipuntuk menginstalAWS CLI, Anda mungkin perlu menambahkan folder
yang berisiawsprogram ke sistem operasi AndaPATHvariabel lingkungan, atau mengubah modus untuk
membuatnya executable.

Anda mungkin perlu menambahkanawsdapat dieksekusi ke sistem operasi AndaPATHVariabel lingkungan.


Ikuti langkah-langkah dalam prosedur yang tepat diMenginstal AWS CLI (p. 5).

177
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Saya mendapatkan kesalahan “akses ditolak”.

Saya mendapatkan kesalahan “akses ditolak”.


Kemungkinan penyebab : ParameterAWS CLIfile
program tidak memiliki “run” izin.
Linux atau macOS, pastikanawsProgram telah menjalankan izin untuk pengguna panggilan. Biasanya, izin
diatur ke755.

Untuk menambahkan izin lari untuk pengguna Anda, jalankan perintah berikut, ganti~/.local/bin/
awsdengan jalur ke program di komputer Anda.

$ chmod +x ~/.local/bin/aws

Kemungkinan penyebab : Identitas IAM Anda tidak


memiliki izin untuk melakukan operasi.
Ketika Anda menjalankanAWS CLIperintahAWSoperasi dilakukan atas nama Anda, menggunakan
kredensi yang mengasosiasikan Anda dengan pengguna atau peran IAM. Kebijakan yang dilampirkan pada
pengguna atau peran IAM tersebut harus memberi Anda izin untuk memanggil tindakan API yang sesuai
dengan perintah yang Anda jalankan denganAWS CLI.

Sebagian besar perintah memanggil satu tindakan dengan nama yang cocok dengan nama perintah.
Namun, perintah kustom sepertiaws s3 syncmemanggil beberapa API. Anda dapat melihat API mana
yang dipanggil perintah dengan menggunakan--debugpilihan.

Jika Anda yakin bahwa pengguna atau peran memiliki izin yang tepat yang ditetapkan oleh kebijakan,
pastikan bahwa AndaAWS CLIperintah menggunakan kredensi yang Anda harapkan. Lihatbagian
berikutnya tentang kredensia (p. 178)untuk memverifikasi bahwa kredensiAWS CLIadalah menggunakan
adalah orang-orang yang Anda harapkan.

Untuk informasi tentang menetapkan izin ke pengguna dan peran IAM, lihatManajemen Akses: Izin dan
Kebijakan di Panduan Pengguna IAM.

Saya mendapatkan kesalahan “kredensi tidak


valid”.
Kemungkinan penyebab : ParameterAWS
CLImembaca kredensi dari lokasi yang tak terduga.
ParameterAWS CLImungkin membaca kredensi dari lokasi yang berbeda dari yang Anda harapkan. Anda
dapat menjalankanaws configure listuntuk mengkonfirmasi kredensi mana yang digunakan.

Contoh berikut menunjukkan cara memeriksa kredensional yang digunakan untuk profil default.

$ aws configure list


Name Value Type Location
---- ----- ---- --------
profile <not set> None None

178
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Kemungkinan penyebab : Jam komputer Anda tidak sinkron.

access_key ****************XYVA shared-credentials-file


secret_key ****************ZAGY shared-credentials-file
region us-west-2 config-file ~/.aws/config

Contoh berikut menunjukkan cara memeriksa kredensional profil bernama.

$ aws configure list --profile saanvi


Name Value Type Location
---- ----- ---- --------
profile saanvi manual --profile
access_key **************** shared-credentials-file
secret_key **************** shared-credentials-file
region us-west-2 config-file ~/.aws/config

Kemungkinan penyebab : Jam komputer Anda tidak


sinkron.
Jika Anda menggunakan kredensi yang valid, jam Anda mungkin tidak sinkron. Linux atau macOS,
jalankandateuntuk memeriksa waktu.

$ date

Jika jam sistem Anda tidak benar dalam beberapa menit, gunakanntpduntuk menyinkronkannya.

$ sudo service ntpd stop


$ sudo ntpdate time.nist.gov
$ sudo service ntpd start
$ ntpstat

Pada Windows, gunakan opsi tanggal dan waktu di Panel Kontrol untuk mengkonfigurasi jam sistem Anda.

Saya mendapatkan kesalahan “signature does not


match” (SignatureDoesNotMatch).
SaatAWS CLImenjalankan perintah, ia mengirimkan permintaan terenkripsi keAWSserver untuk melakukan
yang sesuaiAWSoperasi layanan. Kredensial Anda (kunci akses dan kunci rahasia) terlibat dalam enkripsi
dan mengaktifkanAWSuntuk mengotentikasi orang yang membuat permintaan. Ada beberapa hal yang
dapat mengganggu operasi yang benar dari proses ini, sebagai berikut.

Kemungkinan penyebab : Jam Anda tidak sinkron


denganAWSserver.
Untuk membantu melindungi terhadapserangan putar ulang, waktu saat ini dapat digunakan selama proses
enkripsi/dekripsi. Jika waktu klien dan server tidak setuju dengan lebih dari jumlah yang diizinkan, proses
dapat gagal dan permintaan ditolak. Hal ini juga dapat terjadi ketika Anda menjalankan perintah di mesin
virtual yang jamnya tidak sinkron dengan jam mesin host. Salah satu penyebabnya adalah ketika mesin
virtual hibernate dan membutuhkan beberapa waktu setelah bangun untuk menyinkronkan jam dengan
mesin host.

Linux atau macOS, jalankandateuntuk memeriksa waktu.

179
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Kemungkinan penyebab : Sistem operasi
Anda salah penangananAWSkunci rahasia
yang berisi karakter khusus tertentu.
$ date

Jika jam sistem Anda tidak benar dalam beberapa menit, gunakanntpduntuk menyinkronkannya.

$ sudo service ntpd stop


$ sudo ntpdate time.nist.gov
$ sudo service ntpd start
$ ntpstat

Pada Windows, gunakan opsi tanggal dan waktu di Panel Kontrol untuk mengkonfigurasi jam sistem Anda.

Kemungkinan penyebab : Sistem operasi Anda salah


penangananAWSkunci rahasia yang berisi karakter
khusus tertentu.
JikaAWSkunci rahasia termasuk karakter khusus tertentu, seperti-,+,/, atau%, beberapa varian sistem
operasi memproses string dengan tidak benar dan menyebabkan string kunci rahasia ditafsirkan secara
tidak benar.

Jika Anda memproses kunci akses dan kunci rahasia Anda menggunakan alat atau skrip lain, seperti
alat yang membuat file kredensia pada instance baru sebagai bagian dari pembuatannya, alat dan skrip
tersebut mungkin memiliki penanganan karakter khusus mereka sendiri yang menyebabkan mereka diubah
menjadi sesuatu yangAWStidak lagi mengakui.

Solusi mudah adalah untuk meregenerasi kunci rahasia untuk mendapatkan satu yang tidak termasuk
karakter khusus.

Saya mendapatkan “Tidak ada konsol Windows


ditemukan. Apakah Anda menjalankan cmd.exe?”
kesalahan.
Saat Anda menggunakanAWS CLIperintah, Anda menerima “Tidak ada konsol Windows ditemukan.
Apakah Anda menjalankan cmd.exe?” pesan kesalahan. Hal ini biasanya disebabkan oleh
Pythonprompt_toolkitAnda telah menginstal menjadi usang. Untuk mengatasi masalah ini, instal versi
terbaruprompt_toolkitpadaSitus web Python.

Saya mendapatkan “[SSL: CERTIFICATE_


VERIFY_FAILED] sertifikat verifikasi gagal”
kesalahan.
Saat Anda menggunakanAWS CLIperintah, Anda menerima “[SSL: CERTIFICATE_ VERIFY_FAILED]
sertifikat verifikasi gagal” pesan galat. Hal ini disebabkan olehAWS CLItidak mempercayai sertifikat proxy
Anda karena faktor-faktor seperti sertifikat proxy Anda ditandatangani sendiri, dengan perusahaan Anda
ditetapkan sebagai Otoritas Sertifikasi (CA). Hal ini mencegahAWS CLIdari menemukan sertifikat akar CA
perusahaan Anda di registri CA lokal.

180
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Sumber daya tambahan

Untuk memperbaikinya, instruksikanAWS CLIdi mana untuk menemukan perusahaan Anda.pemfile


menggunakanca_bundle (p. 35)pengaturan file konfigurasi,--ca-bundle (p. 49)opsi baris perintah,
atauAWS_CA_Bundle (p. 45)Variabel lingkungan.

Sumber daya tambahan


Untuk bantuan tambahanAWS CLImasalah, kunjungiAWS CLIkomunitasdi atasGitHub.

181
AWS Command Line Interface
Panduan Pengguna untuk Versi 1

AWS CLIRiwayat dokumen panduan


pengguna
Tabel berikut menjelaskan tambahan penting padaAWS Command Line InterfacePanduan Pengguna,
dimulai pada Januari 2019. Untuk notifikasi tentang pembaruan dokumentasi ini, Anda dapat berlangganan
ke umpan RSS.

update-history-change update-history-description update-history-date

Konten untukAWS CLIV1 Untuk kejelasan dan 2 November 2021


dan V2 sekarang dipisahkan kemudahan,AWS CLIversi 1
ke dalam panduan masing- danAWS CLIversi 2 konten
masing (p. 182) sekarang dipisahkan menjadi
panduan mereka sendiri.
UntukAWS CLIversi 2, lihat yang
terbaruAWS Command Line
InterfacePanduan Pengguna

DitambahkanAWS CLIinformasi DitambahkanAWS CLIinformasi 11 Maret 2021


alias alias. Alias adalah cara pintas
yang dapat Anda buat diAWS
Command Line Interface(AWS
CLI) untuk mempersingkat
perintah atau skrip yang sering
Anda gunakan.

Informasi keluaran filter yang Diperbarui informasi untuk filter 1 Februari 2021
diperbarui dan pindah ke halaman mereka
sendiri.

Pengumuman untuk Python 2.7, Python 2.7 telah usang oleh 29 Januari 2021
3.4, dan 3.5 (p. 182) Python Software Foundation
pada 1 Januari 2020. Ke depan,
pelanggan menggunakanAWS
CLIversi 1 harus beralih ke
menggunakan Python 3, dengan
minimal Python 3.6. Dukungan
Python 2.7 sudah usang untuk
versi baru dariAWS CLIversi 1
mulai 7/19/2021. Python 3.4 dan
3.5 sudah usang mulai 2/1/2021.

Contoh skrip Amazon S3 Menambahkan contoh scripting 15 Oktober 2020


siklus hidup Amazon S3.

Contoh skrip Amazon EC2 Contoh skrip tipe Amazon EC2. 15 Oktober 2020

Menambahkan informasi Ditambahkan halaman retries 17 September 2020


untuk fitur dan perilaku retries
diAWS CLI.

Server-side dan sisi klien Diperbarui informasi pagination 17 Agustus 2020


halaman pagination dan terpusat pada satu halaman.

182
AWS Command Line Interface
Panduan Pengguna untuk Versi 1

Diperbarui halaman perintah s3 Memperbarui halaman perintah 30 Juli 2020


s3 tingkat tinggi dengan contoh
dan sumber daya baru.

Informasi instalasi yang Informasi instalasi, pembaruan, 19 Mei 2020


diperbarui dan uninstall untuk Linux,
macOS, dan Windows diperbarui.

Diperbarui untuk menghapus Pada 10 Januari 2020,AWS 10 Januari 2020


dukungan untuk Python 2.6 dan CLIversi 1 tidak lagi mendukung
3.3 dariAWS CLIversi 1 menggunakan versi Python
2.6 atau 3.3. Anda harus
memperbarui ke versi
Python yang lebih baru untuk
digunakanAWS CLIversi 1.17
atau yang lebih baru

Bagian MFA baru Menambahkan bagian baru yang 3 Mei 2019


menjelaskan cara mengakses
CLI menggunakan otentikasi dan
peran multi-faktor.

Perbarui ke bagian perbaikan besar dan 7 Maret 2019


“Menggunakan CLI” penambahan petunjuk
penggunaan dan prosedur.

Perbarui ke bagian “Memasang Perbaikan dan penambahan 7 Maret 2019


CLI” besar padaAWS CLIpetunjuk
instalasi dan prosedur.

Perbarui ke bagian Perbaikan dan penambahan 7 Maret 2019


“Mengkonfigurasi CLI” besar padaAWS CLIinstruksi
konfigurasi dan prosedur.

183

Anda mungkin juga menyukai