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
iv
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
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
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.
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.
$ 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
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:
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.
LainnyaAWSSDK
Bergantung pada kasus penggunaan Anda, Anda dapat memilih salah satuAWSSDK atauAWS Tools for
PowerShell:
3
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
LainnyaAWSSDK
4
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Persyaratan versi Python
1.0 - 1.16.x Python 2.6 dan lebih tua, Python 3.3 dan yang
lebih tua
$ aws --version
5
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Prasyarat
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.
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.
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
$ source ~/.bash_profile
6
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
yum
$ aws --version
aws-cli/1.22.23 Python/3.8.8 Linux/4.14.133-113.105.amzn2.x86_64 botocore/1.13
$ aws --version
aws-cli/1.22.23 Python/3.8.8 Linux/4.14.133-113.105.amzn2.x86_64 botocore/1.13
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).
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)
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 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:
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
• Download menggunakancurlperintah.
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:
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
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.
$ 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).
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:
• Download menggunakancurlperintah.
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:
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
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
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
$ source ~/.bash_profile
$ aws --version
aws-cli/1.22.23 Python/3.8.8 Linux/4.14.133-113.105.amzn2.x86_64 botocore/1.13
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/
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.
$ curl -O https://bootstrap.pypa.io/get-pip.py
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
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
$ pip3 --version
pip 19.2.3 from ~/.local/lib/python3.7/site-packages (python 3.7)
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:
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:
$ aws --version
aws-cli/1.22.23 Python/3.8.8 Linux/4.14.133-113.105.amzn2.x86_64 botocore/1.13
$ which aws
/home/username/.local/bin/aws
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
export PATH=~/.local/bin:$PATH
$ source ~/.bash_profile
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/
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).
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 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:
• Download menggunakancurlperintah.
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:
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
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.
$ aws --version
aws-cli/1.22.23 Python/3.8.8 Linux/4.14.133-113.105.amzn2.x86_64 botocore/1.13
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:
• Download menggunakancurlperintah.
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:
17
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Instal dan hapus instalan menggunakan
penginstal yang dibundel
• Download menggunakan link langsung.
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
$ ./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
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
$ source ~/.bash_profile
$ aws --version
aws-cli/1.22.23 Python/3.8.8 Linux/4.14.133-113.105.amzn2.x86_64 botocore/1.13
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/
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.
$ curl -O https://bootstrap.pypa.io/get-pip.py
19
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Instal dan perbarui menggunakan pip
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:
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:
$ aws --version
aws-cli/1.22.23 Python/3.8.8 Darwin/18.7.0 botocore/1.13
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.
$ 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
export PATH=~/.local/bin:$PATH
$ source ~/.bash_profile
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/
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)
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.
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
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).
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:
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
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
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:
24
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Virtualenv
Jikawhereperintah mengembalikan kesalahan berikut, itu tidak dalam sistemPATHdan Anda tidak
dapat menjalankannya dengan memasukkan namanya.
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.
$ virtualenv ~/cli-ve
Atau, Anda dapat menggunakan-ppilihan untuk menentukan versi Python selain default.
$ source ~/cli-ve/bin/activate
Windows
$ %USERPROFILE%\cli-ve\Scripts\activate
(cli-ve)~$
$ 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
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
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
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
Topik
• Membuat key pair (p. 29)
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.
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:
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.
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.
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.
30
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Pengaturan konfigurasi dan prioritas
Untuk informasi selengkapnya tentang profil bernama, lihatProfil bernama untukAWS CLI (p. 42).
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.
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)
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
Credentialsdanconfigfail
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
Anda dapat mengatur kredensyal atau pengaturan konfigurasi menggunakanaws configure set.
Tentukan profil yang ingin Anda lihat atau ubah dengan--profilePengaturan.
Untuk menghapus pengaturan, gunakan string kosong sebagai nilainya, atau hapus pengaturan secara
manual di setelan Andaconfigdancredentialsfile dalam editor teks.
Anda dapat mengambil kredensial atau pengaturan konfigurasi yang telah Anda tetapkan
menggunakanaws configure get. Tentukan profil yang ingin Anda lihat atau ubah dengan--
profilePengaturan.
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.
33
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
DidukungconfigPengaturan file
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
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.
MenentukanAWSkunci akses yang digunakan sebagai bagian dari kredensia untuk mengotentikasi
permintaan perintah. Meskipun ini dapat disimpan diconfigFile, kami merekomendasikan Anda
menyimpannya dicredentialsberkas.
aws_access_key_id = AKIAIOSFODNN7EXAMPLE
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
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.
aws_session_token = AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT
+FvwqnKwRcOIfrRh3c/LTo6UDdyJwOOvEVPvLXCrrrUtdnniCEXAMPLE/
IvU1dYUg2RVAJBanLiHb4IgRmpRV3zrkuWJOgQs8IZZaIv2BXIa2R4Olgk
ca_bundle
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
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.
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.
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.
max_attempts = 3
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.
output = table
parameter_validation
Entri ini tidak memiliki variabel lingkungan yang setara atau opsi baris perintah.
parameter_validation = false
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).
region = us-west-2
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).
retry_mode = standard
37
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
DidukungconfigPengaturan file
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
Untuk informasi selengkapnya tentang menggunakan identitas web, lihatthe section called “Asumsikan
peran dengan identitas web” (p. 68).
role_session_name (p. 67)
role_session_name = maria_garcia_role
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
38
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
DidukungconfigPengaturan file
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.
Untuk informasi selengkapnya tentang menggunakan identitas web, lihatthe section called “Asumsikan
peran dengan identitas web” (p. 68).
tcp_keepalive
Entri ini tidak memiliki variabel lingkungan yang setara atau opsi baris perintah.
tcp_keepalive = false
Semua opsi ini dapat dikonfigurasi dengan menentukans3pengaturan bersarang diconfigberkas. Setiap
pengaturan kemudian menjorok pada baris sendiri.
Note
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
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.
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.
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.
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.
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)
Profil kredensyal
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
[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“.
[default]
region=us-west-2
output=json
[profile user1]
region=us-east-1
output=text
Untuk menggunakan profil bernama untuk beberapa perintah, Anda dapat menghindari menentukan profil
di setiap perintah dengan mengaturAWS_PROFILEvariabel lingkungan pada baris perintah.
$ export AWS_PROFILE=user1
Windows
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
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)
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
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.
Menggunakansetuntuk mengatur variabel lingkungan mengubah nilai yang digunakan sampai akhir
sesi prompt perintah saat ini, atau sampai Anda mengatur variabel untuk nilai yang berbeda.
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"
AWS_ACCESS_KEY_ID
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.
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
45
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
AWS CLIvariabel lingkungan yang didukung
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)
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
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.
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
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.
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)
47
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Opsi baris perintah
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.
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.
Topik
• Cara menggunakan opsi baris perintah (p. 48)
• AWS CLIopsi baris perintah global yang didukung (p. 49)
• Penggunaan opsi baris perintah (p. 50)
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).
—ca-bundel<string>
Menentukan sertifikat otoritas sertifikat (CA) untuk digunakan saat memverifikasi sertifikat SSL.
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.
—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.
—query<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.
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.
• Sebagian masukkan parameter dan tekanTabuntuk menampilkan daftar parameter yang disarankan.
51
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Mengkonfigurasi penyelesaian perintah di Linux atau macOS
• Masukkan parameter dan tekanTabuntuk menampilkan daftar nilai sumber daya yang disarankan. Fitur
ini hanya tersedia diAWS CLIversi 2.
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)
$ 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.
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
• 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
$ 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
53
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Mengkonfigurasi penyelesaian perintah pada Windows
Tambahkan perintah sebelumnya ke~/.zshrcuntuk menjalankannya setiap kali Anda membuka shell
baru.
• tcsh— Lengkap untuktcshmengambil jenis kata dan pola untuk menentukan perilaku penyelesaian.
Tambahkan perintah sebelumnya ke~/.tschrcuntuk menjalankannya setiap kali Anda membuka shell
baru.
$ aws sTAB
s3 ses sqs sts swf
s3api sns storagegateway support
Jika Anda tidak memiliki$PROFILE, buat profil pengguna menggunakan perintah berikut.
54
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Percobaan ulang
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.
Topik
• Mode coba lagi yang tersedia (p. 55)
• Mengkonfigurasi mode coba ulang (p. 57)
• Melihat log upaya coba lagi (p. 58)
55
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Mode coba lagi yang tersedia
• 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.
• 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 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.
• Variabel lingkungan
• AWS CLIfile konfigurasi
• 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
• AWS_RETRY_MODE
• AWS_MAX_ATTEMPTS
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>
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
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.
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.
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
Proses eksternal dapat mengembalikan kode pengembalian bukan nol untuk menunjukkan bahwa
kesalahan terjadi saat mengambil kredensialnya.
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.
[profile profilename]
role_arn = arn:aws:iam::123456789012:role/rolename
credential_source = Ec2InstanceMetadata
region = region
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
credential_source = Ec2InstanceMetadata
region = region
Contoh
[profile marketingadmin]
role_arn = arn:aws:iam::123456789012:role/marketingadminrole
credential_source = Ec2InstanceMetadata
region = us-west-2
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
Menggunakansetuntuk mengatur variabel lingkungan mengubah nilai yang digunakan sampai akhir
sesi prompt perintah saat ini, atau sampai Anda mengatur variabel untuk nilai yang berbeda.
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
62
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Menggunakan proksi di instans Amazon EC2
Linux or macOS
$ export NO_PROXY=169.254.169.254
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).
63
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Mengkonfigurasi dan menggunakan peran
[profile marketingadmin]
role_arn = arn:aws:iam::123456789012:role/marketingadminrole
source_profile = user1
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:
[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.
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.
65
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Menggunakan MFA
$ export AWS_PROFILE=marketingadmin
Windows
Untuk informasi selengkapnya tentang mengonfigurasi pengguna dan peran IAM, lihatPengguna dan
GrupdanPerandiPanduan Pengguna IAM.
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
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.
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
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.
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
arn:aws:iam::234567890123:assumed-role/SomeRole/Session_Maria_Garcia
Juga, semuaAWS CloudTraillog menyertakan nama sesi peran dalam informasi yang diambil untuk setiap
operasi.
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.
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)
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
68
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Kliring kredensi cache
AWS_WEB_IDENTITY_TOKEN_FILE
Note
Variabel lingkungan saat ini hanya berlaku untuk peran asumsi dengan penyedia identitas web.
Aplikasi tersebut tidak berlaku untuk konfigurasi penyedia peran umum.
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.
$ rm -r ~/.aws/cli/cache
Windows
69
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Mendapatkan bantuan
Topik
• Built-inAWS CLIperintah bantuan (p. 70)
• AWS CLIpanduan referensi (p. 74)
• Dokumentasi API (p. 74)
• bantuan tambahan (p. 74)
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).
70
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Built-inAWS CLIperintah bantuan
Nama
Nama komando.
NAME
describe-instances -
Deskripsi
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]
OPTIONS
71
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Built-inAWS CLIperintah bantuan
--instance-ids (list)
One or more instance IDs.
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:
Command:
Command:
Output
Deskripsi dari masing-masing bidang dan jenis data yang termasuk dalam respon dariAWS.
OUTPUT
Reservations -> (list)
One or more reservations.
(structure)
Describes a reservation.
72
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Built-inAWS CLIperintah bantuan
(structure)
Describes a security group.
(structure)
Describes an instance.
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
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.
• 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.
Topik
• Struktur perintah (p. 75)
74
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Struktur perintah
Struktur perintah
ParameterAWS CLImenggunakan struktur multipart pada baris perintah yang harus ditentukan dalam
urutan ini:
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
$ 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
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
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
Contoh
AWS CloudFormation
AWS CodeDeploy
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)
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).
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.
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
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.
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.
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.
78
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Jenis Parameter Umum
"Item": {
"name": {
"S": "John"
},
"id": {
"N": "1"
}
}
}
Dokumen
Note
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}"}
String
--option '"value"'
Number
--option 123
--option 123.456
Boolean
--option true
Nol
--option null
Susunan
79
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Kutipan dengan String
Objek
• Menggunakan tanda kutip di sekitar string yang berisi spasi putih (p. 80)
• Menggunakan tanda kutip di dalam string (p. 81)
Untuk informasi selengkapnya tentang penggunaan kutipan, lihat dokumentasi pengguna untuk shell
pilihan Anda.
PowerShell
Kutipan ganda
Untuk informasi selengkapnya mengenai penggunaan tanda petik, lihatTentang Aturan Pengkutipandi
dalamMicrosoft PowerShell Dokumen.
Windows command prompt
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.
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.
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\'.
Untuk informasi selengkapnya tentang penggunaan kutipan, lihat dokumentasi pengguna untuk shell
pilihan Anda.
PowerShell
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.
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.
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 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.
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)
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
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
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:
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.
[
{
"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).
Topik
• TentangAWS CLIkerangka dan file masukan (p. 85)
• Menghasilkan kerangka perintah (p. 87)
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.
{
"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
}
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
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
}
}
JSON
{
"OwnerId": "123456789012",
"ReservationId": "r-d94a2b1",
"Groups": [],
"Instances": [
...
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.
--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.
89
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Sintaks Sintaks
--provisioned-throughput ReadCapacityUnits=15,WriteCapacityUnits=10 \
--table-name MyDDBTable
Format dasar ditampilkan di sini, di mana nilai-nilai dalam daftar dipisahkan oleh satu spasi.
--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.
Contoh berikut menunjukkan Amazon EC2create-tagsperintah, yang mengambil daftar struktur non-
bersarang untuk--tagsOpsi. Parameter--resourcespilihan menentukan ID dari instance untuk tag.
Hal ini setara dengan contoh berikut, diformat dalam JSON. Parameter JSON ditulis di atas beberapa baris
untuk dibaca.
90
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Mengontrol Command Output
Topik
• MengaturAWS CLIFormat output (p. 91)
• MenggunakanAWS CLIopsi paginasi (p. 96)
• PenyaringanAWS CLIkeluaran (p. 97)
[default]
output=text
$ 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.
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/.
{
"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"
}
]
}
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.
Berikut ini adalah contohtextoutput. Setiap bidang adalah tab dipisahkan dari yang lain, dengan tab
tambahan di mana ada bidang kosong.
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.
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
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
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.
-4b41a37c
i-a071c394
i-3045b007
i-6fc67758
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:
HRDepartment
94
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Format Output
Developers
SpreadsheetUsers
LocalAdmins
-------------------------------------------------------------------------------------------------------
| 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).
------------------------------------------------------
| DescribeVolumes |
+------------+----------------+--------------+-------+
| AZ | ID | InstanceId | Size |
+------------+----------------+--------------+-------+
| us-west-2a| vol-e11a5288 | i-a071c394 | 30 |
| us-west-2a| vol-2e410a47 | i-4b41a37c | 8 |
+------------+----------------+--------------+-------+
----------------------------------------------------
| 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 |
+--------------+--------------+--------------+-----+
• --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.
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.
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.
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)
• --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.
Querying menggunakanSintaks JMESPathuntuk membuat ekspresi untuk memfilter output Anda. Untuk
mempelajari sintaks JMesPath, lihatTutorialpadaJMesPath.
Important
98
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Penyaringan
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
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.
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
}
]
}
Sintaks
<listName>[ ]
Untuk memfilter semua output dari array, Anda dapat menggunakan notasi wildcard. Wildcardekspresi
adalah ekspresi yang digunakan untuk mengembalikan elemen menggunakan*notasi.
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.
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:
Untuk mengembalikan hanya dua volume pertama, Anda menggunakan nilai awal 0, nilai stop 2, dan nilai
langkah 1 seperti yang ditunjukkan pada contoh berikut.
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
Langkah-langkah juga dapat menggunakan angka negatif untuk menyaring dalam urutan terbalik array
seperti yang ditunjukkan dalam contoh berikut.
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
}
]
Sintaks
<expression>.<expression>
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.
Hasil perataan
Untuk informasi selengkapnya, lihatSubeXPressionspadaJMesPath.
Sintaks
106
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Penyaringan
[
[
"vol-e11a5288"
],
[
"vol-2e410a47"
],
[
"vol-a1b3c7nd"
]
]
Ekspresi perpipaan
Anda dapat pipa hasil filter ke daftar baru, dan kemudian menyaring hasilnya dengan ekspresi lain
menggunakan sintaks berikut:
Sintaks
<expression> | <expression>]
Contoh ini melakukan ini dengan terlebih dahulu membuat array dari ekspresi berikut.
107
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Penyaringan
"i-a071c394"
Sintaks
<listName>[].[<expression>, <expression>]
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.
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.
Sintaks
Label pengenal Anda tidak harus sama dengan nama pengenal. Contoh berikut menggunakan
labelTypeuntukVolumeTypenilai-nilai.
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:
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
Contoh berikut menggunakan sebelumnyaContoh hash multiselect (p. 109)dan mengurutkan output
denganVolumeId.
110
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Penyaringan
{
"VolumeId": "vol-e11a5288",
"VolumeType": "standard",
"InstanceId": "i-a071c394",
"State": "attached"
}
]
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.
Contoh berikut menunjukkan cara mencantumkan semua snapshot yang dibuat setelah tanggal yang
ditentukan, termasuk hanya beberapa bidang yang tersedia dalam output.
Contoh berikut mencantumkan lima Amazon Machine Images (AMI) terbaru yang Anda buat, diurutkan dari
yang terbaru hingga tertua.
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"
}
]
Contoh berikut menunjukkan hanyaInstanceIduntuk instance yang tidak sehat dalam grup Auto Scaling
yang ditentukan.
Untuk mengecualikan semua volume dengantesttag, mulai dengan ekspresi di bawah ini untuk
mengembalikan semua tag dengantesttag dalam array. Setiap tag yang bukantesttag berisinullnilai.
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.
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.
Contoh berikut menampilkan jumlah volume yang tersedia yang lebih dari 1000 IOPS dengan
menggunakanlengthuntuk menghitung berapa banyak yang dalam daftar.
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.
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
Untuk menentukan kode pengembalianAWS CLIperintah, jalankan salah satu perintah berikut segera
setelah menjalankan perintah CLI.
$ echo $?
0
Windows PowerShell
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.
• 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.
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.
$ 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
$ mkdir -p ~/.aws/cli
Windows
C:\> md %USERPROFILE%\.aws\cli
Windows
Sintaks
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.
116
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Langkah 2: Membuat alias
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
Sintaks
$ aws aliasname
$ aws
whoami
{
"UserId": "A12BCD34E5FGHI6JKLM",
"Account": "1234567890987",
"Arn": "arn:aws:iam::1234567890987:user/userName"
}
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.
118
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Contoh repositori alias
aws help
aws <command> help
aws <command> <subcommand> help
Menjalankan perintah di bagian ini menghapus yang sudah adaaliasberkas. Untuk menghindari
Timpa file alias yang ada, ubah lokasi unduhan Anda.
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
Windows
• 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
{
"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
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)
Topik
• Prasyarat (p. 122)
121
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Prasyarat
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.
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.
{
"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"}
}
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
Referensi layanan:
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.
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.
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)
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
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.
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.
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.
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.
Untuk informasi selengkapnya tentang kunci dan sidik jari, lihatPasangan Kunci Amazon EC2diPanduan
Pengguna Amazon EC2 untuk Instans Linux.
References
AWS CLIreferensi:
• aws ec2
• aws ec2 create-key-pair
• aws ec2 delete-key-pair
• aws ec2 describe-key-pairs
Referensi lainnya:
126
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Grup Keamanan Amazon EC2
• Untuk melihat dan berkontribusiAWSSDK danAWS CLIcontoh kode, lihatAWSContoh kodedi atasGitHub.
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
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.
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"
}
EC2-Classic
Berikutaws ec2 create-security-groupcontoh menunjukkan cara membuat grup keamanan untuk
EC2-Classic.
128
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Grup Keamanan Amazon EC2
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.
EC2-VPC
Contoh berikut menunjukkan cara menambahkan aturan untuk RDP (port TCP 3389) ke grup keamanan
EC2-VPC dengan IDsg-903004f8menggunakan 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.
Perintah berikut menambahkan aturan lain untuk mengaktifkan SSH ke instance dalam grup keamanan
yang sama.
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.
Perintah berikut menambahkan aturan lain untuk SSH ke grup keamanan yang sama.
Untuk melihat perubahan pada grup keamanan Anda, jalankanaws ec2 describe-security-
groupsperintah.
130
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Instans EC2
}
],
"GroupName": "my-sg",
"OwnerId": "123456789012",
"GroupId": "sg-903004f8"
}
]
}
Anda tidak dapat menghapus grup keamanan saat ini terpasang ke lingkungan.
EC2-VPC
Contoh perintah berikut menghapus grup keamanan EC2-VPC.
EC2-Classic
Contoh perintah berikut menghapus grup keamanan EC2-Classic bernamamy-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:
131
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Instans EC2
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
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.
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.
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.
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
}
]
}
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.
Perintah berikut memfilter daftar ket2.microcontoh dan output hanyaInstanceIdnilai untuk setiap
pertandingan.
136
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Instans EC2
Perintah berikut mencantumkan salah satu contoh Anda yang memiliki tagName=MyInstance.
Perintah berikut mencantumkan instans Anda yang diluncurkan menggunakan salah satu AMI berikut:ami-
x0123456,ami-y0123456, danami-z0123456.
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:
Topik
• Sebelum Anda memulai (p. 138)
• Tentang contoh ini (p. 138)
• Parameter (p. 139)
• Berkas (p. 139)
• References (p. 140)
• 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.
$ source ./change_ec2_instance_type.sh
138
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Ubah tipe EC2 menggunakan skrip bash
Untuk contoh lengkap dan file skrip yang dapat diunduh, lihatGanti Jenis Instans Amazon
EC2diAWSContoh kodedi atasGitHub.
Parameter
-i-(string)Menentukan contoh ID untuk memodifikasi.
-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
test_change_ec2_instance_type.sh
awsdocs_general.sh
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:
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.
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.
Note
Semua perintah S3 Glacier memerlukan parameter ID akun. Gunakan karakter tanda hubung (--
account-id -) untuk menggunakan akun giro.
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
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
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.
$ UPLOADID="19gaRezEXAMPLES6Ry5YYdqthHOC_kGRCT03L9yetr220UmPtBYKk-
OssZtLqyFu7sY1_lR7vgFuJV6NtcV5zpsJ"
Windows
Note
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
1. Jika Anda belum melakukannya, pisahkan file asli menjadi 1 bagian MiB.
4. Gabungkan hash induk potonganaadanabdengan hash potonganacdan hash hasilnya, kali ini
keluaran heksadesimal. Simpan hasilnya dalam variabel shell.
143
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Sumber daya
"location": "/123456789012/vaults/myvault/archives/
d3AbWhE0YE1m6f_fI1jPG82F8xzbMEEZmrAlLGAAONJAzo5QdP-N83MKqd96Unspoa5H5lItWX-sK8-
QS0ZhwsyGiu9-R-kwWUyS1dSBlmgPPWkEbeFfqDSav053rU7FvVLHfRc6hg"
}
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:
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.
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)
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
145
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Melampirkan kebijakan terkelola IAM ke pengguna IAM
Sebelum menjalankan perintah apa pun, atur kredensi default Anda. Untuk informasi selengkapnya, lihat
Mengonfigurasi AWS CLI (p. 28).
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.
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.
Sebelum menjalankan perintah apa pun, atur kredensi default Anda. Untuk informasi selengkapnya, lihat
Mengonfigurasi AWS CLI (p. 28).
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.
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.
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.
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
s3 mb contoh
$ aws s3 mb s3://bucket-name
149
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Tingkat tinggi (s3) perintah
Sintaks
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
$ 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
s3 rb contoh
$ 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
Menghapus objek
Untuk menghapus objek dalam bucket atau direktori lokal Anda, gunakans3 rmperintah.
Sintaks
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.
Memindahkan objek
Gunakans3 mvperintah untuk memindahkan objek dari ember atau direktori lokal.
Sintaks
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/.
Contoh berikut memindahkan file lokal dari direktori kerja Anda saat ini ke bucket Amazon S3 dengans3
cpperintah.
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
Anda dapat menggunakan parameter dasbor untuk streaming file ke input standar (stdin) atau output
standar (stdout).
Warning
Parameters3 cpperintah menggunakan sintaks berikut untuk meng-upload stream file daristdinke ember
tertentu.
Sintaks
Parameters3 cpperintah menggunakan sintaks berikut untuk men-download stream file Amazon S3
untukstdout.
Sintaks
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 file lokal dari direktori kerja Anda saat ini ke bucket Amazon S3 dengans3
cpperintah.
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.
152
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Tingkat tinggi (s3) perintah
$ aws s3 cp s3://bucket-name/filename.txt -
hello world
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
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
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.
153
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Tingkat tinggi (s3) perintah
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
'''
acl
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.
154
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Tingkat tinggi (s3) perintah
// 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.
// 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
pemberian izin
Sintaks
--grants Permission=Grantee_Type=Grantee_ID
[Permission=Grantee_Type=Grantee_ID ...]
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.
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.
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
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.
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.
157
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Contoh scripting siklus hidup ember (s3api)
{
"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
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)
• 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.
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
test-bucket-operations.sh
awsdocs-general.sh
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.
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.
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.
Berlangganan topik
Untuk berlangganan topik, gunakansns subscribeperintah.
AWSsegera mengirimkan pesan konfirmasi melalui email ke alamat yang Anda tentukan
disubscribeperintah. Pesan email memiliki teks berikut.
Subscription confirmed!
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.
Menghapus topik
Untuk menghapus topik, jalankansns delete-topicperintah.
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.
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)
Bagian ini berisi daftar topik referensi untuk perintah Amazon SWF diAWS CLI, dikelompokkan
berdasarkankategori fungsional.
Anda juga bisa mendapatkan bantuan untuk perintah individual, dengan menempatkanhelpdirektif setelah
nama perintah. Bagian berikut ini menunjukkan sebuah contoh.
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)
• 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
Berikut ini adalah perintah yang dilakukan oleh para pengambil keputusan:
• poll-for-decision-task
• respond-decision-task-completed
• request-cancel-workflow-execution
• start-workflow-execution
• signal-workflow-execution
• terminate-workflow-execution
Manajemen Aktivitas
• register-activity-type
• deprecate-activity-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).
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 domain
• list-domains
• describe-domain
Untuk informasi lebih lanjut dan contoh perintah visibilitas domain ini, lihatBekerja dengan domain Amazon
SWF menggunakanAWS CLI (p. 165).
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
Note
Untuk contoh penggunaan DEPRECATED, lihat Jangan lagi menggunakan domain (p. 167).
Mendaftarkan domain
Untuk mendaftarkan domain baru, gunakanswf register-domain.
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.
Perintah tidak mengembalikan output apa pun, tetapi Anda dapat menggunakannyaswf list-
domainsatauswf describe-domainuntuk melihat domain baru, seperti yang ditunjukkan dalam contoh
berikut.
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.
167
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Perlindungan Data
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)
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:
168
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Enkripsi data
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.
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.
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.
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.
169
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Validasi Kepatuhan
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.
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.
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)
$ openssl req -subj '/CN=localhost' -x509 -newkey rsa:4096 -nodes -keyout key.pem -out
cert.pem -days 365
Di jendela terminal baru, buat lingkungan virtual dan instal SDK untuk Python.
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'))
$ 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.
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.
Jika Anda dapat membuat koneksi, Anda perlu mengkompilasi ulang OpenSSL dan Python untuk
menonaktifkan negosiasi protokol lebih awal dari TLS v1.2.
#!/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
$ 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)
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.
• Mencari kredensia
• Parsing parameter yang disediakan
• Membangun permintaan yang dikirim keAWSserver
• Isi permintaan yang dikirim keAWS
• Isi dari respon mentah
• Output diformat
174
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Umum: Menggunakan--debugpilihan.
175
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Umum: Menggunakan--debugpilihan.
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"
}
]
}
Jika Anda menggunakanpipuntuk menginstalAWS CLI, Anda mungkin perlu menambahkan folder
yang berisiawsprogram ke sistem operasi AndaPATHvariabel lingkungan, atau mengubah modus untuk
membuatnya executable.
177
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Saya mendapatkan kesalahan “akses ditolak”.
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
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.
Contoh berikut menunjukkan cara memeriksa kredensional yang digunakan untuk profil default.
178
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Kemungkinan penyebab : Jam komputer Anda tidak sinkron.
$ date
Jika jam sistem Anda tidak benar dalam beberapa menit, gunakanntpduntuk menyinkronkannya.
Pada Windows, gunakan opsi tanggal dan waktu di Panel Kontrol untuk mengkonfigurasi jam sistem Anda.
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.
Pada Windows, gunakan opsi tanggal dan waktu di Panel Kontrol untuk mengkonfigurasi jam sistem Anda.
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.
180
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
Sumber daya tambahan
181
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
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 EC2 Contoh skrip tipe Amazon EC2. 15 Oktober 2020
182
AWS Command Line Interface
Panduan Pengguna untuk Versi 1
183