Lewati ke konten utama

Cara Menggunakan AWS CLI: Instalasi, Penyiapan, dan Perintah

Pelajari cara menyiapkan AWS CLI di sistem Anda, mengonfigurasinya agar bekerja dengan akun AWS Anda, dan mengeksekusi perintah untuk berinteraksi dengan berbagai layanan AWS!
Diperbarui 28 Sep 2026  · 15 mnt Baca

Jelajahi bersama AI

ChatGPTClaudePerplexity

AWS adalah penyedia layanan cloud yang menawarkan beragam layanan berskala dan sesuai permintaan, termasuk daya komputasi, penyimpanan, basis data, pembelajaran mesin, jaringan, analitik, dan banyak lagi, dari pusat datanya di seluruh dunia. Lihat kursus Introduction to AWS dan AWS Cloud Technology and Services untuk mempelajari lebih lanjut!

Untuk berinteraksi dan mengonfigurasi sumber daya di AWS, kita dapat menggunakan AWS Management Console atau AWS CLI.

Dalam tutorial ini, kami akan memandu Anda menginstal AWS CLI dari awal, mengonfigurasinya agar dapat berkomunikasi dengan akun AWS Anda, dan mendemonstrasikan cara membuat beberapa sumber daya dasar menggunakan CLI.

Apa Itu AWS CLI?

AWS CLI adalah alat yang kuat yang memungkinkan pengguna berinteraksi dengan layanan AWS langsung dari baris perintah di komputer mereka. Perintah AWS CLI menyediakan fungsionalitas yang setara dengan tugas yang dilakukan di AWS Management Console.

Sebagai contoh, untuk menampilkan semua security group di wilayah AWS tertentu, Anda akan menavigasi ke bagian "Security Groups" di layanan EC2 melalui konsol.

Lihat Security Groups dari konsol AWS

Lihat Security Groups dari konsol AWS.

Demikian pula, Anda dapat mencapai hasil yang sama menggunakan perintah aws ec2 describe-security-groups di AWS CLI.

Perintah AWS CLI untuk mendeskripsikan dan mendapatkan informasi security group

Lihat Security Groups via AWS CLI dari terminal lokal.

Menginstal AWS CLI

Kita akan membahas pemasangan AWS CLI di Windows, Mac, dan Linux. 

Ada dua versi utama AWS CLI, versi 1 dan 2. Kami hanya akan membahas versi 2 karena ini adalah versi terbaru dengan lebih banyak fungsionalitas. Untuk informasi terbaru tentang pemasangan atau pembaruan ke versi terbaru AWS CLI, kunjungi dokumentasi AWS.

Menginstal di Windows

Unduh penginstal dari situs resmi AWS. Buka paket penginstal Windows “AWSCLIV2”, dan Anda akan melihat jendela seperti di bawah ini.

Panduan Penyiapan AWS CLI

Panduan penyiapan AWS CLI.

Pilih “Next” dan lanjutkan untuk menerima perjanjian lisensi. 

Perjanjian Lisensi AWS CLI

Perjanjian lisensi AWS CLI.

Konfirmasi lokasi instalasi dan lanjutkan pemasangan. Proses instalasi seharusnya tidak lebih dari 5 menit.

Konfirmasi lokasi instalasi untuk AWS CLI

Konfirmasi lokasi instalasi.

Instalasi AWS CLI sedang berlangsung

Instalasi sedang berlangsung.

Instalasi AWS CLI selesai

Instalasi selesai.

Untuk memverifikasi bahwa instalasi berhasil, buka terminal dan jalankan perintah aws --version. Hasilnya akan mirip dengan keluaran di bawah.

Verifikasi instalasi AWS CLI di Windows

Verifikasi instalasi AWS CLI di Windows.

Menginstal di macOS

Kita dapat memasang AWS CLI di MacOS melalui Homebrew atau paket penginstal. Saya akan membahas kedua metode pemasangan.

Instalasi paket

Unduh penginstal .pkg dari situs resmi AWS. Buka file AWSCLIV2.pkg, dan Anda akan melihat jendela seperti di bawah ini.

Instalasi paket AWS CLI di MacOS

Instalasi AWS CLI.

Terima lisensi, konfirmasi lokasi instalasi, dan lanjutkan proses instalasi.

Pesan instalasi AWS CLI berhasil

Pesan instalasi berhasil.

Untuk memverifikasi bahwa instalasi berhasil, buka terminal dan jalankan perintah aws --version. Hasilnya akan mirip dengan keluaran di bawah.

Verifikasi instalasi AWS CLI di MacOS

Verifikasi instalasi AWS CLI di MacOS.

Homebrew

Pastikan Homebrew telah terpasang secara lokal. Untuk memverifikasi, jalankan brew --version. Jika belum, Anda dapat merujuk ke halaman resmi Homebrew untuk instruksi pemasangan.

Lalu, jalankan perintah berikut untuk memasang CLI:

# With brew installed, update Homebrew's formulae and cask definitions
brew update

# Install AWS CLI
brew install awscli

# Verify the installation
aws --version

Tangkapan layar terminal perintah brew

brew update dan install

Verifikasi instalasi AWS CLI via brew

Verifikasi instalasi brew.

Menginstal di Linux

Untuk mendemonstrasikan pemasangan di Linux, saya menyalakan Amazon Linux EC2 dengan AMI ami-0bd55ebedabddc3c0. Meskipun secara bawaan sudah terpasang AWS CLI versi 2, versinya bukan minor terbaru. Langkah-langkah memperbarui dan memasang serupa.

# Switch to superuser
sudo su -
# If you’re on Amazon Linux, to install the latest version of the AWS CLI, you must first uninstall the pre-installed yum version
yum remove awscli

# Download the AWS CLI zip file
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"

# Unzip the file
unzip awscliv2.zip

# Run the installer
./aws/install

# Verify AWS CLI 
aws --version

Unduh dan ekstrak penginstal di Linux

Unduh dan ekstrak penginstal.

Jalankan penginstal dan verifikasi instalasi di Linux

Jalankan penginstal dan verifikasi instalasi.

Mengonfigurasi AWS CLI

Setelah memasang AWS CLI, kita perlu mengonfigurasinya sebelum digunakan untuk berinteraksi dengan sumber daya AWS kita. Konfigurasi mencakup penyiapan kredensial AWS dan beberapa pengaturan bawaan opsional.

Saat kita masuk ke konsol AWS, kita masuk sebagai pengguna atau mengasumsikan peran. Demikian pula, saat kita menggunakan AWS CLI untuk berinteraksi dengan sumber daya, kita harus melakukannya sebagai pengguna atau mengasumsikan peran.

Menyiapkan kredensial AWS

Ada dua cara untuk masuk ke konsol AWS. Pertama, menggunakan pengguna yang dibuat melalui layanan Identity and Access Management (IAM).

Antarmuka login Pengguna IAM

Halaman login pengguna IAM.

Kedua, menggunakan pengguna yang dibuat melalui layanan IAM Identity Center.

Antarmuka login pengguna IAM Identity Center

Halaman login AWS Access Portal.

Menyiapkan AWS CLI memerlukan penetapan aws_access_key_id dan aws_secret_access_key di lokal Anda. Sepasang kunci ini mengidentifikasi akun Anda dan memberikan akses ke AWS. Bergantung pada cara Anda masuk, cara memperolehnya sedikit berbeda. 

Pengguna IAM

Untuk menggunakan AWS CLI sebagai pengguna dari IAM, buka layanan IAM melalui konsol AWS, pilih pengguna yang ada, atau buat pengguna baru. Saya akan menggunakan pengguna yang sudah ada.

Pengguna di layanan IAM

Pengguna IAM.

Pilih pengguna dan buka tab “Security Credentials”. Gulir ke bawah untuk melihat “Access keys”. Untuk tutorial ini, saya akan membuat access key lain. Pilih “Create access key”.

Tab kredensial keamanan dari pengguna IAM

Tab kredensial keamanan pengguna IAM.

Pilih “Command Line Interface (CLI)”. 

Membuat access key untuk pengguna IAM

Buat access key.

Konfirmasi dan buat.

Access key dibuat

Access key dibuat.

Unduh file .csv untuk disimpan dengan aman. Lalu, jalankan perintah aws configure secara lokal dan masukkan nilai untuk access key dan secret access key. Kita menulis set kredensial ini ke profil “default”, karena kita tidak menentukan profil dengan flag --profile. Kita akan membahas profil di bagian selanjutnya.

Perintah CLI

Perintah aws configure.

Folder tersembunyi bernama “.aws” akan dibuat di direktori home (~) Anda. 

Folder

Folder .aws.

Di dalamnya terdapat dua file, config dan credentials. 

Isi dalam folder .aws

Isi di folder .aws.

File config menyimpan wilayah bawaan dan opsi output yang Anda masukkan di atas. Sedangkan file credentials menyimpan aws_access_key_id dan aws_secret_access_key. Untuk melihat isinya, Anda dapat menjalankan perintah cat config dan cat credentials.

Jalankan perintah aws sts get-caller-identity untuk memvalidasi bahwa kredensial berfungsi dan identitas IAM yang benar dikembalikan.

Perintah AWS CLI untuk memvalidasi kredensial

Validasi kredensial.

Pengguna IAM Identity Center

Setelah masuk, Anda akan diarahkan ke AWS Access Portal untuk memilih akun AWS dan peran yang akan diambil saat masuk ke konsol. Pilih “Access keys” untuk akun dan peran yang ingin Anda gunakan untuk AWS CLI.

AWS Access Portal

AWS Access Portal.

Jendela yang identik dengan tangkapan layar di bawah ini akan muncul. Pilih opsi 2, salin, dan tempel teks yang disediakan ke dalam file kredensial AWS Anda.

Dapatkan kredensial untuk pengguna melalui AWS Access Portal

Kredensial dari AWS Access Portal.

Perhatikan bahwa selain aws_access_key_id dan aws_secret_access_key, ada aws_session_token dibandingkan dengan kredensial untuk pengguna IAM yang dibahas di bagian sebelumnya. Ini menambahkan lapisan keamanan ekstra pada kredensial pengguna yang dibuat melalui IAM Identity Center, karena session token akan kedaluwarsa, dan pengguna harus melakukan autentikasi ulang untuk menyegarkan token.

Setelah menempelkan teks dari opsi 2 ke file kredensial AWS Anda:

# Use the AWS profile that you have just added
export AWS_PROFILE=<<Account Number>_<Role Name>>

# Valid that the credentials work
aws sts get-caller-identity

Validasi kredensial dari AWS Access Portal

Validasi kredensial.

Session token pada akhirnya akan kedaluwarsa, dan kita harus menghasilkan yang baru. 

Pesan kesalahan karena token kedaluwarsa

Token kedaluwarsa.

Alih-alih menyalinnya lagi dari Access Portal seperti di atas, kita dapat menjalankan aws sso login dari lokal kita. Ikuti perintah di bawah untuk mengonfigurasi pengaturan Single Sign-On (SSO) di lokal Anda.

# Configure SSO to refresh your session token. The ~/.aws/sso folder will be created.
aws configure sso

Keluaran perintah

Perintah AWS configure SSO.

Anda akan diminta untuk masuk.

Izinkan akses oleh AWS CLI

Berikan akses AWS CLI.

Izin diberikan ke AWS CLI

Permintaan AWS CLI disetujui.

Saat session token Anda kedaluwarsa lagi, cukup jalankan aws sso login.

Keluaran perintah

Keluaran login AWS SSO.

Opsi konfigurasi

Kita dapat menyesuaikan beberapa konfigurasi sebagai opsi bawaan agar sesuai preferensi kita. Jika tidak dinyatakan secara eksplisit, konfigurasi bawaan ini akan diterapkan pada perintah AWS CLI.

Untuk memperbarui atau menambahkan nilai konfigurasi di file config, Anda dapat menjalankan perintah di bawah atau mengubahnya secara manual melalui vim atau nano.

aws configure set <setting> <value>

region

Sumber daya AWS yang berada di suatu region memerlukan region ditentukan saat mengeksekusi perintah AWS CLI. 

Jika flag “--region <region name>” tidak ditentukan dalam perintah, region bawaan yang tercantum di file config akan digunakan. Jika tidak ada region bawaan yang didefinisikan, Anda akan menjumpai galat berikut.

Pesan kesalahan saat tidak ada region bawaan yang ditentukan

Galat saat region tidak ditentukan.

output

Pengaturan output mengonfigurasi format keluaran yang dikembalikan oleh perintah AWS CLI. 

Sebagai contoh, format keluaran bawaan yang kita atur di atas adalah “JSON”, dan perintah aws sts get-caller-identity mengembalikan keluaran dalam format JSON. Opsi valid lain adalah “table” dan “text”. 

Berikut tampilan keluaran tabel. Saya menambahkan flag --output table untuk menimpa nilai keluaran bawaan “JSON”.

Format keluaran tabel

aws sts get-caller-identity --output table.

role_arn & source_profile

Jika Anda tidak ingin menggunakan pengguna IAM Anda secara langsung dan ingin pengguna tersebut mengasumsikan peran, tentukan konfigurasi role_arn dan source_profile. 

aws configure set role_arn arn:aws:iam::<Account ID>:role/<Role name>

# Put “default” as the profile name if you do not know what to put
aws configure set source_profile <profile name>

Setelah menentukannya, verifikasi bahwa peran IAM memang diambil.

Validasi kredensial untuk pengguna IAM yang mengasumsikan peran

Validasi kredensial.

cli_pager

Secara bawaan, AWS CLI mengirimkan keluarannya melalui pager seperti less, yang mengharuskan menekan q untuk keluar. Kita dapat mengubah perilaku ini dengan menonaktifkan pager agar keluaran ditampilkan langsung di terminal dengan menjalankan:

aws configure set cli_pager ""

Keluaran dengan cli_pager dinonaktifkan

Keluaran dengan cli_pager dinonaktifkan.

cli_history

Untuk menyimpan catatan perintah AWS CLI yang dijalankan, aktifkan cli_history dengan menjalankan:

aws configure set cli_history enabled

Riwayat akan disimpan dalam basis data SQLite yang berlokasi di ~/.aws/cli/history. 

# View your AWS CLI history
aws history list

# Show details of a specific command
aws history show <command-id>

Ringkasan konfigurasi

Ringkasan opsi konfigurasi standar:

Configuration Key

Description

region

Region AWS bawaan (mis., us-east-1, ap-southeast-1).

output

Format keluaran: json, text, atau table.

role_arn

ARN dari peran IAM yang akan diasumsikan.

source_profile

Profil yang digunakan sebagai sumber saat mengasumsikan peran.

cli_pager

Pager keluaran perintah (mis., less, atau set ke "" untuk menonaktifkan).

cli_history

Aktifkan atau nonaktifkan file riwayat CLI (enabled atau disabled).

cli_timestamp_format

Sesuaikan format cap waktu (none, iso8601, iso8601_ms).

Jika Anda mengikuti contoh di atas, inilah tampilan file ~/.aws/config Anda.

Isi dalam file ~/.aws/config

Isi dalam file config.

Memahami Perintah AWS CLI

Semua perintah AWS CLI memiliki format standar:

Uraian visual perintah AWS CLI

Format perintah AWS CLI—gambar oleh Penulis.

Operasi spesifik tiap layanan akan memiliki opsi/flag opsional atau wajib untuk ditambahkan.

Perintah dasar

AWS CLI kita sekarang dapat mengakses akun AWS kita secara terprogram untuk berinteraksi dengan layanan. Mari coba beberapa perintah dasar pada beberapa layanan AWS yang umum digunakan!

EC2

Description

Command

Mendeskripsikan instance yang ditentukan atau semua instance.

aws ec2 describe-instances [--instance-ids <value>]

Mendeskripsikan security group tertentu atau semua security group Anda

aws ec2 describe-security-groups [--group-ids <value>]

Membuat snapshot dari volume EBS dan menyimpannya di Amazon S3

aws ec2 create-snapshot --volume-id <value>

Membuat VPC

aws ec2 create-vpc [--cidr-block <value>]

Keluaran perintah AWS CLI yang mendeskripsikan semua instance

Keluaran saat mendeskripsikan semua instance.

Lihat dokumentasi resmi untuk EC2 untuk informasi lebih lanjut.

S3

Description

Command

Daftar semua bucket S3

aws s3 ls 

Daftar objek dalam bucket S3

aws s3 ls s3://<bucket-name> --recursive

Memindahkan file lokal atau objek S3 ke lokasi lain secara lokal atau di S3

aws s3 mv <LocalPath> <S3Uri> atau <S3Uri> <LocalPath> atau <S3Uri> <S3Uri>

Menghapus objek dalam bucket S3

aws s3 rm <S3Uri>

Contoh perintah

Perintah S3.

Lihat dokumentasi resmi untuk S3 untuk informasi lebih lanjut.

Perhatikan bahwa untuk layanan AWS S3, selain perintah CLI aws s3 yang dibahas di atas, ada juga perintah CLI aws s3api. Perintah aws s3 cukup generik, sedangkan perintah aws s3api lebih terperinci dan tingkat rendah.

Lihat dokumentasi resmi untuk s3api untuk informasi lebih lanjut.

Lambda

Description

Command

Untuk menampilkan semua fungsi Lambda

aws lambda list-functions

Untuk memperoleh informasi tentang suatu fungsi Lambda

aws lambda get-function --function-name <function name>

Memanggil fungsi Lambda

aws lambda invoke --function-name <function name>

Keluaran perintah AWS CLI yang mengambil informasi fungsi Lambda

Mengembalikan informasi tentang fungsi.

Lihat dokumentasi resmi untuk Lambda untuk informasi lebih lanjut.

Contoh: Menggunakan AWS CLI untuk manajemen EC2

Silakan lihat blog AWS EC2 Tutorial For Beginners untuk menyegarkan dasar-dasar EC2! Ini akan membantu Anda lebih memahami perintah berikut.

# To create an EC2 instance
aws ec2 run-instances \
    --image-id ami-0bd55ebedabddc3c0 \
    --count 1 \
    --instance-type t2.micro

Keluaran AWS CLI saat membuat instance

Keluaran saat membuat instance.

Jalankan aws ec2 describe-instances untuk melihat detail semua instance EC2, sebagaimana dibahas pada perintah dasar.

Jika Anda ingin menjalankan perintah untuk mengkueri instance tertentu, tambahkan flag --instance-ids dengan ID instance. Mis., aws ec2 describe-instances --instance-ids i-00836ea7575852f10.

Keluaran AWS CLI saat mendeskripsikan sebuah instance

Keluaran saat mendeskripsikan sebuah instance.

# To stop the instance
aws ec2 stop-instances --instance-ids i-00836ea7575852f10

Keluaran AWS CLI saat menghentikan instance

Keluaran saat menghentikan instance.

# To start the instance
aws ec2 start-instances --instance-ids i-00836ea7575852f10

Keluaran AWS CLI saat memulai instance

Keluaran saat memulai instance.

# To terminate the instance
aws ec2 terminate-instances --instance-ids i-00836ea7575852f10

Keluaran AWS CLI saat memutus (terminate) instance

Keluaran saat memutus instance.

Contoh: Bekerja dengan bucket S3

Berikut beberapa perintah berguna untuk menjalankan operasi umum dengan bucket S3, salah satu dasar di AWS!

# To create an S3 bucket. “mb” is short for “make bucket”
aws s3 mb s3://<bucket name> --region <region name>

# To list out all buckets
aws s3 ls

# To copy an object from your local or S3 object to another location locally or in S3. In the screenshot below, I used aws s3 cp <LocalPath> <S3Uri>
aws s3 cp <LocalPath> <S3Uri> or <S3Uri> <LocalPath> or <S3Uri> <S3Uri>

# To delete an object from the S3 bucket
aws s3 rm <S3Uri>

# To sync the source directory to the destination. In the screenshot below, I used aws s3 sync <LocalPath> <S3Uri>
aws s3 sync <LocalPath> <S3Uri> or <S3Uri> <LocalPath> or <S3Uri> <S3Uri>

# To list the objects in the bucket
aws s3 ls <S3Uri>

# To delete an S3 bucket, it has to be empty of objects and versioned objects before it can be deleted. “rb” is short for “remove bucket”
aws s3 rb s3://my-unique-bucket-name-gfht68

# The “aws s3 rb” command comes with the --force parameter to first remove all of the objects in the bucket and then remove the bucket itself.
aws s3 rb s3://mybucket --force

Contoh perintah

Keluaran perintah AWS S3.

Fitur Lanjutan AWS CLI

Sekarang kita telah berlatih beberapa perintah CLI dasar, kita dapat meninjau beberapa fitur antarmuka yang lebih lanjut dan use case-nya.

Mengotomatisasi tugas dengan AWS CLI

Contoh AWS CLI yang telah kita bahas sejauh ini melibatkan satu perintah untuk mendapatkan informasi atau melakukan tindakan pada layanan. Mari lihat contoh menyusun beberapa perintah CLI dalam skrip untuk mengotomatisasi tugas.

Contoh: Skrip peluncuran instance EC2 otomatis

Buat file launch_ec2.sh dengan konten berikut. 

#!/bin/bash

# Set variables
INSTANCE_NAME="My_Demo_Instance"
AMI_ID="ami-0bd55ebedabddc3c0" # Replace with your preferred AMI ID
INSTANCE_TYPE="t2.micro"       # Replace with the desired instance type
REGION="ap-southeast-1"

# Launch the EC2 instance
INSTANCE_ID=$(aws ec2 run-instances \
  --image-id "$AMI_ID" \
  --instance-type "$INSTANCE_TYPE" \
  --region "$REGION" \
  --query "Instances[0].InstanceId" \
  --output text)

echo "Instance launched with ID: $INSTANCE_ID"

# Add a Name tag to the instance
aws ec2 create-tags \
  --resources "$INSTANCE_ID" \
  --tags Key=Name,Value="$INSTANCE_NAME" \
  --region "$REGION"

echo "Tag added: Name=$INSTANCE_NAME"

# Wait for the instance to reach a running state
aws ec2 wait instance-running --instance-ids "$INSTANCE_ID" --region "$REGION"
echo "Instance is now running."

Anda dapat menyesuaikan skrip untuk menyertakan lebih banyak parameter seperti nama key (--key-name), ID security group (--security-group-ids), ID subnet (--subnet-id), dan sebagainya.

# Grant the user permission to execute the shell script
chmod u+x ./launch_ec2.sh

# Run the script
./launch_ec2.sh

Menjalankan skrip launch_ec2.sh

Skrip peluncuran EC2.

Contoh: Penghentian otomatis semua instance EC2 yang berjalan

Buat file stop_ec2.sh  dengan konten berikut:

#!/bin/bash

# Check if a region is provided as an argument
if [ -n "$1" ]; then
  REGION="$1"
else
  # Get the default region from AWS CLI configuration
  REGION=$(aws configure get region)

  if [ -z "$REGION" ]; then
    echo "No region provided, and no default region found in AWS CLI configuration."
    echo "Please provide a region as an argument: ./stop-all-ec2.sh <region>"
    exit 1
  fi
fi

echo "Using region: $REGION"

# Get a list of all running EC2 instance IDs
RUNNING_INSTANCES=$(aws ec2 describe-instances \
  --filters Name=instance-state-name,Values=running \
  --query "Reservations[*].Instances[*].InstanceId" \
  --output text \
  --region "$REGION")

if [ -z "$RUNNING_INSTANCES" ]; then
  echo "No running EC2 instances found in region $REGION."
else
  echo "Stopping the following EC2 instances in region $REGION:"
  echo "$RUNNING_INSTANCES"
  echo "Give it around 1 minute for the instances to be stopped."
  
  # Stop the instances
  aws ec2 stop-instances --instance-ids $RUNNING_INSTANCES --region "$REGION"
  
  # Wait for the instances to stop
  aws ec2 wait instance-stopped --instance-ids $RUNNING_INSTANCES --region "$REGION"
  
  echo "All instances have been stopped successfully."
fi
# Grant the user permission to execute the shell script
chmod u+x ./stop_all_ec2.sh

# Run the script with the default region
./stop_all_ec2.sh

# Run the script overwriting the default region
./stop_all_ec2.sh us-west-1

Menjalankan skrip stop_all_ec2.sh

Skrip penghentian EC2.

Menggunakan AWS CLI dengan JSON dan JQ

Keluaran perintah AWS CLI berisi cukup banyak informasi. Dalam beberapa kasus, kita mungkin tidak memerlukan semua informasi yang dikembalikan dan hanya menginginkan sebagian dari keluaran. 

Sebagai contoh, pada bagian “EC2” di bawah “Perintah dasar” di atas, kita melihat bahwa perintah aws ec2 describe-instances mengembalikan keluaran JSON yang panjang. Untuk mengurai keluaran ini dan memperoleh hanya yang diperlukan, kita dapat menggunakan flag --query atau perintah jq.

Lihat skrip otomasi di bagian “Mengotomatisasi tugas dengan AWS CLI” di atas untuk contoh penggunaan flag --query. 

Perhatikan bahwa perintah jq hanya berfungsi pada keluaran JSON. Jadi, konfigurasikan keluaran bawaan sebagai “JSON” atau tambahkan flag --output json untuk setiap perintah.

Verifikasi bahwa jq terpasang:

Dapatkan versi jq yang terpasang

Periksa versi jq.

# Get a list of all EC2 instances and filter only the instance ID and state
aws ec2 describe-instances | jq '.Reservations[].Instances[] | {InstanceId: .InstanceId, State: .State.Name}'

# Count the number of EC2 instances in the "running" state.
aws ec2 describe-instances --output json | jq '[.Reservations[].Instances[] | select(.State.Name == "running")] | length'

# Extract Lambda Function Names and their runtimes
aws lambda list-functions --output json | jq '.Functions[] | {FunctionName: .FunctionName, Runtime: .Runtime}'

Contoh perintah AWS CLI dengan jq

Perintah AWS CLI dengan jq.

Menggunakan AWS CLI dalam pipeline CI/CD

Kita dapat memanfaatkan AWS CLI dalam konfigurasi pipeline kita untuk mengotomatisasi interaksi dengan layanan AWS, seperti menerapkan dan memperbarui sumber daya AWS setiap kali pipeline CI/CD kita berjalan. 

Untuk contoh di bawah, saya akan menggunakan pipeline GitLab untuk mendemonstrasikan penerapan fungsi Lambda.

# .gitlab-ci.yml file configuration
stages:
  - demo-cicd

datacamp_job:
  image: registry.gitlab.com/gitlab-org/cloud-deploy/aws-base:latest
  stage: demo-cicd
  id_tokens:
    GITLAB_OIDC_TOKEN:
      aud: https://gitlab.com
  variables:
    ROLE_ARN: "arn:aws:iam::<AWS Account ID>:role/<Name of IAM Role that pipeline will use>"
    AWS_DEFAULT_REGION: "ap-southeast-1"
  script:
    - aws --version
    - >
      export $(printf "AWS_ACCESS_KEY_ID=%s AWS_SECRET_ACCESS_KEY=%s AWS_SESSION_TOKEN=%s"
      $(aws sts assume-role-with-web-identity
      --role-arn ${ROLE_ARN}
      --role-session-name "GitLabRunner-${CI_PROJECT_ID}-${CI_PIPELINE_ID}"
      --web-identity-token ${GITLAB_OIDC_TOKEN}
      --duration-seconds 3600
      --query 'Credentials.[AccessKeyId,SecretAccessKey,SessionToken]'
      --output text))

    - aws sts get-caller-identity
    - ls -l
    - aws lambda create-function --function-name <function name> --runtime python3.13 --role <ARN of IAM role that Lambda function will use> --handler index.lambda_handler --zip-file fileb://lambda.zip

    - unset AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_SESSION_TOKEN

Log job pipeline Gitlab yang memanfaatkan perintah AWS CLI

Log job pipeline GitLab.

Anda dapat memodifikasi konfigurasi pipeline untuk meneruskan parameter bersama perintah AWS CLI sebagai variabel dalam job pipeline alih-alih menuliskannya secara hard-code, seperti yang saya lakukan pada tangkapan layar di atas.

Dengan cara ini, kapan pun Anda ingin membuat fungsi Lambda, Anda dapat memasukkan dan melakukan commit variabel bersama konfigurasi pipeline Anda ke repositori Git.

Praktik Terbaik Menggunakan AWS CLI

Seperti semua praktik terbaik, berikan izin minimal yang diperlukan untuk melakukan tugas, terlepas dari apakah Anda menggunakan pengguna atau peran. 

Mari kita tinjau praktik terbaik lain yang spesifik untuk AWS CLI!

Menggunakan peran AWS IAM untuk keamanan

Peran AWS IAM menyediakan kredensial keamanan sementara untuk mengakses sumber daya AWS. Kredensial ini diputar secara otomatis dan dibatasi pada izin peran tertentu, sehingga mengurangi risiko yang terkait dengan access key jangka panjang.

Cara yang direkomendasikan untuk menggunakan peran adalah melalui peran yang dibuat dari IAM Identity Center, seperti yang ditunjukkan pada bagian “IAM Identity Center” di bawah “Menyiapkan kredensial AWS” di atas. Ini juga merupakan pendekatan yang direkomendasikan oleh AWS.

Tangkapan layar dari AWS tentang pendekatan yang direkomendasikan untuk akses terprogram

Pendekatan yang direkomendasikan oleh AWS. Sumber gambar: AWS.

Saat administrator Cloud membuat pengguna Anda melalui IAM Identity Center, mereka harus menetapkan permission set. 

Pengguna di IAM Identity Center

Pengguna di IAM Identity Center.

Untuk setiap permission set, AWS akan membuat peran IAM.

Permission set di IAM Identity Center

Permission set di IAM Identity Center.

Mengelola banyak profil

Kemungkinan Anda akan menangani lebih dari satu akun AWS di lingkungan kerja Anda. Kita menggunakan profil untuk mengonfigurasi beberapa set kredensial dalam file ~/.aws/credentials dan ~/.aws/config.

Pada bagian “Menyiapkan kredensial AWS” di atas, kita menjalankan perintah aws configure tanpa menentukan profil melalui flag --profile atau variabel lingkungan AWS_PROFILE. Maka, informasi kredensial dan konfigurasi ditambahkan ke profil default. Untuk menambahkan profil baru, Anda dapat menjalankan aws configure --profile <profile name> agar memiliki set kredensial terpisah di bawah profil baru.

# Create a new profile called “dev”
aws configure --profile dev

# To run AWS CLI commands using the dev profile instead of the default profile, set the AWS_PROFILE environment variable to “dev”. Alternatively, add the “--profile dev” for every AWS CLI command.
export AWS_PROFILE=dev

# Validate that the IAM identity under the new profile is returned
aws sts get-caller-identity

Kredensial baru di bawah profil baru

Kredensial baru di bawah profil baru.

Jaga AWS CLI Anda tetap terbaru

Penting untuk memperbarui AWS CLI kita guna memastikan interaksi yang efektif dengan layanan AWS dan memanfaatkan fitur serta peningkatan terbaru.

Jika Anda memasang AWS CLI menggunakan paket penginstal untuk Windows dan Mac, Anda harus mengunduh file ke komputer lokal dan menjalankannya. Memperbaruinya akan melalui langkah yang sama: Unduh dan jalankan paket penginstal terbaru. 

Jika Anda memasang AWS CLI via brew di Mac, pembaruan semudah menjalankan brew upgrade awscli. Di sini saya sudah memasang versi terbaru.

brew upgrade awscli

Keluaran perintah brew upgrade awscli.

Untuk Linux, langkah-langkahnya sama seperti saat memasang. Lihat cuplikan kode di bagian “Menginstal di Linux”. Ikuti perintah untuk mengunduh file zip, mengekstrak, dan menjalankan penginstal.

Pencatatan dan Pemecahan Masalah

AWS CLI adalah alat yang luar biasa, tetapi kita juga dapat menghadapi tantangan saat menggunakannya. Mari tinjau cara mengatasinya. 

Log riwayat CLI

Sesekali, kita mungkin lupa perintah dan parameternya yang pernah dijalankan sebelumnya atau ingin melihat keluaran dari perintah yang telah dijalankan. Mengaktifkan cli_history dapat mengatasi kekhawatiran ini. Untuk informasi lebih lanjut, lihat bagian “Opsi konfigurasi” di atas.

Kesalahan konfigurasi CLI

Saat Anda menemui kesalahan konfigurasi AWS CLI, menjalankan perintah aws configure akan membantu menentukan apakah CLI membaca informasi dari file credentials dan config Anda dengan benar.

Kesalahan konfigurasi AWS CLI

Galat “Unable to parse config file”.

# View configuration for the existing profile
aws configure list

# Verify credentials
aws sts get-caller-identity

# Verify configuration values
aws configure get region
aws configure get role_arn

# Review Environment Variables. Variables like AWS_PROFILE, AWS_ACCESS_KEY_ID, and AWS_REGION can override configuration
env | grep AWS

Kesalahan lainnya

Dalam kasus yang jarang, kita mungkin menemui kesalahan yang tidak diketahui saat mengeksekusi perintah AWS CLI. Untuk men-debug masalah dengan panggilan API atau mengumpulkan informasi lebih lanjut guna memahami kesalahan, menambahkan flag --debug ke perintah dapat membantu.

# Add the “--debug” flag
aws ec2 describe-instances --debug

Perintah AWS CLI dengan flag debug

Perintah AWS CLI dengan flag debug.

Informasi tambahan ini akan membantu Anda memahami dan memecahkan masalah.

Kesimpulan

AWS CLI adalah alat yang kuat yang memberdayakan Anda untuk berinteraksi dengan layanan AWS secara efisien, mengotomatisasi tugas rutin, dan mengelola sumber daya cloud dengan mudah. Dalam tutorial ini, saya mengajarkan cara menginstal, mengonfigurasi, dan menggunakan AWS CLI untuk melakukan operasi penting di beberapa layanan AWS umum.

Baik Anda pemula cloud maupun profesional DevOps berpengalaman, menguasai AWS CLI dapat meningkatkan produktivitas secara signifikan. Dari membuat dan mengelola sumber daya hingga mengotomatisasi deployment, kemungkinannya hampir tak terbatas dengan AWS CLI dalam peralatan Anda.

Luangkan waktu untuk bereksperimen dengan perintah, jelajahi kemampuan scripting lanjutan dalam pipeline Anda, dan integrasikan AWS CLI ke tugas sehari-hari Anda. Selamat bereksperimen di cloud!

Saya merekomendasikan untuk melihat AWS Cloud Practitioner skill track di DataCamp untuk menjadi ahli AWS.

FAQs

Mengapa saya harus menggunakan AWS CLI alih-alih AWS Management Console?

AWS CLI memungkinkan Anda berinteraksi dengan layanan AWS langsung dari terminal, sehingga memberikan kemampuan otomasi dan alur kerja yang lebih cepat, yang tidak mudah dicapai dengan AWS Console.

Apakah saya perlu memverifikasi checksum file setelah mengunduh paket penginstal dari AWS?

Meskipun tidak wajib, memverifikasi checksum paket penginstal adalah praktik yang baik.

Bagaimana cara memeriksa apakah AWS CLI sudah terpasang di lokal saya?

Buka terminal Anda, dan jalankan “aws --version”. Jika mengembalikan “aws-cli/x.x.x…”, AWS CLI sudah terpasang. Namun demikian, memperbaruinya ke versi terbaru adalah praktik terbaik.

Apa yang harus saya lakukan jika menemui kesalahan autentikasi atau izin saat menggunakan AWS CLI?

Kesalahan ini terjadi karena kredensial tidak benar atau izin tidak mencukupi. Periksa kembali access key AWS Anda, pastikan terkait dengan pengguna atau peran IAM yang benar, dan verifikasi bahwa kebijakan IAM Anda mengizinkan tindakan yang diperlukan. Jika Anda menggunakan peran dan session token telah kedaluwarsa, jalankan perintah “aws sso login”. Lihat bagian “Pengguna IAM Identity Center” untuk langkah terperinci.

Bagaimana saya dapat menggunakan AWS CLI untuk mengelola sumber daya di banyak region?

Anda dapat menentukan region AWS dalam perintah menggunakan flag “--region”, atau Anda dapat menetapkan region bawaan menggunakan perintah “aws configure”. Lihat bagian “Opsi konfigurasi” untuk informasi lebih lanjut.


Kenny Ang's photo
Author
Kenny Ang
LinkedIn

Seorang Engineer Infrastruktur Cloud dan DevOps berpengalaman dengan keahlian dalam Terraform, pipeline GitLab CI/CD, dan beragam layanan AWS, Kenny mahir merancang solusi cloud yang skalabel, aman, dan hemat biaya. Ia unggul dalam membangun infrastruktur yang dapat digunakan kembali, mengotomatiskan alur kerja dengan Python dan Bash, serta menanamkan praktik keamanan terbaik ke dalam pipeline CI/CD. Dengan pengalaman langsung yang luas di Kubernetes dan berbagai alat observabilitas, Kenny andal dalam mengelola dan mengorkestrasi microservices sekaligus memastikan observabilitas yang kuat serta pemantauan kinerja. Diakui atas kepemimpinan, mentoring, dan komitmennya terhadap inovasi, Kenny secara konsisten menghadirkan solusi andal dan skalabel untuk aplikasi cloud-native modern. Ia tetap berkomitmen untuk berada di garis depan tren industri dan teknologi yang muncul, terus memperluas dan memperdalam keahliannya.

Topik
Cloud
AWS

Pelajari lebih lanjut tentang AWS dengan kursus-kursus ini!

Kursus

Konsep Teknologi dan Layanan Cloud AWS

3 jam
22.3K
Kuasai teknologi cloud AWS melalui pembelajaran praktis dan penerapan langsung dalam ekosistem AWS.
Lihat DetailRight Arrow
Mulai Kursus
Lihat SelengkapnyaRight Arrow
Terkait

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

blogs

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

blogs

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

blogs

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

Lihat SelengkapnyaLihat Selengkapnya